Ir para conteúdo
Fórum Script Brasil

Victor_DF

Membros
  • Total de itens

    54
  • Registro em

  • Última visita

Tudo que Victor_DF postou

  1. 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
  2. Que isso cara, eu também estou começando agora no Delphi. Qualquer dúvida estamos ai... falou abraço
  3. 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
  4. 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
  5. 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
  6. 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
  7. Victor_DF

    Iniciando com Java

    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
  8. Victor_DF

    Ajuda com um 'for'

    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
  9. 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
  10. Victor_DF

    Duvida com Random

    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
  11. Victor_DF

    Duvida com Random

    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
  12. Victor_DF

    Duvida com Random

    Para que você quer a quantidade de caracteres de um Edit? Se possível poste o código.
  13. Victor_DF

    Duvida com Random

    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
  14. Victor_DF

    Duvida com Random

    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
  15. 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
  16. 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
  17. Victor_DF

    Calculadora

    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.
  18. 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
  19. Opa... Vlw a correção... Abraço
  20. 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
  21. Victor_DF

    Links

    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
  22. 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
  23. 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
  24. 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
  25. 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
×
×
  • Criar Novo...