
Victor_DF
Membros-
Total de itens
54 -
Registro em
-
Última visita
Tudo que Victor_DF postou
-
Benaia... Eu não entendi bem o voce quer fazer, mas pelo que eu entendi, voce pode colocar no evento OnDblClick do DBGrid um comando para enviar o conteudo das colunas que voce quer para um Edit, por exemplo, e ai fazer a soma. Ficaria assim: procedure TForm1.DBGrid1DblClick(Sender: TObject); begin Edit1.text:= Query1.FieldByName('Coluna1').AsString; // no caso, o Edit1 recebe o que essta na coluna 'coluna1' do DBGrid Edit2.text:= Query1.FieldByName('Coluna2').AsString; // a mesma coisa end; Assim voce pode pegar os valores especificos do registro clicado pelo usuário no DBGrid e soma-los. Veja mais coisas aqui Espero ter ajudado Abração
-
Pegar o código do Registro exibido no DBGrid
pergunta respondeu ao RafaelemeNt de Victor_DF em Delphi, Kylix
Que isso cara, eu também estou começando agora no Delphi. Qualquer dúvida estamos ai... falou abraço -
Pegar o código do Registro exibido no DBGrid
pergunta respondeu ao RafaelemeNt de Victor_DF em Delphi, Kylix
Olha cara, uma maneira bem simples de fazer é pegar o conteudo da linha que voce quer quando a mesma for clicada no DBGrid usando o evento OnDblClick do DBGrid, assim quando o usuário desse um duplo click na linha que ele quero sistema pegaria este conteudo e colocaria no comando SQL de Update. Ficaria mais ou menos assim: procedure TForm1.DBGrid1DblClick(Sender: TObject); begin Edit1.text:= Query1.FieldByName('Coluna1').AsString; // no caso, o Edit1 recebe o que essta na coluna 'coluna1' do DBGrid Edit2.text:= Query1.FieldByName('Coluna2').AsString; // a mesma coisa end; Neste caso é usando dois campos Edit para receber os valores, que voce pode colocar onde voce quiser. A parte da 'coluna3 = value3' do exemplo que eu te mandei, é no caso de voce ter alguma condição de pesquisa na hora do update, por exemplo, voce só quer alterar os registros que possuem a coluna agencia = 532-0, ai voce coloca 'Update tabela set coluna1 = valor1 WHERE agencia = "532-0"', mas essa parte é opcional, se voce achar que não precisa, voce não tem que colocar. Espero ter ajudado falou abraço -
Pegar o código do Registro exibido no DBGrid
pergunta respondeu ao RafaelemeNt de Victor_DF em Delphi, Kylix
RafaelemeNt... Eu já fiz algo parecido com o que você esta querendo, eu usei um "Update" para modificar a tabela e atualizei o DBGrid abrindo e fechando a table ou query que eu estava usando para passar os dados para o DBGrid. O código fica mais ou menos assim: Query1.SQL.Add('UPDATE tabela SET coluna1=value, coluna2=value2 WHERE colun3=value3'); Query1.ExecSQL; Query1.Active:= false; Query1.Active:= true; Espero ter ajudado falou abraço -
Jhonas... Ficou perfeito, só que vinham com linhas no lugar das colunas, ai foi só inverter os parametros do comando "excel.cells[]", ai ficou legal... O que mudou no código foi somente isso mesmo, ficou assim: MSExcel.cells[col,lin] := AGrid.cells[lin,col]; MSExcel.columns.AutoFit; MSExcel.cells[col,lin].Select; E também precisei inverter as contagens de linha e de coluna, porque estava faltando dados no arquivo *.xls gerado, assim: for lin := 1 to AGrid.ColCount do for col := 1 to AGrid.RowCount do Valeu cara, abraço
-
Oi pessoal... Eu estou tentando agora, exportar dados de um StringGrid para o Excel, eu fiz um teste e deu certo, mas na hora de complementar o código deu um erro "OLE error 800A03EC." e ele não executa nada. O que pode ser? E como resolver? Aqui esté o código: procedure TForm1.Button1Click(Sender: TObject); var c,ct,cl: integer; t,tx: String; begin MSExcel:= CreateOleObject('Excel.Application'); MSExcel.WorkBooks.Add(1); MSExcel.Caption:= Edit1.Text; MSExcel.Visible:= false; c:= AGrid.RowCount; cl:= 1; ct:= 0; while ct <> c do begin Edit1.text:= AGrid.Rows[ct].DelimitedText; tx:= Edit1.Text; t:= copy(Edit1.Text,1,Pos(AGrid.Rows[ct].Delimiter,Edit1.Text)-1); Edit2.Text:= t; delete(tx,1,Pos(AGrid.Rows[ct].Delimiter,tx)+1); if tx = '' then begin cl:= cl + 1; end; MSExcel.Cells[cl,ct]:= t; ct:= ct + 1; end; MSExcel.WorkBooks.Add(1); MSExcel.Columns.Autofit; SaveDialog1.Execute; MSExcel.WorkBooks[1].SaveAs(SaveDialog1.FileName); MSExcel.Quit; end; Obrigado Victor
-
Este site tem um tutorial de como instalar o java, alem do link pra download do mesmo... http://javanoroeste.com.br/javanoroeste/ E para apostilas, esse site é bem intereçante... http://www.apostilando.com/pagina.php?cod=1 falou Abraço
-
Ola pessoal... Eu estou começando agora em java e não consigo fazer um programinha besta com um 'for', ele simplesmente não retorna nada, por favor me mostrem onde estou errando. import java.util.Scanner; public class Prog01 { public static void main(String args[]) { Scanner read = new Scanner(System.in); int n1[] = new int[5]; int n2[] = new int[5]; for(int c = 0; c == 5; c++) { System.out.println("Digite a sua idade: "); n1[c] = read.nextInt(); System.out.println("Digite o seu CPF: "); n2[c] = read.nextInt(); } } } Obrigado
-
Pesquisar dois campos ao mesmo tempo sql em bd paradox
pergunta respondeu ao Kassi de Victor_DF em Delphi, Kylix
Kassi... O problema é que como está escrito ai, o delphi não reconhece o '%', para funcionar ele deveria estar dentro das áspas, então deve-se colocar o campo texto e o '%' dentro de áspas duplas para completar o código, assim: Query.Sql.Add('select * from tab_clientes where (cod_cliente like "' +edit1.text+ '%") or (nome like "' +edit1.text+ '%")'); Espero ter ajudado falou Abraço -
Vode deve atribuir o valor a MAX, logo MAX tem que ser uma variável e não uma constante, assim: procedure TForm1.Button1Click(Sender: TObject); var max,i: integer; const str = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ'; begin max := length(Edit1.Text); Edit1.Text := ''; for i := 1 to max do Edit1.Text := Edit1.Text + str[random(length(str))+1]; edit2.Text:='.....'; end; Do jeito que está ai de início ele não retorna nada, porque voce deve colocar algum texto no Edit para ele pegar o tamanho, então rode esse código, escreva algo no Edit e gere uma senha. Abraço
-
então você deve atribuir a quantidade de caracteres do Edit na variável MAX, assim: MAX:= length(Edit1.text); Ai ele já usa como máximo a quantidade que já existe no Edit... Abraço
-
Para que você quer a quantidade de caracteres de um Edit? Se possível poste o código.
-
Bom, pra escolher randomicamente palavras enteiras voce deve usar um dandomize no começo do seu programa, pra poder randomizar os dados de uma base de dados ou de um array, assim: procedure TForm1.Button1Click(Sender: TObject); var a: integer; const n: array[1..4] of integer = (1,2,3,4); palavras: array[1..4] of String = ('pão','cachorro','mão','pé'); begin randomize; Edit1.Clear; a:= random(n[4]); Edit1.Text:= palavras[a]; end; Nesse caso eu executo a operação quando eu clico em um botão. Onde o código vai ficar depende de como voce vai acionar essa funcionalidade, pode ser em um Button, ou até mesmo quando o Form for criado. falou Abraço
-
C.J. Para voce gerar a quantidade de caracteres que exitem em um Edit, voce deve usar a cláusula (length), assim: Edit1.text:= length(Edit2.text); E para gerar palavras de forma randomica, existem varias formas, voce quer gerar palavras escolhendo randomicamente os caracteres ou escolher palavras inteiras randomicamente? Abraço
-
(Resolvido) Campo aceitar somente caracter especifico
pergunta respondeu ao nsouza de Victor_DF em Delphi, Kylix
nsouza... Para o caso do campo Nº apt, o código teria que ser assim: if key in (#65..#90) then key := #0; Já para validar o e-mail, eu não sei se existe maneira melhor, mas eu já fiz um 'if' para testar se existe o '@' usando a cláusula 'copy' e a cláusula 'pos'. falou abraço -
Oi pessoal... O problema é: Estou usando o firebird 1.5 como banco, os componentes, IBODataBase, IBOQuery e DataSource para me conectar com o banco. O olgin é feito com o usuário e a senha padrão, usuário = SYSDBA e senha = masterkey. Mas quando eu tendo inserir alguma coisa no banco aparece este erro: O código que estou usando para a inserção é: procedure TForm3.confirmarClick(Sender: TObject); begin Query.SQL.Add('Inert into (nome, endereco) values (' + nome.text + ',' + endereco.text + ')'); Query.Active:= false; Query.Active:= true; end; Quero ajuda para resolver o problema do erro, e quero que me digam se a forma que eu estou tentando inserir dados no banco está correta. Obrigado Victor
-
Ratopd9... Eu não sei o que voce quer fazer... Mas eu tenho um modelo de calculadora normal... Veja se consegue aproveitar alguma coisa... http://rapidshare.com/files/259648985/Calculadora.rar Espero ter ajudado... falou abraço.
-
(Resolvido) Gerar txt com linha e coluna
pergunta respondeu ao William - TI de Victor_DF em Delphi, Kylix
William... De uma olhada neste site, eu fiz uma aplicação onde eu gero um arquivo RTF, mas trocando o segundo parametro o comando 'MSWord.FileSaveAs' de 6 para 3 voce gera um arquivo TXT. O link onde está o código que eu fiz é este: http://scriptbrasil.com.br/forum/index.php?showtopic=139459 E o Site que me ajudou a montar este código é este: http://www.activedelphi.com.br/print.php?sid=215 lá voce ve como se faz as tabelas apartir de um texto selecionado. Espero ter ajudado falou abraço -
Opa... Vlw a correção... Abraço
-
(Resolvido)Inserção de um texto de arquivo .doc no BD SQL Server
pergunta respondeu ao Victor_DF de Victor_DF em Delphi, Kylix
Jhonas... O problema foi resolvido com a mudança do tipo de arquivo que eu estava trabalhando. Eu usei um arquivo no formato Rich Text (*.rtf) para salvar as alterações, usando o próprio word. O código ficou assim: Uses ComObj // Para gerar um arquivo *.rtf, com o conteudo do que está no RichEdit procedure TForm1.WordClick(Sender: TObject); begin inherited; try // Instancia o word para dentro da variável MSWord MSWord:= CreateOleObject('word.basic'); except ShowMessage('Word não encontrado!'); end; // Abre o word MSWord.AppShow; // Verifica se o arquivo 'Texto.rtf' existe if FileExists('Texto.rtf') then begin DeleteFile('Texto.rtf'); end; // Cria um novo documento no word MSWord.FileNew; // Salva o documento no formato tipo *.rtf MSWord.FileSaveAs('Texto',6); // Verifica se o RitchEdit contem algum conteudo para escrever no word if reLdo.Lines.Count > 0 then begin texto:= reLdo.Lines.Text; // Esqureve o conteudo do RichEdit no word MSWord.Insert(texto); // Salva as alterações no formato *.rtf MSWord.FileSaveAs('Texto',6); end else MSWord.FileSaveAs('Texto',6); end; // Carrega o arquivo modificado para o RichEdit procedure TForm1.SpeedButton1Click(Sender: TObject); begin inherited; if FileExists('Texto.rtf') then begin // Carrega o arquivo 'Texto.rtf' dentro do RichEdit RichEdit.Lines.LoadFromFile('Texto.rtf'); end else begin ShowMessage('Arquivo inexistente'); exit; end; Com isso eu gerei um relatório no TppReport na RBuilder. E o conteúdo do RichEdit eu gravei no banco com um comando 'Insert' em uma Query... Vlw a atanção cara... Abraço -
O site que mais me ajudou no trabalho... Clique aqui! Neste link voces encontraram todos os comandos para se manipular o word pelo Delphi... Muito bom... falou Abraço
-
Roberto... Eu uso muito o Word pelo Delphi, mas somente com o 2003. Leia esse artigo e veja se funciona... http://www.activedelphi.com.br/print.php?sid=215 Espero ter ajudado... falou abraço
-
Sr. Mendes - Inaldo... Eu nunca usei um TMemo... Mas sei que deve ter uma propriedade que manipule String, algo do tipo Memo1.Text. Se tiver tenta colocar assim... Memo1.Text:= Memo1.text + Memo2.text; // claro se tiver essa propriedade... O sinal de '+' é usado para concatenar Strings, ai voce usa como quiser... Espero ter ajudade... falou abraço
-
(Resolvido) Ajuda com relatorio quickreport com sql
pergunta respondeu ao Rodrigo Hoffmann de Victor_DF em Delphi, Kylix
Jhonas... Eu tentei fazer sem o JOIN, chamando as colunas de duas tabelas diferentes e funcionou. por exemplo: Select nomecliente, prazo_entrega from Cliente, Vendas where Vendas.nomecliente = nomecliente and prazo_entrega > 15 and Vendas.produto = 'queijo' and Cliente.cidade = 'Brasilia'; falou abraço -
(Resolvido)Inserção de um texto de arquivo .doc no BD SQL Server
pergunta respondeu ao Victor_DF de Victor_DF em Delphi, Kylix
Sinto muito mais não posso divulgar este código. O sistema e privado da empresa onde trabalho... Só estou querendo saber como voce faria. Eu estou dando o insert mas ta dando um problema de compartilhamento em uma função que eu criei... Vlw Abraço