Ir para conteúdo
Fórum Script Brasil

José Luiz

Membros
  • Total de itens

    98
  • Registro em

  • Última visita

Tudo que José Luiz postou

  1. Jhonas, Este tópico já tinha sido dado como resolvido. Não sabia se devia reabrí-lo ou iniciar um novo tópico, por isso estou iniciando um novo. Aproveitei o fim de semana para fazer um primeiro programa de teste, porém não consegui utilizar o FindKey utilizando o SortedFields. Fazendo verificações, notei que o Table1.SortedFields faz somente uma ordenação no DBGrid, como se eu fizesse um select order by, visto que posso colocar botões para qualquer um dos campos, mesmo que não estejam indexados. ( por isso o tempo de resposta é superior ao do Paradox ) Mesmo utilizando simultaneamente o Table1.IndexFieldNames , não consigo localizar um registro rapidamente, como faz o FindKey. Acredito que neste caso deva utilizar o Locate, e mesmo neste caso não consegui a forma de utilizá-lo. Mais uma vez obrigado José Luiz. Procurei localizar livros, e até mesmo cursos em Curitiba que contivessem Delphi e MySQL, mas não consegui. ( principalmente MySQL com Table). Desculpe se eu insisto na utilização de Tables, porém tenho muitos programas utilizando Tables, e nestes casos a migração para o MySQL ficaria muito mais rápida. Você tem alguma indicação de livros ou apostilas que discorram sobre este assunto ? Obrigado.
  2. Perfeito. Muito Obrigado, Valeu mesmo. Não é tão rápido como no Paradox que é instantâneo, mas resolveu a minha maior dificuldade para começar com o MySQL. Abraços, José Luiz.
  3. Jhonas, mais uma vez obrigado por seu interesse em ajudar. O texto realmente esclareceu algumas dúvidas que eu tinha com relação aos índices, e confirmaram o que eu imaginava que ocorria com os índices utilizando a ZQuery. Desde que o componente Zeus permite a utilização de ZTable, não deveria também utlilizar os índices nesta forma ? É essa a resposta que eu gostaria. Quando Clico no Componente ZTable, nas propriedades do Object Inspector aparece a Propriedade IndexFieldNames, mas não adianta colocar o índice, que no DBGrid, os dados não aparecem ordenados. Desculpe se eu insisto, mas não gosto de trabalhar com comandos SQL. Só vou passar a utilizá-los, se realmente não houver outra opção disponível. Novamente Obrigado, José Luiz.
  4. Coloquei 4 botões, com as seguintes instruções: procedure TF_INICIO.BitBtn1Click(Sender: TObject); begin pessoas.IndexFieldNames := 'id'; end; procedure TF_INICIO.BitBtn2Click(Sender: TObject); begin pessoas.IndexFieldNames := 'nome'; end; procedure TF_INICIO.BitBtn3Click(Sender: TObject); begin pessoas.IndexFieldNames := 'Endereco'; end; procedure TF_INICIO.BitBtn4Click(Sender: TObject); begin pessoas.IndexFieldNames := 'CEP'; end; Quando clico nos botões não acontece nada. Quando eu abro a tabela pessoas no MySQL, os índices abrem junto ( como no paradox ), ou existe outra forma de abrir os índices ? Confirmei através do SQL-Front, e os índices existem. Obrigado, José Luiz.
  5. Delphi 7 com Zeos, utilizando TZConnection, TZTable e TDataSource. Obrigado.
  6. _sql:= ' select livro,colecao from tabela where livro = + quotedstr(edit1.text) Pelo que pude notar, faltou fechar as aspas depois do igual _sql:= 'select livro,colecao from tabela where livro = ' + quotedstr(edit1.text) Abraços, José Luiz.
  7. Estou tentando utilizar o Banco de Dados MySQL ( InnoDB ), porém tenho algumas dúvidas. Criei uma tabela de Clientes, que contém campos indexados por CODIGO, NOME, CEP e CPF. Em um Form, coloquei um DBGrid, acessando a tabela como Table ( não como SQL ). Como faço para trocar o índice corrente, clicando no Título como faço com o Paradox ? No Paradox, coloco no onTitleClick if Column.Field.DisplayName = 'CODIGO' then Table1.IndexFieldNames := 'CODIGO' ; if Column.Field.DisplayName = 'NOME' then Table1.IndexFieldNames := 'NOME' ; if Column.Field.DisplayName = 'CEP' then Table1.IndexFieldNames := 'CEP' ; if Column.Field.DisplayName = 'CPF' then Table1.IndexFieldNames := 'CPF' ; DBGrid1.SetFocus; Com este procedimento simples, troco o índice que está sendo utilizado e permaneço no mesmo registro que estava anteriormente. Não sei como alterar o índice no MySQL. Obrigado, José Luiz
  8. Muito obrigado pelas respostas. Ajudaram muito na minha escolha. José Luiz.
  9. Estou pensando em trocar meu Notebook, e achei um com o Windows 7 64-Bit. Utilizo atualmente o Delphi 7, e estou pensando em passar para o 2010. Existe alguma incompatibilidade entre este sistema e o Delphi ? Obrigado, José Luiz
  10. Perfeito, muito obrigado por mais essa dica. Abraços, José Luiz
  11. Jhonas, obrigado por sua respossta, porém tenho dois problemas: 1 ) não sei como criar um componente ancestral, portanto optei pela segunda opção. 2 ) baixei o arquivo indicado, adicionei ao projeto, mas não sei como devo utilizá-lo. Se puder dar mais informções, agradeço. Abraços, José Luiz
  12. Para a imagem aparecer inteira, coloque Proportional := True Abraços, José Luiz.
  13. Coloque JPEG no uses, que irá funcionar. Abraços, José Luiz.
  14. Faltou fechar os parênteses. Colocar o ')' de fechamento, antes do then. Abr. José Luiz
  15. Em um Form, é possível fazer um retângulo com cantos arredondados, utilizando na ferramenta Shape, a forma stRoundRect. Como posso fazer o mesmo no QuickReport, se só tenho no QRShape, a opção qrsRectangle ? Obrigado, José Luiz.
  16. Obrigado por sua resposta, mas neste caso a tabela será utilizada apenas para trazer as preferências de cada usuário. Serve somente para saber se o usuário já está sendo utilizado em outra máquina, ou seja, crio uma Tabela com o nome de cada usuário, e abro de modo exclusivo, o que impede que a mesma senha seja utilizada em outro computador ao mesmo tempo. Para isso, preciso verificar se o arquivo já está aberto, antes de abrí-lo. Caso o usuário tente usar a mesma senha em outro micro da rede, deverá receber uma mensagem de que o usuário já está sendo utilizado em outra máquina, e encerrar o programa. Sei que existem outras formas, porém desta maneira consigo criar um sistema eficiente de controle de utilização. Obrigado, José Luiz.
  17. Tenho uma rotina onde abro uma tabela paradox de modo exclusivo. No caso de um outro usuário tentar entrar na mesma rotina, o programa irá gerar um erro, pois o arquivo já está aberto. Como posso testar se a tabela já está aberta, antes que o Delphi gere o erro ? Não sei qual comando devo utilizar para verificar se o arquivo já está aberto, antes de abrí-lo. Obrigado, José Luiz.
  18. Obrigado por sua resposta, vou tirar a senha. José Luiz
  19. Criei um banco de dados com senha para não permitir o acesso através do DataBase Desktop, porém eu gostaria de abrir o banco através do programa, sem que fosse necessário digitar a senha. Qual comando devo utilizar ? Obrigado, José Luiz.
  20. Jhonas, Descobri uma rotina que faz parte do que eu desejo. ActiveControl - Envia valor para Edit que tiver em foco Verifica se o componente que está com o foco é da classe do TEdit, se for envia um Texto para esse componente. procedure TForm1.SpeedButton1Click(Sender: TObject); begin if (ActiveControl is TEdit) then (ActiveControl as TEdit).Text := 'Teste'; end; Funciona para outros componentes, trocando a propriedade Text utilizado neste exemplo pela propriedade do outro componente. Desta forma, consigo escrever no Edit que está no foco, mas ainda não sei como pegar o texto que está nesse Edit, e enviá-lo alterado no lugar da palavra 'Teste' do exemplo acima. Obrigado, José Luiz.
  21. Jhonas, obrigado por sua resposta ( muito interessante a forma colocada ), porém não atende ao que eu necessito. No caso mostrado, se eu desejar digitar tudo em caixa alta, terei problemas, além do fato que eu precisarei repetir o ONKEYPRESS em todos os edits do programa. O que eu gostaria de obter é o seguinte. A tecla F9 chama uma função que verifica qual o Edit do programa ( em todos os Forms do programa ) que está em foco no momento, e devolve a String invertida para esta mesma Edit. Desta forma, eu só preciso fazer o chamado a esta função uma vez, no início do programa. Obrigado, José Luiz. PS. Eu tenho esta rotina em Clipper, e estou tentando levar para o Delphi. No Clipper, basta eu colocar no início do programa Set Key -8 to Inverte_CX que o programa se encarrega do restante. ( a função Inverte_CX já está em um arquivo que eu chamo em todos os programas, ou melhor, chamava ! - No Delphi eu tenho um arquivo semelhante. )
  22. É muito comum as pessoas digitarem um texto, e só após algum tempo notarem que estão com a Caps Lock acionada. Para não ter que apagar e escrever tudo novamente, estou tentando fazer com que isto possa ser feito de forma automática, apenas pressionando a tecla F9, por exemplo. Para testar, fiz uma rotina bem simples, que necessito de ajuda para completar. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Function Inverte_CX ( TEXTO : string ): string ; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } procedure WMHotKey ( var Msg: TWMHotKey ); message WM_HOTKEY ; end; var Form1: TForm1; HKeySet9 : Integer; implementation {$R *.dfm} procedure TForm1.WMHotKey ( var Msg: TWMHotKey ); begin if ( Msg.HotKey = HKeySet9 ) then begin if Edit1.Focused = True then Edit1.Text := Inverte_CX ( Edit1.Text ) ; if Edit2.Focused = True then Edit2.Text := Inverte_CX ( Edit2.Text ) ; if Edit3.Focused = True then Edit3.Text := Inverte_CX ( Edit3.Text ) ; if Edit4.Focused = True then Edit4.Text := Inverte_CX ( Edit4.Text ) ; end ; end; Function TForm1.Inverte_CX ( TEXTO : string ): string ; var mVAR_I : String ; mVAR_F : String ; mVAR_R : String ; mPOS : Integer ; i : Integer ; begin mVAR_I := 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÇÃÕçãõÁÉÍÓÚáéíóú' ; mVAR_F := 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZçãõÇÃÕáéíóúÁÉÍÓÚ' ; mVAR_R := '' ; for i := 1 to length ( Texto ) do begin mPOS := Pos ( Texto, mVAR_I ) ; if mPOS > 0 then mVAR_R := mVAR_R + Copy ( mVAR_F, mPOS, 1 ) else mVAR_R := mVAR_R + Texto ; end ; result := mVAR_R ; end ; procedure TForm1.FormCreate(Sender: TObject); begin HKeySet9 := GlobalAddAtom ( 'Hotkey9' ); RegisterHotKey ( Handle, HKeySet9, 0, vk_F9 ); end; end. Neste caso, tenho 4 Edits, e preciso fazer a verificação de qual Edit está no foco para então alterá-lo. A minha dúvida, é como fazer isto de forma automática, ou seja, o programa verifica qual Edit ou DBEdit está no foco, e retorna a String alterada para este campo, em qualquer lugar do programa, sem que eu necessite efetuar manualmente a verificação de qual Edit está no foco. Antecipadamente, agradeço, José Luiz.
  23. José Luiz

    Windows 7

    Obrigado, Alberto. Resolveu no DBGrid, mas quando pego os valores dos campos para jogar em um Edit, continua vindo invertido ( m/d/aaaa ). Espero que a Microsoft resolva este problema antes da liberação da versão definitiva. Abraços, José Luiz.
  24. Estou testando o Windows 7, porém não consigo formatar as datas no Delphi. Já configurei a data no Painel de Controle - Configurações Regionais. Já rodei os programas como administrador. Já rodei no modo de compatibilidade com o Windows XP, e nada adianta. Configurei no painel de controle, o mês como dd/mm/aaaa, e quando abre o programa, a data vem como m/d/aaaa. Alguém sabe como resolver ? Obrigado, José Luiz.
  25. Outra forma, é a seguinte: Depois de abrir o banco de dados, coloque : ( Table1.FieldByName ( 'VALOR' ) as tfloatfield ).displayformat := '###,##0.0000' ; Não esqueça de colocar DB no uses. José Luiz
×
×
  • Criar Novo...