Ir para conteúdo
Fórum Script Brasil

Jhonas

Monitores
  • Total de itens

    9.657
  • Registro em

Tudo que Jhonas postou

  1. Jhonas

    gráficos

    Qual a versão do seu delphi ? No delphi 5 funciona abraço
  2. Colega ... procure na Net um componente Free, e se encontrar favor postar o endereço ... eu tambem estou precisando abraço
  3. Lendo e escrevendo em Arquivos Binários Para manipular este tipo de arquivo tem que usar as funções: BlockRead e BlockWrite exemplo: var FromF, ToF: file; NumRead, NumWritten: Integer; Buf: array[1..2048] of Char; begin if OpenDialog1.Execute then { Display Open dialog box } begin AssignFile(FromF, OpenDialog1.FileName); Reset(FromF, 1); { Record size = 1 } if SaveDialog1.Execute then { Display Save dialog box} begin AssignFile(ToF, SaveDialog1.FileName); { Open output file } Rewrite(ToF, 1); { Record size = 1 } Canvas.TextOut(10, 10, 'Copying ' + IntToStr(FileSize(FromF)) + ' bytes...'); repeat BlockRead(FromF, Buf, SizeOf(Buf), NumRead); BlockWrite(ToF, Buf, NumRead, NumWritten); until (NumRead = 0) or (NumWritten <> NumRead); CloseFile(FromF); CloseFile(ToF); end; end; end; qualquer dúvida olhe no help do delphi ( F1 ) abraço
  4. Use o codigo do jeito que está que funciona uses clipbrd, jpeg; Function BmpToJpg(cImage: String):Boolean; // Converte um arquivo BMP em JPEG var MyJPEG : TJPEGImage; MyBMP : TBitmap; begin Result := False; if fileExists(cImage+'.bmp') then begin MyBMP := TBitmap.Create; with MyBMP do begin try LoadFromFile(cImage+'.bmp'); MyJPEG := TJPEGImage.Create; with MyJPEG do begin Assign(MyBMP); SaveToFile(cImage+'.jpeg'); Free; Result := True; end; finally Free; end; end; end; end; procedure TForm1.Button1Click(Sender: TObject); begin if Clipboard.HasFormat(CF_BITMAP) then Image1.Picture.Assign(Clipboard); Image1.Picture.savetofile('c:\imagem.bmp'); BMPtoJPG('c:\imagem'); end; abraço
  5. Parabéns! Companheiro Se precisar algo de delphi ou hardware é só falar abraços
  6. Jhonas

    Erro de Syntaxe

    'Q_Funcionarios: Cursor not retorned from Query" Cursor não retornado para Query Procure não usar SQL.Add e sim SQL.Append DM.Q_Funcionarios.Active := False; DM.Q_Funcionarios.SQL.Clear; DM.Q_Funcionarios.SQL.Append('INSERT INTO FUNCIONARIO (CODESPECIALIDADE, NOME, ENDERECO)'); DM.Q_Funcionarios.SQL.Append('VALUES (:CODESPECIALIDADE, :nome, :endereco)'); DM.Q_Funcionarios.ParamByName('codespecialidade').AsInteger := StrToInt(edtcodespecialidade.Text); DM.Q_Funcionarios.ParamByName('nome').AsString := edtNome.Text; DM.Q_Funcionarios.ParamByName('endereco').AsString := edtEndereco.Text; DM.Q_Funcionarios.ExecSQL; Os exemplos que te passei funcionam e é para voce comparar com o seu código ... não tente adivinhar ...leia mais sobre o assunto, procure na net, teste, modifique, teste novamente ... até chegar ao resultado esperado... quando esquentar demais a cabeça ... pare , apague tudo e faça novamente do início... voce sempre chega a solução Meu lema : Leitura, Teste, Leitura , modificação, Teste ... até conseguir .. rs A prática leva a perfeição. abraço
  7. Tem muitos na Net, mas estão em ingles http://www.cs.umd.edu/~nau/cmsc421/norvig-lisp-style.pdf http://www.eecs.berkeley.edu/~russell/clas...p-tutorial.html http://www.apl.jhu.edu/~hall/lisp.html http://www.mars.cs.unp.ac.za/lisp/ http://www.cliki.net/Online%20Tutorial abraço
  8. A idéia é simples: Abra o arquivo BIN e abra o arquivo CPO Leia o arquivo CPO e escreva-o dentro do Arquivo BIN ... Salve o arquivo BIN e delete o arquivo CPO Lendo e escrevendo arquivos textos ou binarios http://www.forumnow.com.br/vip/mensagens.a...;tópico=2597196 http://scriptbrasil.com.br/forum/index.php?showtopic=54662 http://www.acemprol.com/download/file.php?id=9213 abraço
  9. procedure TManutencao.BitBtn1Click(Sender: TObject); begin try form2.CADASTRO.sql.Clear; form2.CADASTRO.sql.text := 'update codigo set valor = + ' + edit4.text + ' where cod = ' + edit2.text; form2.CADASTRO.Open; dm.Transacao.Commit; edit1.Clear; {este codigo so atualiza/altera os campos valor e cod} {gostaria de alaterar qualquer um dos campos } Except On E:Exception do Begin Application.MessageBox( Pchar('Algum usuário está "TRAVANDO" o REGISTRO ATUAL'+#13+#13+ 'ERRO : "'+ E.Message +'";' ), 'Impossível ALTERAR', MB_Ok); EXIT; // Sai de uma “possível procedure” } DM.TraNSACAO.COMMIT; FORM2.CADASTRO.Refresh; EDIT1.Clear; END; End; END; Primeiro sugiro não utilizar este tipo de coisa Hoje é inadimissível travar um registro voce pode alterar mais de um campo ou todos exemplo: // usando parametros SQL.Append('UPDATE customer set cust_no=:cust_no, customer=:customer, contact_first=:contact, phone_no=:phone, city=:city where cust_no=:cust_no'); // usando edits SQL.AAppend('UPDATE customer set cust_no=' + Edit1.Text + ', customer= '+ Edit2.Text + ' , contact_first= ' + Edit3.Text + ', phone_no= ' + Edit4.text + ', city= ' + Edit5.text + ' where cust_no= ' + Edit1.text); Outras informações: http://www.delphibr.com.br/artigos/delphiweb1.php http://www.scribd.com/doc/6943122/BancoDeD...rebird-Exemplos abraço
  10. Tente este http://www.baixaja.com.br/downloads/Window...tiveX_2710.html abraço
  11. Jhonas

    gráficos

    Tente com estes http://geocities.yahoo.com.br/admsqlbr/arq...s/plotchart.zip http://geocities.yahoo.com.br/admsqlbr/arquivos/procmp11.zip abraço
  12. Então porque voce não coloca o código que voce já fez ? Fica mais facil alguém te ajudar. abraço
  13. Jhonas

    Erro de Syntaxe

    DataSet não está no modo Edit ou modo Insert Procedure TF_Funcinario.confirmarClick(Sender:TObject); begin if confira <> 3 then begin grava; // Se nesta procedure não estiver Editando ou Inserindo este erro acontece F_Dados.Q_funcionario.Post; end; // porque este END está aqui ? PanGrid.BringToFront; PanBotoes.Enabled := True; Limpa; end; Veja se encontra onde está este comando F_Dados.Q_funcionario.Edit; ou F_Dados.Q_funcionario.Insert; OBS: Preste mais atenção no seu código .... voce está comentendo erros primários abraço
  14. Veja nestes endereços http://www.ziggi.com.br/downloads/vclskin http://forum.clubedelphi.net/viewtopic.php...27193e0bff02698 http://geocities.yahoo.com.br/admsqlbr/arquivos/skinform.zip abraço
  15. Jhonas

    DLL

    Veja nestes endereços: http://www.ramosdainformatica.com.br/art_r...es01.php?CDA=32 https://www.scriptbrasil.com.br/forum/lofiv...php/t90136.html http://www.astahost.com/info.php/Creating-...phi_t18312.html http://forum.plic-plac.com/index.php?topic=221.0 http://archive.devx.com/dbzone/articles/hg0102/hg0102-1.asp abraço
  16. Veja este post http://scriptbrasil.com.br/forum/index.php...st&p=270237 abraço
  17. Use um componente ComboBox para colocar a quantidade das parcelas exemplo: ( parcelas ) 2 3 4 OBS: Supondo que o primeiro pagamento é a vista e na data atual, nas demais parcelas basta acrescentar novos componentes de data para receber as demais datas em função da quantidade de meses if ComboBox1.Text = '2' then DateEdit2.Date := DateEdit1.Date + 31; // 1 mes if ComboBox1.Text = '3' then begin DateEdit2.Date := DateEdit1.Date + 31; // 1 mes DateEdit3.Date := DateEdit1.Date + 62; // 2 meses end; if ComboBox1.Text = '4' then begin DateEdit2.Date := DateEdit1.Date + 31; // 1 mes DateEdit3.Date := DateEdit1.Date + 62; // 2 meses DateEdit4.Date := DateEdit1.Date + 92; // 3 meses end; Com relação aos pagamentos // pagamento em 2 parcelas if ComboBox1.Text = '2' then begin CurrencyEdit1.Value := CurrencyEdit1.Value / 2; CurrencyEdit2.Value := CurrencyEdit1.Value; end; // pagamento em 3 parcelas if ComboBox1.Text = '3' then begin CurrencyEdit1.Value := CurrencyEdit1.Value / 3; CurrencyEdit2.Value := CurrencyEdit1.Value; CurrencyEdit3.Value := CurrencyEdit1.Value; end; // pagamento em 4 parcelas if ComboBox1.Text = '4' then begin CurrencyEdit1.Value := CurrencyEdit1.Value / 4; CurrencyEdit2.Value := CurrencyEdit1.Value; CurrencyEdit3.Value := CurrencyEdit1.Value; CurrencyEdit4.Value := CurrencyEdit1.Value; end; OBS: Veja que estou usando componentes do RxLib ... o restante seria somente montar a sua janela para mostrar os dados abraço
  18. Jhonas

    Comparar dados

    Modifique para o seu uso procedure TForm1.Button1Click(Sender: TObject); var i, j, cont : integer; s : string; begin cont := 0; for i := 0 to ListBox1.Items.Count-1 do for j := 0 to ListBox2.Items.Count-1 do begin if trim(ListBox1.Items.Strings[i]) = trim(ListBox2.Items.Strings[j]) then begin inc(cont); s := s + ' - ' + ListBox1.Items.Strings[i]; end; end; showmessage('Total de itens iguais = ' + inttostr(cont) + #13 + 'Itens = ' + s); end; abraço
  19. Jhonas

    Classe janelas

    Desta maneira: function EnumWindowsProc(Wnd: HWnd; Form:TForm1): Boolean; Export; {$ifdef Win32} StdCall; {$endif} var Buffer: Array[0..99] of Char; begin GetWindowText(Wnd, Buffer, 100); if StrLen(Buffer)>0 then Form.ListBox1.Items.Add(StrPas(Buffer)); Result :=true; end; procedure TForm1.Button1Click(Sender: TObject); begin EnumWindows(@EnumWindowsProc, LongInt(Self)); end; abraço
  20. Download do RXLIb para o delphi 2007 http://seucolega.wordpress.com/2007/07/21/...-o-delphi-2007/ Eu uso a versão RXLIb 275 para o delphi 2007 é a versão RXLIb 277 abraço
  21. Seja mais claro ... não entendi abraço
  22. Jhonas

    Erro de Syntaxe

    no entanto retornou o seguinte erro: 'Q_Funcionarios: Cursor not retorned from Query" Outro detalhe é que apesar de dar este erro, quando dou um refresh no banco de dados os registros estão sendo gravado, porém duplicados. Retire este comando DM.Q_Funcionarios.Active := TRUE; // ele esta provocando a duplicação abraço
  23. Veja desta maneira: Query1.Active:=False; Query1.SQL.Clear; Query1.SQL.Append('Selec * FROM testepesqdata WHERE Codigio = :CODIGIO AND datapagamento >= :DATIN AND datapagamento <= :DATFIM'); Query1.Params[0].AsInteger := StrToInt(Edit1.Text); // codigo do cliente Query1.Params[1].AsDate := FPeriodo.DateEdit1.Date; // data inicio da pesquisa Query1.Params[2].AsDate := FPeriodo.DateEdit2.Date; // data fim da pesuisa Query1.Active:=True; abraço
  24. Jhonas

    Erro de Syntaxe

    DML – Data Manipulation Language Inserindo dados em uma tabela (INSERT) Atualizando dados em uma tabela (UPDATE) Removendo dados de uma tabela (DELETE) Exemplo usando meu Banco de dados procedure TForm1.Button1Click(Sender: TObject); begin IBQuery1.Active := False; IBQuery1.SQL.Clear; IBQuery1.SQL.Append('INSERT INTO OBRAS (COD_EMP, COD_OBRA) '); IBQuery1.SQL.Append('VALUES (9999, 9999)'); SHOWMESSAGE(IBQuery1.SQL.Text); IBQuery1.ExecSQL; IBQuery1.Active := TRUE; end; procedure TForm1.Button1Click(Sender: TObject); begin IBQuery1.Active := False; IBQuery1.SQL.Clear; IBQuery1.SQL.Append('INSERT INTO OBRAS (COD_EMP, COD_OBRA) '); IBQuery1.SQL.Append('VALUES (:COD1, :COD2)'); IBQuery1.ParamByName('COD1').AsInteger := 8888; IBQuery1.ParamByName('COD2').AsInteger := 8888; SHOWMESSAGE(IBQuery1.SQL.Text); IBQuery1.ExecSQL; IBQuery1.Active := TRUE; end; procedure TForm1.Button1Click(Sender: TObject); begin IBQuery1.Active := False; IBQuery1.SQL.Clear; IBQuery1.SQL.Append('INSERT INTO OBRAS (COD_EMP, COD_OBRA) '); IBQuery1.SQL.Append('VALUES ('+ Edit1.Text + ',' + Edit2.Text + ')'); SHOWMESSAGE(IBQuery1.SQL.Text); IBQuery1.ExecSQL; IBQuery1.Active := TRUE; end; procedure TForm1.Button1Click(Sender: TObject); begin IBQuery1.Active := False; IBQuery1.SQL.Clear; IBQuery1.SQL.Append('INSERT INTO OBRAS (COD_EMP, COD_OBRA) '); IBQuery1.SQL.Append('VALUES (:COD1, :COD2)'); IBQuery1.ParamByName('COD1').AsInteger := strtoint(Edit1.Text); IBQuery1.ParamByName('COD2').AsInteger := strtoint(Edit2.Text); SHOWMESSAGE(IBQuery1.SQL.Text); IBQuery1.ExecSQL; IBQuery1.Active := TRUE; end; Todas essas maneiras funcionam ... faça uma comparação com o seu código Veja outras informações: http://www.devmedia.com.br/articles/viewcomp.asp?comp=5085 http://www.apostilando.com/download.php?co...categoria=MySQL http://imasters.uol.com.br/artigo/3707/mysql/mysql_5/ http://www.cursoadv.com.br/mysql.aspx abraço
  25. exemplo: Na SQL da query voce coloca SELECT * FROM BANCO WHERE COD_CLIENTE = :COD AND datapagamento >= :DATIN AND datapagamento <= :DATFIM Para usar OBS: Use este conjunto de componentes para acessar uma tabela do banco de dados TQuery -> ( Banco_IB ), TDataSetProvider - > ( DSP_Banco), TClientDatSet - > ( CDS_Banco ) TDataSource -> ( DS_Banco) Os nomes é voce quem escolhe... este é apenas um exemplo; Banco_IB.Active := false; CDS_Banco.Active := false; CDS_Banco.Params[0].AsInteger := StrToInt(FPesquisa0.Edit1.Text); // codigo do cliente CDS_Banco.Params[1].AsDate := FPeriodo.DateEdit1.Date; // data inicio da pesquisa CDS_Banco.Params[2].AsDate := FPeriodo.DateEdit2.Date; // data fim da pesuisa Banco_IB.Prepare; Banco_IB.Active := true; CDS_Banco.Active := true; Se ainda tiver dúvidas, faça uma pesquisa no forum http://scriptbrasil.com.br/forum/index.php...ite=entre+datas abraço
×
×
  • Criar Novo...