Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Mensagens - fpissarra

Páginas: [1] 2 3 ... 18
1
Programação e Scripts / Re: gdb e gtk?
« Online: 19 de Novembro de 2012, 10:29 »
Olá, então... estou me divertindo aqui com o gtk-2.0, mas quando debugo com o gdb, percebo que no "laço" do programa não tenho a tela (do gdb) pra fazer os testes internos, sendo que já defini os breakpoints nas linhas pretendidas.

Isso é coisa do gdb, ou qual pode ser o erro?  ???

Procedimentos: Compilado com opção para o debug (-g), gtk-2.0, uso gcc no ubuntu 10.10.

Fico por aqui, só na ansiedade...

Provavelmente você está usando as libs de produção... baixe as libs de debugging e compile de acordo..

[]s
Fred

2
Programação e Scripts / Re: Replace
« Online: 11 de Outubro de 2012, 10:54 »
Galera, não sei se to postando no lugar certo, sou novo por aqui :P

Eu to com um problema numa SQL que tenho que trocar o "`" por "" , sendo que são muitos campos, e queria saber
se tem algum comando de replace pelo terminal, ou algum programa msm que eu possa copiar o codigo lá e ele fazer esse replace ...

Att, Rodrigo Sena.

Dê uma olhada no 'sed'.

Coloque um exemplo (pequeno) do SQL que vc quer manipular...

3
Programação e Scripts / Re: instalar SDL
« Online: 23 de Setembro de 2012, 11:55 »
Ele está reconhecendo a biblioteca agora mas as funções não:

Ok... e como é que você está compilando isso?

4
Programação e Scripts / Re: instalar SDL
« Online: 22 de Setembro de 2012, 19:12 »
Olá pessoal, alguém poderia me dizer como eu faço para instalar a SDL, já baixei ela com o apt-get mas não to consiguindo usar...

Como é que vc instalou via apt-get? Instalou o pacote de desenvolvimento também?

5
Só adicionei um include (de stdlib.h) para prover a constante NULL, em Node.h e compilou legalzinho...

Mas, vc tem que compilar assim:

Código: [Selecionar]
$ g++ -c *.cpp
$ g++ -o main Main.o Stack.o Node.o

Compilar só o Main.cpp não vai adiantar nada!

[]s
Fred

6
Programação e Scripts / Re: Lista encadeada com erro
« Online: 11 de Setembro de 2012, 22:32 »
Se seu objetivo é criar uma "lista ordenada", não seria melhor usar uma árvore binária?

Ou isso ai é trabalho de escola?

7
Isso acontece porque stdin pode ser bufferizado ou não, dependendo da configuração específica do terminal. De fato, a manpage sobre gets recomenda NÂO usar gets() por ser sucetível a buffer overuns. As observações sobre stdin na manpage 'stdin' (livro 3) falam sobre a bufferização de stdin.

É recomendável, neste caso, o uso de scanf() para ler a string, inclusive especificando o tamanho máximo da string (19 chars, no seu caso):

Código: [Selecionar]
scanf("%19s", empregados[i].nome);
Outra coisa... fazer flush de stdin não adianta muita coisa, já que o flush é, provavelmente, feito a partir do momento em que vocẽ digita o <ENTER>. O fflush será útil, no entanto, se você o fizer sobre o stdout, já que ele é bufferizado por linha - isto é, o buffer só será descarregado (flushed) automaticamente se for encontrado um '\n' ou quando o buffer ficar cheio.

Assim, troue seu gets() pelo scanf(), como mostrado acima, e troque seus "fflush(stdin)" por "fflush(stdout)".

[]s
Fred

8
Programação e Scripts / Re: Extrair texto entre tag HTML
« Online: 29 de Agosto de 2012, 16:23 »
Dê uma olhada no 'sed'. No exemplo abaixo, uma maneira de fazer é:

Código: [Selecionar]
$ sed -n '/<div id="divConteudoDescricaoTarefa".*>/,/<br>/ {
s/<div.*">//
s/<br>.*//
p }' test.html

Isso separará as linhas entre <div id="divConteudoDescricaoTarefa" e <br> e retirará o div e o br.

O resultado vai ser o texto COMO está (com carriage returns e tudo mais).

9
Dê uma olhada na saída de cpp -v também:

Código: [Selecionar]
$ cpp -v
Using built-in specs.
COLLECT_GCC=cpp
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
COLLECT_GCC_OPTIONS='-E' '-v' '-mtune=generic' '-march=x86-64'
 /usr/lib/gcc/x86_64-linux-gnu/4.6/cc1 -E -quiet -v -imultilib . -imultiarch x86_64-linux-gnu - -mtune=generic -march=x86-64 -fstack-protector
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/gcc/x86_64-linux-gnu/4.6/include
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/4.6/include-fixed
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.

A partir da versão 4.4.3 do gcc vc sempre pode definir uma variável de ambiente C_INCLUDE_PATH e CPP_INCLUDE_PATH com os paths para os headers que você quer que sejam "padrão" para o gcc e g++, respectivamente.

10
Programação e Scripts / Re: Loop for, problema em fazê-lo funcionar
« Online: 09 de Julho de 2012, 09:18 »
Usei um array, tanto faz o IFS depois, mas sim no bash só é alterado pro comando.
Citar
IFS=\| arquivos=($(zenity --file-selection --multiple --title "Selecione os arquivos que quer converter: "))
Ops! É mesmo! Sorry... ficou legal!

11
Programação e Scripts / Re: Loop for, problema em fazê-lo funcionar
« Online: 08 de Julho de 2012, 13:15 »
Funciona e é útil, por exemplo (nada de ponto e vírgula ou nova linha separando a variável)
Código: [Selecionar]
echo $LANG
LANG=en_US.UTF-8 __aplicativo__ &
echo $LANG
Executa __aplicativo__ com a língua inglesa como padrão, como foi executado em subshell, a variável $LANG permanece com o valor anterior no shell atual.
De fato, é um recurso interessante... mas o IFS só será setado na execução do zenity, não? O loop for continuará separando as strings por espaços, tabs e \n...

12
Programação e Scripts / Re: Loop for, problema em fazê-lo funcionar
« Online: 08 de Julho de 2012, 10:51 »
Funciona e é útil, por exemplo (nada de ponto e vírgula ou nova linha separando a variável)
Código: [Selecionar]
echo $LANG
LANG=en_US.UTF-8 __aplicativo__ &
echo $LANG
Executa __aplicativo__ com a língua inglesa como padrão, como foi executado em subshell, a variável $LANG permanece com o valor anterior no shell atual.

Hummmmm.... interessante!

13
Programação e Scripts / Re: Loop for, problema em fazê-lo funcionar
« Online: 07 de Julho de 2012, 21:00 »
Não é necessário, do jeito que passei tem que funcionar, por isso pedi pra ver o código, ele errou ao copiar ou coisa do tipo.

Irtigor... Isso aqui:

Código: [Selecionar]
IFS=\| arquivos=($(zenity --file-selection --multiple --title "Selecione os arquivos que quer converter: "))
Como está, com certeza não deve funcionar. Não, sem, pelo menos, um ponto-e-virgula depois de '|'.

14
Programação e Scripts / Re: Loop for, problema em fazê-lo funcionar
« Online: 07 de Julho de 2012, 12:44 »
Olá irtigor, adaptei sua dica para meu script e a saída do "bash -x" foi:

Código: [Selecionar]
mp3.sh: linha 49: ${$arquivos[@]}: substituição incorreta

Talvez isso ajude:

Código: [Selecionar]
OLDIFS=$IFS
IFS=$'|'
arquivos=$(zenity --file-selection --multiple)

for i in $arquivos; do
  // faz algo com $i aqui.
done

IFS=$OLDIFS

No post do irtigor, só faltou um salto de linha depois do ajuste da variável IFS.

15
Programação e Scripts / Re: chmod
« Online: 26 de Junho de 2012, 17:03 »
O Tota já te respondeu, mas eis mais algumas considerações... Suponhamos que eu crie o seguinte script (e chamá-lo de test.sh):

Código: [Selecionar]
#!/bin/bash
echo Ola!

Eis o que acontece:

Código: [Selecionar]
$ ls -l test.sh
-rw-rw-r-- 1 frederico frederico 23 Jun 26 16:57 test.sh
$ ./test.sh
bash: ./test.sh: Permission denied
$ chmod +x test.sh
$ ls -l test.sh
-rwxrwxr-x 1 frederico frederico 23 Jun 26 16:57 test.sh
$ ./test.sh
Ola!
$

Note que sem o atributo 'x', o script não pode ser executado. Só depois de ajustar o atributo é que o shell irá interpretar o script.
Você ainda pode dar permissão de execução para o dono do arquivo, para o grupo ao qual o dono do arquivo pertence e aos outros usuários, individualmente. Por exemplo, ao invés de usar "+x" no chmod, podemos fazer:

Código: [Selecionar]
$ chmod u+x test.sh
$ ls -l test.sh
-rwxrw-r-- 1 frederico frederico 23 Jun 26 16:57 test.sh

[]s

Páginas: [1] 2 3 ... 18