
ZueRa
Membros-
Total de itens
141 -
Registro em
-
Última visita
Tudo que ZueRa postou
-
Bom dia, vamos lá amigo. você Pode fazer assim: para que o usuário digite somente letras procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (key in ['A'..'Z', 'a'..'z']) then begin Application.MessageBox('Somente palavras por favor.','titulo',MB_ok + MB_defbutton1 + MB_iconexclamation); Edit1.Text := ''; Abort; end else begin //outros procedimentos //por exemplo: Showmessage('Correto!'); end; end; para apenas números procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin //if not (key in ['A'..'Z', 'a'..'z']) then if not (key in ['0'..'9']) then begin Application.MessageBox('Somente números por favor.','titulo',MB_ok + MB_defbutton1 + MB_iconexclamation); Edit1.Text := ''; Abort; end else begin //outros procedimentos //por exemplo: Showmessage('Correto!'); end; end; Ambos como pode ver foram testados no evento OnKeyPress do TEdit. Adapte a sua utilização. Grande abraço!
-
Qual versão do Delphi você usa? Se for Delphi 7: http://www.veloso.adm.br/download/pacotecjvd7sf.zip Links: http://www.veloso.kit.net/pacotecjv.html abraço!
-
(Resolvido) criar um procedimento localizar
pergunta respondeu ao Livio Neiva de ZueRa em Delphi, Kylix
Olá amigo, boa tarde. Tente assim: procedure TF_dados.procura; begin if (editProcura.Text <> '') then begin if (ncol = '') then Application.MessageBox('Primeiro Selecione uma Coluna para Realizar a Consulta','Clique em um Título',MB_OK + MB_IconError) else begin F_dados.Q_Produto.Close; F_Dados.Q_Produto.SQL.Clear; F_Dados.Q_Produto.SQL.Add('select * from produto where '+ QuotedStr(nCol) +' like '+ QuotedStr('%' + editProcura.Text + '%')); F_Dados.Q_Produto.SQL.Add('order by '+ nCol); F_Dados.Q_Produto.Open; end; end; end; Outra coisa: o que seria este nCol? Um Edit? DBEdit? Abraço! -
gostaria de usar vários dbedit no delphi
pergunta respondeu ao Alexandro Gomes de ZueRa em Delphi, Kylix
Olá amigo, boa tarde. Qual BD usa? Outra coisa: que tipo de ação espera que seus botões execute? Se já tem alguma coisa quase pronta, poste aqui que te ajudo a acertar os possíveis erros, grande abraço! -
Tirando o TXPMenu o resto acredito ser da biblioteca DevExpress (posso estar errado). txpmenu : http://www.shagrouni.com/english/software/xpmenu.html Grande abraço!
-
Amigo, acho que poderia fazer assim (se entendi bem o que você explicou): procedure TForm1.Button1Click(Sender: TObject); begin if (Edit1.Text = '') and (Edit2.Text = '') then begin beep; Application.MessageBox('mensagem','título',MB_ok + MB_defbutton1 + MB_iconexclamation); Edit1.SetFocus; end else begin Table1.Post; end; end; Observe, usando and na condição do if você está incrementando mais uma informação, ou seja, o erro só será apresentado caso o usuário não preencha os dois Edit's. Já usando o or, caso o usuário deixe qualquer um dos Edit's vazios ele irá apresentar o erro. Recomendo esta segunda forma: procedure TForm1.Button1Click(Sender: TObject); begin if (Edit1.Text = '') or (Edit2.Text = '') then begin beep; Application.MessageBox('mensagem','título',MB_ok + MB_defbutton1 + MB_iconexclamation); Edit1.SetFocus; end else begin Table1.Post; end; end; Assim é mais seguro, pois se o usuário deixar qualquer campo vazio ele não vai deixar a inclusão ser executada. Bom, se foi isto que intendi. Grande abraço!
-
Duvida com if dentro do quick report expression
pergunta respondeu ao DELPHITOTS de ZueRa em Delphi, Kylix
Tente fazer a mesma coisa com a outra. Abraço! -
Duvida com if dentro do quick report expression
pergunta respondeu ao DELPHITOTS de ZueRa em Delphi, Kylix
Boa noite amigo. Acredito que possa fazer assim: procedure TForm1.Button1Click(Sender: TObject); var i, e : string; x, y : integer; begin if (tipoestoque.Caption = i) then begin x := (StrtoInt(ndepecas.Caption) * StrtoInt(qtde.Caption) * StrtoInt(valor.Caption)); total.Caption := InttoStr(x); end; if (tipoestoque.Caption = e) then begin y := (StrtoInt(ndepecas.Caption) * StrtoInt(qtde.Caption)); valor.Caption := InttoStr(y); end; end; Abraço! -
Olá VDLR. Acredito que no procedimento 1 (um) você possa fazer algum parâmetro para verificar se existe ou não o campo. Não sei ao certo, nunca fiz isto, seria algo com esta sintaxe: procedure TForm1.FormCreate(Sender: TObject); begin //fazer algo aqui para verificar se existe o Hostname ou não SQLConnection1.Params.Append('Hostname'); end; Como eu disse, nunca fiz antes e, não sei ao certo. Alguém com mais experiência vai vir aqui te dar uma ajuda ;) grande abraço!
-
(Resolvido) Dúvida: código para pausar o relógio
pergunta respondeu ao giovani_pt de ZueRa em Delphi, Kylix
Precisando estamos aí. Abraço! -
(Resolvido) Dúvida: código para pausar o relógio
pergunta respondeu ao giovani_pt de ZueRa em Delphi, Kylix
Olá giovani_pt. Veja, o código está aí, é só compilar, não tem erro. Só uma dica: acredito que vá precisar da biblioteca RxLib (download: http://www.delphibr.com.br/download/delphi/rxlib_275d7.zip) faça um esforço aí cara pra você mesmo aprender! Abraço. -
Ok, caso não encontre o que necessita, é só falar! Abraço!
-
Olá José Luiz. Seguem os links: Como trabalhar com MySQL: http://imasters.uol.com.br/artigo/3405/mys...i_zeus_e_mysql/ Para instalar os componentes de conexão com o BD (Zeus): http://imasters.uol.com.br/artigo/3377/del...ados_no_delphi/ Apostila completa de Delphi. Aborda assuntos sobre Delphi + MySQL: http://www.baixaki.com.br/download/apostil...hi-completa.htm abraço!
-
Olha amigo, enquanto a questão do ToolTip não sei como poderá fazer isto, porém, vou dar uma acertada neste código: procedure TForm1.data1KeyPress(Sender: TObject; var Key: Char); begin if key = #113 then data1.ToolTipText := data1.Columns.Item(0); end; Talvez isto possa lhe ajudar: http://www.revolution.com.br/archives/2005...no_archive.html http://www.linhadecodigo.com.br/Artigo.aspx?id=2216 abraço!
-
Olá amigo! Tente coloca-lo como último componente da banda ou numa separada. Por exemplo: Child. Teste aí e diga no que deu. Abraço!
-
(resolvido) [Fatal Error] Unit IdC...rs was compiled with a
pergunta respondeu ao paulobergo de ZueRa em Delphi, Kylix
Olá amigo! Tente apagar os arquivos compilados do Indy instalado. Id*.dcu que ficam na pasta lib do diretório do Delphi. Teste e me diga no que deu, abraço! -
(Resolvido)Localizar e Substituir linha
pergunta respondeu ao João Paulo Taraciuk de ZueRa em Delphi, Kylix
Também não compreendi o que você quer amigo. -
Só adicionando: como eu disse pode ser feito de várias formas este bloqueamento do botão excluir. Assim também vale (só que neste caso estou utilizando uma Query como DataSet): procedure TForm1.Button1Click(Sender: TObject); begin if Query1.State in [dsInactive, dsBrowse] then begin Application.MessageBox('Primeiro adicione um registro para ser excluído','Título',MB_ok + MB_defbutton1 + MB_iconexclamation); Abort; end else Query1.Delete; Query1.Close; end; Se for utilizado um TTable como DataSet pode ser assim: procedure TForm1.Button1Click(Sender: TObject); begin if (Table1.Active = false) then begin Application.MessageBox('aviso','título',MB_ok + MB_defbutton1 + MB_iconexclamation); Abort; end else Table1.Delete; Table1.Close; end; Do mais é isto, basta modificar ao seu uso, e/ou então melhorar algumas coisas. Abraço!
-
Boa tarde Livio. Veja, você pode fazer várias coisas para impedir que o usuário exclua um registro inexistente. Poderás criar uma procedure para que em certo estado do DataSet ele não possa deletar nada. Por exemplo: procedure TForm1.BloquearBotoes; begin case DataSet.State of dsInactive : begin //caso ela esteja no estado inativo BotaoExcluir.Enabled := false; //o botão excluir também estará inativo end; dsEdit : begin //caso esteja no estado de edição BotaoExcluir.Enabled := true; //aí sim ele estará ativo end; end; No botão excluir pode ser feito assim: procedure TForm1.Button1Click(Sender: TObject); var aviso : integer; begin {você pode colocar um aviso, para não acontecer de o usuário clicar sem querer no botão e excluir o registro por falta de atenção.} aviso := Application.MessageBox('Deseja mesmo excluir este registro?','Título',MB_yesno + MB_defbutton2 + MB_iconquestion); if aviso <> IdNo then //se ele escolher SIM então begin with DataSet do begin Delete; Close; BloquearBotoes; //aqui está a procedure que foi criada end; end; end; Para segurança coloque a procedure que você criou no evento OnActivate do Form. Veja: procedure TForm1.FormActivate(Sender: TObject); begin BloquearBotoes; end; Assim, logo que o form se tornar "ativo" esta procedure será executada, ou seja, o DataSet estará no estado dsInactive (inativo) e assim o botão excluir ficará também inativo. Você pode implementar outros etados do DataSet. Há vários, mas, estude sobre. Grande abraço! P.S: declare esta procedure que foi criada na cláusula types da Unit.
-
Olá amigo, sobre o erro no THEN faça isto: procedure TForm1.Edit1Exit(Sender: TObject); begin if (StrtoInt(Edit1.Text) < 100) and (StrtoInt(Edit1.Text) > 0) then begin // outros comandos end else begin ShowMessage('Valor fora da faixa'); Edit1.SetFocus; Edit1.SelectAll; end; end; Veja se resolve seu problema. Abraço!
-
Olá Severos! Bom, se entendi o que você deseja pode ser feito por MoveFile. Sintaxe: MoveFile('caminho do arquivo atual','caminho para onde o arquivo será movido'); Exemplo: (já que você quer copiar DUAS dll's faça assim) procedure TForm1.Button1Click(Sender: TObject); begin MoveFile('c:\primeira_dll.dll','c:\windows\primeira_dll.dll'); MoveFile('c:\segunda_dll.dll','c:\windows\segunda_dll.dll'); // desta forma serão movidas as duas dlls que deseja end; De acordo com o Help do Delphi (Windows SDK) você ainda pode mudar o nome do arquivo seguindo os mesmos parâmetros, exemplo: procedure TForm1.Button1Click(Sender: TObject); begin MoveFile('c:\NOME_X.dll','c:\windows\NOME_Y.dll'); MoveFile('c:\NOME_A.dll','c:\windows\NOME_B.dll'); end; Era isto que precisava? Grande abraço!
-
Olá Severos! Não entendi muito bem sua dúvida cara, reformule-a por favor. Abraço!
-
Bom dia! Tente pelo CopyFile. Sintaxe: CopyFile('caminho do arquivo existente','caminho para onde o arquivo vai ser copiado', condição booleana); exemplo: procedure TForm1.Button1Click(Sender: TObject); begin CopyFile('c:\programa.exe','c:\cast\programa.exe', false); end; Obs: sobre a boolean condition (false) veja no Help do Delphi (Windows SDK) que caso o arquivo seja existente na pasta destino e você use o true o comando irá falhar. Caso use false e o nome seja o mesmo ele irá reescrever. Abraço!
-
Amigo, testei o WinExec e ShellExecute aqui com o caminho completo como o colega Jhonas citou e ocorreu tudo certo, sem nenhum erro. Verifique aí, talvez há algo errado! Abraço!
-
Olá amigo, boa noite. Não seria mais viável você criar DBEdits e assim fazer as funções de um dataset? Digo, salvar, editar [...]. Mas isso não vem ao meu interesse, já que quer editar tudo no DBGrid e salvar vamos meio pela lógica: para você editar algo num DBGrid ele vai ter estar ligado num DataSource e este por sua vez num DataSet. Vamos supor, você fez uma pesquisa e no final terá que abrir este DataSet, sendo assim você já terá os dados que retornaram sendo mostrados neste DbGrid, então é só ir lá e editar os mesmos. Qualquer coisa posta aí, abraço!