Ir para conteúdo
Fórum Script Brasil

Jhonas

Monitores
  • Total de itens

    9.657
  • Registro em

Tudo que Jhonas postou

  1. basta modificar a posição do comando end nos ifs ( If Escolha = ) uses SysUtils; Var ValPortugues, ValMatematica, ValBiologia, ValGeografia, QPortugues, QMatematica, QBiologia, QGeografia: Real; Escolha: Integer; begin Writeln('====== Programa de Notas Escolares - 4 bimestre ======'); Writeln('Digite o numero da materia que deseja calcular: '); Writeln(' 1 - Portugues'); Writeln(' 2 - Matematica'); Writeln(' 3 - Biologia'); Writeln(' 4 - Geografia'); Readln(Escolha); {Portugues} If Escolha = 1 Then Begin Writeln(' ===== Portugues ===== '); Writeln('* Digite a nota do 4 bimestre: '); Readln(QPortugues); ValPortugues := 22; ValPortugues := ValPortugues + QPortugues; If ValPortugues < 20 Then Begin Writeln('* REPROVADO *'); Writeln('** O total de pontos ao ano foi de ',ValPortugues:2:2,' Pontos.'); End; If ValPortugues >= 20 Then Begin Writeln('* APROVADO * '); Writeln('** O total de pontos ao ano foi de ',ValPortugues:2:2,' Pontos.'); Readln; End; End; {Matematica} If Escolha = 2 Then Begin Writeln(' ===== Matematica ===== '); Writeln('Digite a nota do 4 bimestre: '); Readln(QMatematica); ValMatematica := 16; ValMatematica := ValMatematica + QMatematica; Writeln('O total de pontos ao ano foi de ',ValMatematica:2:2,' Pontos.'); Readln; If ValMatematica < 20 Then Begin Writeln('* REPROVADO *'); Writeln('** O total de pontos ao ano foi de ',ValMatematica:2:2,' Pontos.'); End; If ValMatematica >= 20 Then Begin Writeln('* APROVADO * '); Writeln('** O total de pontos ao ano foi de ',ValMatematica:2:2,' Pontos.'); Readln; End; End; Readln; end. abraço
  2. voce precisa usar o caminho ( Path ) da maquina que pode ser obtida de forma automatica veja esse manual http://www.novateceditora.com.br/ebooks/pdf/8585184175.pdf abraço
  3. para muitos itens de Menu, experimente usar o TreeView http://stackoverflow.com/questions/18802327/how-to-copy-part-of-a-treeview-to-a-menu abraço
  4. Jhonas

    Quick report

    o que voce faz usando 2 ou 3 querys para obter um resultado, voce tambem fazer em uma query usando sub-querys dessa forma voce teria apenas uma tabela com os resultados para jogar no Quick Report bastaria então somente especificar as bandas para cada resultado da query se voce estiver usando o MYSQL veja no manual https://www.google.com.br/?gfe_rd=cr&ei=XS-TVI35JeWU8QfP4YG4CQ&gws_rd=ssl#q=mysql+subquery+example abraço
  5. faça dessa forma procedure TForm1.Button1Click(Sender: TObject); var BS: TClientBlobStream; Imagem: TJPEGImage; begin Image1.Picture := nil; // campo da tabela onde esta a imagem BS := TClientBlobStream.Create(CDS_TabelaFOTO, BMREAD); if BS.Size > 0 then // Verifica se o registro tem imagens gravadas begin Imagem := TJPEGImage.Create; Imagem.LoadFromStream(BS); Image1.Stretch := true; Image1.Picture.Assign(Imagem); // joga a imagem do banco para o componente BS.FREE; Imagem.Free; end end; abraço
  6. Jhonas

    Quick report

    Pirambu, na pasta Demos do delphi tem um exemplo de relatorio com agrupamento de dados mas voce pode ver tambem nesses links http://www.devmedia.com.br/relatorio-com-agrupamento-no-quick-report/508 https://geekover.wordpress.com/2010/06/13/delphi-relatorio-com-sub-relatorios-simples/ http://vqv.com.br/lucelia/lpviidelphi/RelatorioMestreDetalheEAgrupado.pdf http://www.planetadelphi.com.br/dica/312/dicas-para-quickreport http://download.aamo.org.br/CPD/Treinamento/Delphi/cap18.pdf abraço
  7. em alguns testes que realizei com imagens, voce só vai conseguir isso se a imagem tiver menos de 16 Bits de cor, pois na compressão da imagem muitas cores são perdidas abraço
  8. ok... como Data voce tem que especificar o campo na select sql.SQL.Add('SELECT nome, data, telefone, tipo FROM TABELA'); para usar dessa forma sql.SQL.Add('SELECT * FROM TABELA'); deixe como campo calculado que não vai dar erro abraço
  9. no componente ClientDataSet use o o editor de campos (que você pode acessar dando um duplo clique no objeto), cliquecom o botão direito e selecione a opção New Field. Nas Propriedades do Campo selecione o nome, o tipo e o tamanho do campo ( Ex: NomeCampo, string, 10 ) No Tipo do Campo selecione: Data clique no botão OK para finalizar e pronto .. esse campo vai aparecer no seu DBGrid depois é só usa-lo como quiser abraço
  10. se é um campo que voce quer usar somente enquanto o programa estiver ativo, pode ser um campo virtual abraço
  11. crie mais um campo na sua tabela ex: TIPO varchar (10) ai na sua tabela ficariam os campos Status Tipo 0 1 2 3 o campo ( Tipo ) vai assumir um valor dependendo do Status 1 - Aberto 2 - Aguardando 3 - Fechado procedure TForm1.DBGrid1ColEnter(Sender: TObject); begin CDS_Tabela.Edit; if (DBGrid1.SelectedIndex = 1) then /// supondo que o campo Tipo esta na 2ª coluna begin if CDS_TabelaStatus.Value = 1 then CDS_TabelaTipo.Value := Aberto; if CDS_TabelaStatus.Value = 2 then CDS_TabelaTipo.Value := Aguardando; if CDS_TabelaStatus.Value = 3 then CDS_TabelaTipo.Value := Fechado; end; end; no DBGrid quando o cursor for para o campo Tipo, automaticamente vai ser atribuido o valor correspondente ... entendeu ? abraço
  12. utilize o evento OnColEnter do DBgrid exemplo procedure TFCadmov1.DBGrid1ColEnter(Sender: TObject); begin CDS_Cadmov.Edit; if (DBGrid1.SelectedIndex = 1) then // coluna selecionada do DBGrid onde esta o novo campo if CDS_CadmovStatus.Value = 1 then CDS_CadmovNovaColuna.Value := Aberto; end; Abraço
  13. O problema é que o stream de uma imagem em alta resolução é muito grande antes de salvar a imagem no banco de dados voce deve transforma-la em jpg voce tambem pode escalonar ( em percentual ) a imagem até que atinja um tamanho ideal exemplo: procedure setScaleImage(escala: TJPEGScale; const origem, destino: string); var objJpeg : TJpegImage; objbmp: TBitMap; begin objJpeg := TJPegImage.Create; objJpeg.LoadFromFile(origem); objJpeg.Scale := escala; objbmp := TBitmap.Create; objbmp.Assign(objjpeg); objJpeg.Assign(objbmp); objjpeg.SaveToFile(destino); objJpeg.Free; objbmp.Free; end; procedure TFCadastro.SpeedButton4Click(Sender: TObject); function tbFileSize(const FileName: string): integer; var SR: TSearchRec; I: integer; begin I := FindFirst(FileName, faArchive, SR); try if I = 0 then Result := SR.Size else Result := -1; finally FindClose(SR); end; end; var jpg: TJpegImage; x, i , tam, tam1 : integer; begin x := 0; tam1 := 0; Image4.Picture.Graphic.SaveToFile('c:\FOTO.JPG'); tam1 := tbFileSize('c:\FOTO.JPG'); tam1 := tam1 div 1024; x := tam1 div 100; if x >= 3 then x := 2; if x < 1 then begin x := 1; perc := 0; end; for i := 1 to x do begin tam := tbFileSize('c:\FOTO.JPG'); tam := tam div 1024; if tam < 50 then exit; if i = 1 then tam1 := tam; perc := ((tam1 - tam) / tam1)* 100; jpg := TJpegImage.Create; jpg.LoadFromFile('C:\FOTO.jpg'); clipboard.Assign(jpg); JPG.CompressionQuality := 40; JPG.Compress; JPG.SaveToFile('C:\FOTO.JPG'); jpg.Free; setScaleImage(jsHalf,'C:\FOTO.JPG', 'C:\FOTO.JPG'); FCadastro.Image4.Picture.Graphic.LoadFromFile('C:\FOTO.JPG'); tam := tbFileSize('c:\FOTO.JPG'); tam := tam div 1024; perc := ((tam1 - tam) / tam1)* 100; Edit2.Text := formatfloat(',0.00',perc) + ' %'; end; end; voce tem que fazer algumas adaptações no seu código abraço
  14. tem esses componentes da tmssoftware para delphi http://www.tmssoftware.biz/Download/Manuals/TMS%20Advanced%20Toolbars%20and%20Menus.pdf http://www.tmssoftware.com/site/advtoolbar.asp http://www.tmssoftware.com/site/advmenu.asp outra opção http://www.devmedia.com.br/criando-um-menu-com-listview-e-treeview/19044 abraço
  15. veja se isso te ajuda http://www.linhadecodigo.com.br/artigo/1286/soapui-testes-de-web-services-rapido-e-descomplicado.aspx http://www.devmedia.com.br/wsdl-simplifique-a-integracao-de-dados-via-web-service/30066 abraço
  16. Tente isso: Salvar diretamente a imagem no campo Blob Stream := TMemoryStream.Create; try myImage.Picture.Graphic.SaveToStream(Stream); Stream.Position := 0; fieldAux.LoadFromStream(Stream); finally Stream.Free; end; Carregar do campo Blob para o componente image Stream := TMemoryStream.Create; try fieldAux.SaveToStream(Stream); Stream.Position := 0; myImage.Picture.Graphic.LoadFromStream(Stream); finally Stream.Free; end; Veja tambem http://www.activedelphi.com.br/forum/viewtopic.php?t=69002&sid=8d57952bc33a336e abraço
  17. Tocador de Mp3 com controle de volume http://www.planetadelphi.com.br/delphi/exemplos/diversos/00004257.rar Tocador de Mp3 sem controle de volume, mas com outras informações sobre a musica http://www.planetadelphi.com.br/delphi/exemplos/diversos/00000857.zip outros www.un4seen.com http://www.un4seen.com/bass.html http://www.delphiffmpeg.com/ abraço
  18. não é somente o código que voce tem que usar ... deve instalar o componente para poder usar o código procedure TfmChromiumWrapper.Chromium3KeyEvent(Sender: TObject; const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: TCefEventHandle; out Result: Boolean); isso é um evento do componente ( Chromium3KeyEvent ) ... o seu uso é igual aos outros componentes do delphi abraço
  19. veja esse exemplo para te dar uma ideia http://www.planetadelphi.com.br/downloading/2076 abraço
  20. nesse link tem os Demos do delphichromium http://delphichromiumembedded.googlecode.com/svn/trunk/demos/ abraço
  21. amigo, achei que voce tinha aprendido algo com o seu ultimo post bastaria fazer algumas mudanças simples voce e seus colegas ELTHON,GABRIEL,JACKSON E JULIO terão muitas dificuldades nessa área program precodeseguro; {$APPTYPE CONSOLE} uses SysUtils;//, Crt; var vf, vp, tj, t, p, p1, i, c, co : Real; fp : integer; Const iof=(7.38/100); Begin //ClrScr; p1 := 0; WriteLn ('Calculo de IOF e parcelas com Juros - ELTHON,GABRIEL,JACKSON E JULIO'); WriteLn; Write ('Valor Liquido.: '); ReadLn (vp); Write ('Taxa de Juros.: '); ReadLn (tj); WriteLn ('IOF...........: 7.38 '); Write ('Parcelas......: '); ReadLn (p); Write ('Forma de Pagamento.... Boleto(1) Debito(2): '); ReadLn (fp); t := tj/100; // Taxa em porcento // PAGAMENTO EM BOLETO if (p = 1) and (fp = 1) then // 1 parcela begin vf := vp*(1+iof*p); p1 := vf / p; end; if (p = 2) and (fp = 1) then // 2 parcelas begin vf := vp*(1+iof*p); vf := vf +(vf*tj)/100; p1 := vf / p; end; if (p = 3) and (fp = 1) then // 3 parcelas begin vf := vp*(1+iof*p); vf := vf +(vf*tj)/100; vf := vf +(vf*tj)/100; p1 := vf / p; end; if (p = 4) and (fp = 1) then // 4 parcelas begin vf := vp*(1+iof*p); vf := vf +(vf*tj)/100; vf := vf +(vf*tj)/100; vf := vf +(vf*tj)/100; p1 := vf / p; end; if (p = 5) and (fp = 1) then // 5 parcelas begin vf := vp*(1+iof*p); vf := vf +(vf*tj)/100; vf := vf +(vf*tj)/100; vf := vf +(vf*tj)/100; vf := vf +(vf*tj)/100; p1 := vf / p; end; if (p = 6) and (fp = 1) then // 6 parcelas begin vf := vp*(1+iof*p); vf := vf +(vf*tj)/100; vf := vf +(vf*tj)/100; vf := vf +(vf*tj)/100; vf := vf +(vf*tj)/100; vf := vf +(vf*tj)/100; p1 := vf / p; end; // PAGAMENTO POR DEBITO if (p = 1) and (fp = 2) then // 1 parcela begin vf := vp*(1+iof*p); p1 := vf / p; end; if (p = 2) and (fp = 2) then // 2 parcelas begin vf := vp*(1+iof*p); p1 := vf / p; end; if (p = 3) and (fp = 2) then // 3 parcelas begin vf := vp*(1+iof*p); p1 := vf / p; end; if (p = 4) and (fp = 2) then // 4 parcelas begin vf := vp*(1+iof*p); p1 := vf / p; end; if (p = 5) and (fp = 2) then // 5 parcelas begin vf := vp*(1+iof*p); p1 := vf / p; end; if (p = 6) and (fp = 2) then // 6 parcelas begin vf := vp*(1+iof*p); p1 := vf / p; end; WriteLn; WriteLn ('Valor Liquido:',vp:8:2); WriteLn ('Valor das parcelas:',p:2:0,'X',p1:8:2); WriteLn ('Valor Total:',vf:4:2); /// mostra o valor total ReadLn; End. abraço
  22. amigo, fiz um teste aqui, jogando uma impressora na porta COM1 ( pois não tenho essa impressora fiscal ) e está funcionando a impressão é enviada para a porta COM1 ( usando o código que te passei ) veja se no seu caso não está ocorrendo conflitos de Requisição de Interrupção e de Portas de Comunicação http://www.usr-lat.com/support/doc-popup-template.asp?url=/loc-brzl/inc-support/faqs/analog/10551-brzl.htm OBS: outra sugestão ... use o quickreport para montar uma impressão, selecionando essa impressora como padrão e veja o que ocorre abraço
  23. como teste use esse código unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} // abra a impressora como se fosse um arquivo qualquer. // Use LPT1/2/3/4 ou COM1/2/3 // conforme a porta da impressora; procedure TForm1.Button1Click(Sender: TObject); var F : TextFile; begin AssignFile(F,'COM1'); Rewrite(F); Writeln(F,'Teste de impressao - Linha 0'); Writeln(F,'Teste de impressao - Linha 1'); Writeln(F,#27#15+'Teste de Impressão - Linha 2'); Writeln(F,'Teste de impressao - Linha 3'); Writeln(F,#27#18+'Teste de Impressão - Linha 4'); Writeln(F,'Teste de impressao - Linha 5'); Writeln(F,#12); // Ejeta a página CloseFile(F); end; end. veja se imprime alguma coisa dessa maneira abraço
  24. a impressora aparece na lista de impressoras instaladas ?
  25. amigo, voce tem 2 opções: cria mais uma tabela e faz relacionamento entre tabelas ou insere mais campos na mesma tabela mostre como esta a estrutura de sua tabela atualmente abraço
×
×
  • Criar Novo...