Ir para conteúdo
Fórum Script Brasil

Paulo Nobre

Membros
  • Total de itens

    717
  • Registro em

  • Última visita

Tudo que Paulo Nobre postou

  1. Graymalkin, O componente SQLMemTable e SQLMemQuery não vem junto com o Delphi. São componentes avulsos que simulam um banco de dados enquanto o programa está aberto. Ao desligar você descarrega num arquivo dat os dados armazenados. Quem me recomemdou estes componentes foi o Capablanca, quando disse que gostaria de criar um programa para catalogar aniversariantes sem o uso de banco de dados. Desta forma não há necessidade de BDE, outras coisas mais e portanto o programa fica bem pequeno. Um exe e um dat. Claro que não se trata de nenhuma aplicação robusta. Desta forma não sei se um arquivo dat iria aguentar. s3c, Este componente(SQLMemTable) é meio fresco, na verdade não é ele e sim o dat. Por exemplo, este programa simples que fiz para minha filha cadastrar contatos tem um campo chamado email. Havia colocado distraidamente size 20 para este campo. Pouco, pois algumas pessoas possuem é claro um email maior. Quando fui consertar e tentar recompilar o dat não muda pois foi criado com o campo de 20, ou seja, como minha filha já havia cadastrado 16 pessoas tive que jogar este dat fora e recriar um novo. Aí sim o campo passou a funcionar com 30. Portanto não estou querendo alterar nada que possa ter que mudar o dat ou o visual do programa.Pelo que entendi de você, com o DBGrid não é possível fazer nada, então deixarei este programa assim mesmo sem ordem alfabética. Obrigado a vocês, Graymalkim e s3c, sempre ajudando muuuiiitoooo. Abraços Paulo Nobre
  2. Obrigado Graymalkin, mas teria como fazer isto sem usar SQL. Meu projeto usa um componente SQLMenTable apenas, que faz uso de um arquivo dat. Paulo Nobre
  3. Tenho um dbgrid1 com dois campos aparecendo ; nome e telefone. Os campos vão sendo mostrados de acordo com a ordem de cadastramento. Como poderia fazer para que os nomes fossem mostrados em ordem alfabética? Obrigado Paulo Nobre
  4. Não tenho urgência não. Estarei aguardando. Abraços Capablanca
  5. Olá Capablanca No programa que voce me passou ao abri-lo ele carrega no dbgrid os valores armazenados no arquivo dat. Como você mesmo disse no oncreat é feita uma chamada ao dat. Quando usamos o programa pela primeira vez como não tem dat ou não tem nada no dat ele dá erro. O que eu queria saber é o seguinte: 1) Como este dat é criado? 2) No programa que voce passou ele já estava lá com exemplos cadastrados, mas quando voce esta com oprograma sem ninguém cadastrado,como ele aparece lá? Por exemplo vai naquele programa,do jeitoque está, apaga todos os aniversariantes cadastrados e apga no diretorio do programa o arquivo dat. Agora abre o programa que ele dará erro. O que eu gostaria de ter é: 1) Como você mesmo colocou; o dbgrid lendo os registros do dat no oncreat. 2) Passar os registros para o dat assim que gravar e não no onclose. (Tentei mas nãoestou me acertandocom o codigo) abraços PauloNobre
  6. Valeu, Program amador Paulo Nobre
  7. OLÁ, S3C OBRIGADO, VOU TENTAR. ESTE COMPONENTE FUNCIONA COMO UM BANCO DE DADOS, ENQUANTO VOCÊ ESTÁ USANDO O PROGRAMA. AO FECHÁ-LO OU MANDAR GRAVAR ELE TRANSFERE OS DADOS ARMAZENADOS PARA UM ARQUIVO DAT.
  8. Entãoo certo seria Perform(WM_NextDlgCtl,0,0);?
  9. Estou usando este código para trocar tab por enter if key = #13 then begin Perform(WM_NextDlgCtl,9,0); key:= #0; end; No meu caso ele está apresentando problema. A mudança de campos está sendo de trás para frente, ou seja, Com tab vou do campo 1 para o 2, para o 3 etc.. Com enter ao invés de ir de 1 para 2 para 3 é feito o contrário; de 3 para 2 para1. Alguém sabe dizer o que está acontecendo. Na propriedade order do tab está tudo normal. Sei que existem variações de código para trocar enter por tab, mas gostaria de saber porque este código está dando errado. Se é que é o código. Obrigado Paulo Nobre
  10. Tenho um programa que não usa banco de dados e sim um arquivo dat. O componente usado é o SQLMemTable, que simula um dataset. Coloquei simula já que não existe banco de dados formal. Gostaria de saber como este arquivo dat poderia ser introduzido no programa. Se coloco ele antes de ter o primeiro registro dá erro. Pois ele precisa ler o dat para importar as informmações ao abrir. A única saída que encontrei foi colocar ele,por exemplo info.dat, criar um primeiro registro, fechar o programa.Colocar no cõdigo a chamada a ele ao abrir e assim nãodaria mais erro pois ele teria sido criado. Nãosei se deu para entender. Gostaria de saber como criá-lo para este tipo de programa? E fora deste programa como criar um dat em tempo de execução? Obrigado PauloNobre
  11. Você poderia fazer isto via programação, que não é muito fácil de entender para quem está começando como eu (ctrl+c e ctrl+v é mole, dificil é entender porque funciona), ou então usando o componente RXTrayIcon da biblioteca RXLib. Quando você instala a RXLib, aparece na paleta de componentes duas novas abas: RXControls e RXTools. O componente RXTrayIcon se encontra na aba RXTools. Este componente você encontra facilmente na REDE, digite por exemplo, num site de busca RXLib. Tome cuidado apenas na hora de baixar para ver se está de acordo com a versão do seu DELPHI. A um tempo atrás tive dúvida de como instalar este componente e um ex colaborador deste forum, que se intitulava s3c, me passou o seguinte roteiro(tenho o delphi 7): "Bom, descompacte o .zip, abra o Delphi, file/Close All. File/Open RxCtl7.dpk (na pasta RxLib\Units). Clique em Options/Description flegueDesigntime and Runtime e Rebuild as Needed. Depois vá em Directories/Conditionals e preencha Output Directory, Unit Output Directory e DCP Output Directory com C:\...\RxLib Em Search Path coloque C:\...\RxLib\Units. Dê Ok e clique em Compile, se compilação Ok, clique em Install. Feche a janela(vai pedir p/ salvar as alterações) e salve. Faça o mesmo com dclrx7.dpk. Se tudo Ok vão ser colocadas 2 guias na paleta de componentes, RX Controls e RX Tools; o TrxGifAnimator está na RX Controls. Esqueci de dizer, quando você abir o .dpk, provavelmente dará um erro de Cannot find resource file, mas é só dar Ok." Com este roteiro passado pelo s3c consegui instalar e aprender. Qualquer dado a mais pesquise aqui no forum que você encontra o acompanhamento da questão acima entre eu e o s3c. O componente é bem intuitivo e com um pouco de esforço você conseguirá instalá-lo e usá-lo. Vale o investimento do esforço. Desculpe se não ficou muito claro, mas estou começando com o Delphi e não tenho muita experiência. Paulo Nobre
  12. O que seria a área de notificação do windows? Paulo Nobre
  13. Prezados amigos Vejam se decifram estes "enigmas", por favor. Tenho um programa que serve para instalar alguns programas que tenho, isto é, fiz um programa que é uma janela com botões, que é chamado com um autorum, quando o usuário insere o CD. Esta janela ao ser aberta toca uma música, que foi copiada para o cd junto com o exe desta janela, o arquivo de autorum e as pastas dos programas que serão instalados. Vejam o código de chamada da música: procedure TfrmInstalador.FormShow(Sender: TObject); begin Caminho:= ExtractFilePath(Application.ExeName)+'\Som.wav'; SndPlaySound(pChar(Caminho), SND_ASYNC ); end; No meu caso como o aplicativo fica no CD, seria: Caminho:= 'D:\Som.wav'(onde D é o drive de Cd do usuário) O Mistério(que não chega a ser nenhum problema): Se retiro o CD(lembre-se que as pastas com os programas a serem instalados e o arquivo da música estão no CD) a janela do programa que dá acesso as instalações continua aparecendo (memória de vídeo, acho), ao clicar nos botões para instalar os programas nada acontece(claro, os programas estão no CD e o CD foi retirado). Agora o mistério, pelo menos para mim; A música não para, continua tocando. Só para se fecho a janela. Como pode, se a música está no CD e não foi copiada para nenhum lugar? O problema: Em computadores com windows 98 (do meu trabalho) a música não toca quando ensiro o CD. Tentei trocar o código de formShow para formActive, achando que poderia ser este o problema, mas nada deu certo. Acredito que nada tem a ver com o código! (será?). Mas não consigo descobrir porque? Será que tem a ver com o tipo de CDRom? Testei em 4 na empresa (com WIn98) e não funciona. Com XP funciona. Alguém que já tenha feito este tipo de sistema(janela para instalação) já teve este problema. Estou com este problema a muito tempo e não consigo resolver. O engraçado é que tenho um programa deste parecido, feito em VisualBasic, que funciona nestes CDRom com win98 da empresa. Agradeço muito a quem puder resolver este problema!! Paulo Nobre
  14. Muito Obrigado Capablanca, Como sempre, suas explicações claras e didáticas. Para nós que inciamos na programação isto é fundamental. Seguirei a sua segunda sugestão. Abs Paulo Nobre
  15. Tenho um programa, que compara a data do sistema com as datas de aniversário de uma tabela. As datas da tabela estão no formato dd/mm/aaaa. Onde fiz o programa as configurações regionais estão configuradas de tal maneira que a data do sistema se encontra neste formato, desta forma o programa funciona normalmente. Para minha surpresa no meu outro computador, quando fui testar (todos com XP) o programa não funcionou direito, desconfiei e vi nas configurações regionais que o formato para a data do sistema estava na forma d/m/aaaa, e portanto incompatível com o que programei. Você já devem estar imaginando a pergunta: Como posso prever isto na programação? Tem como alterar isto via programação? Vi no site do capablanca como alterar as configurações regionais, mas acho que não se aplica ao meu caso. E caso se aplique não enendi como fazê-lo. Mesmo fazendo não seria um abuso mudar isto no computador de uma pessoa? O que vocês acham? Podem me ajudar? Obrigado Paulo Nobre
  16. Muito Obrigado, Capablanca. PauloNobre
  17. Valeu, Program-amador. Obrigado pela resposta. Paulo Nobre
  18. Alguém poderia indicar um endereço para obtenção de bitmaps para colocar em botões etc... Aproveito para fazer a seguinte pergunta: Por que, quando colocamos os bitmaps que vem junto com delphi eles aparecem duplicados, com aquela segunda imagem que parece uma sombra? Paulo Nobre
  19. Sim,podemosconsiderar como resolvido. Paulo Nobre
  20. Prezado Capablanca, Obrigado Consegui instalar o componente e agora só falta estudar o programa. Na realidade como você usa alguns comandos SQL, verei se tomo vergonha e estudo um pouco de banco de dados. A propósito, quando mandei o terceiro email eles me mandaram a senha para destravar. Paulo Nobre
  21. PrezadoCapablanca, Como havia mencionado acima baixei o componente, mas o problema é que eles não enviam o código. Dizem que vão enviar e não enviam. Já mandei dois email diferentes e nada. Por isso perguntei a você se poderia me enviar o código, já que o componente é free. Paulo Nobre
  22. PrezadoCapablanca, Parece que tem instalador sim,só que precisa de uma senha que eles dizem mandar para o email cadastrdo. Mandei dois emails e nãomandaram nada. Você poderia memandar esta senha? Obrigado PauloNobre
  23. Prezado Capablanca, Muito obrigado pelo seu exemplo,ficou com o visual muito bonito e funcional. Vou baixá-lo e estudá-lo no final de semana. Você poderia me dar um roteiro (qaundo tiver tempo)de como instalar este componente. Com certeza com sua ajuda irei aprender mais desta maravilhosa ferramenta que é o DELPHI. Abs Paulo Nobre
  24. Prezado Capablanca, Consegui fazer o programa(simples sem muitos recursos, mas atende por enquanto o que quero) da seguinte maneira: 1) O programa roda no tray.(usei o componente da RXLib) 2) Existe um submenu que chama uma janela que faz catalogar o nome e data de nascimento do aniversariante).Após digitar nos dois edits o nome e a data de nascimento clica-se no botão catalogar(principal do programa) , que faz o seguinte: a) Registra num arquivo txt o nome e a data de nascimento. Numa outra janela(mostrar aniversariantes), que também pode ser chamada pelo submenu, dentro de um lisbox também é registrado o nome e a data de nascimento do aniversariante. 3)Coloco um timer, para depois de 2 minutos(do programa aberto) no evento ontimer comparar a data do sistema com todas as datas que aparecem no listbox. Neste caso uso uma função que verifica se a substring(por exemplo 19/09) está dentro da string do listbox. Se for verdadeiro aparece uma caixa de dialogo do tipo messagebox informando. 4)É claro que existe a opção de inicializar com o windows, para ficar melhor. 5) Funcionou, mas a única coisa que vou tentar melhorar(ainda não pensei) é como apagar algum aniversariante. Por enquanto o usuário tem um sub menu - apagar aniversariante - que abre o txt que contém a lista de todos os aniversariantes catalogados. Neste caso é orientado a apagar toda a linha com cuidado e na próxima vez que usar o programa ele não estará mais na listbox, já que ela preenchida no evento oncreat do form. Sei que esta parte não está muito profissional nem elegante, mas foi a solução inicail para completar o programa. Obrigado pelas suas dicas Paulo Nobre
×
×
  • Criar Novo...