Ir para conteúdo
Fórum Script Brasil

Jhonas

Monitores
  • Total de itens

    9.657
  • Registro em

Tudo que Jhonas postou

  1. o tamanho padrão da propriedade Heigth do TEdit é 21 abraço
  2. Vá em Menu > Component > Install Component > Into new Package clique no botão < Browse... > para procurar os arquivos .pas ou .dcu Em Package file name: coloque o nome do seu pacote de componentes Clique em OK ... mas não instale ainda feche a janela onde aparece o arquivo .pas de seu componente Na janela menor do package, clique em < Add > Procure pelos outros .pas ( outros componentes que voce criou ) Clique em < OK > para ir adicionando a lista Depois clique em < Install > para instalar todos os componentes desse pacote abraço
  3. Acho que tem alguma a respeito no forum ... pesquise http://scriptbrasil.com.br/forum/index.php...te=quick+report abraço
  4. veja esse exemplo: http://www2.bematech.com.br/suporte/downlo...emploDelphi.zip abraço
  5. que eu saiba somente por código: Como transformar uma figura em marca d’água. procedure TForm1.Button1Click(Sender: TObject); var X, Y: Integer; begin brush.style := bsClear; for y := 0 to image1.height - 1 do for x := 0 to image1.width - 1 do begin if (x mod 2)=(y mod 2) then image1.canvas.pixels[x, y] := clWhite; end; end; outra forma é usar o word para fazer isso abraço
  6. depois que montar um por um, voce pode adiciona-los a um unico package para instalar abraço
  7. Você recebe a mensagem "Um programa está tentando acessar emails armazenados no Outlook" porque, por razões de segurança, o Catálogo de Endereços do Outlook é protegido por programação. Essa mensagem é útil para impedir que outro programa acesse automaticamente o seu Catálogo de Endereços ou a lista de Contatos ou que envie mensagens em seu nome sem a sua permissão. A mensagem serve para permitir que alguns programas, como o Microsoft ActiveSync® ou o Palm Desktop, acessem as informações de seus contatos de modo que você possa sincronizar seu PDA. Entretanto, um vírus ou outro arquivo de programa indesejado pode usar a mesma funcionalidade para se propagar. Essa mensagem aparece se um programa tenta acessar o Catálogo de Endereços. Em geral, não há como impedir a exibição desse aviso. Essa mensagem não é exibida quando o Outlook interage com software de sincronização confiável. http://www.techtips.com.br/programacao/out...aves_do_delphi/ possivel solução: http://www.rsoutlook.com/blog/2004/06/um-p...aceder-aos.html abraço
  8. outra dica: Enviar email pelo Outlook unit Unit1; interface uses Windows, Messages, SysUtils, 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; const olMailItem = 0; implementation uses comobj, olectrls; {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); var Outlook: OleVariant; vMailItem: variant; begin try Outlook := GetActiveOleObject('Outlook.Application'); except Outlook := CreateOleObject('Outlook.Application'); end; vMailItem := Outlook.CreateItem(olMailItem); vMailItem.Recipients.Add('fulando@mundo.com.br'); // 1o destinatário vMailItem.Recipients.Add('ciclano@mundo.com.br'); // 2o destinatário vMailItem.Subject := 'teste de email'; // assunto vMailItem.Body := 'Este é um teste'; // Corpo do e-mail vMailItem.Attachments.Add('C:\temp\arq.txt'); // arquivo anexado vMailItem.Send; VarClear(Outlook); end; abraço
  9. Exemplo: vamos abrir 4 tabelas: ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('select CODIGO from PRODUTOS_A where CODIGO = 1234'); ADOQuery1.Active:=True; ADOQuery1.Open; ADOQuery2.Close; ADOQuery2.SQL.Clear; ADOQuery2.SQL.Add('select CODIGO from PRODUTOS_B where CODIGO = 1234'); ADOQuery2.Active:=True; ADOQuery2.Open; ADOQuery3.Close; ADOQuery3.SQL.Clear; ADOQuery3.SQL.Add('select CODIGO from PRODUTOS_C where CODIGO = 1234'); ADOQuery3.Active:=True; ADOQuery3.Open; ADOQuery4.Close; ADOQuery4.SQL.Clear; ADOQuery4.SQL.Add('select CODIGO from PRODUTOS_D where CODIGO = 1234'); ADOQuery4.Active:=True; ADOQuery4.Open; agora vamos editar o registro de cada uma delas ( isso pode estar em um botão ) ADOQuery1.Edit; ADOQuery2.Edit; ADOQuery3.Edit; ADOQuery4.Edit; depois de editado os registros, vamos salvar as alterações ADOQuery1.Post; ADOQuery2.Post; ADOQuery3.Post; ADOQuery4.Post; ADOQuery1.ApplayUpdates(-1); ADOQuery2.ApplayUpdates(-1); ADOQuery3.ApplayUpdates(-1); ADOQuery4.ApplayUpdates(-1); a sequencia seria essa ... todas as tabelas estariam apontando para o mesmo codigo em cada uma das tabelas abraço
  10. Tem arquivo anexado ao email ? outro componente seria o IdSMTP1 abraço
  11. Primeiro voce deve baixar o Acrobat Distiller 5.0 e instalar ( impressora PDF ) e depois deixa-la em OFF-LINE http://www.4shared.com/file/31999630/1b5dd...ler_50.html?s=1 Os códigos abaixo são para o delphi 5 e delphi 7 unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleServer, Word97; type TForm1 = class(TForm) Button1: TButton; OpenDialog1: TOpenDialog; WordApplication1: TWordApplication; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} // NESSECITA TER INSTALADO UMA IMPRESSORA PDF ... EXEMPLO: ACROBAT DISTILLER // PARA SER USADO NO DELPHI 5 procedure TForm1.Button1Click(Sender: TObject); var oWord : TWordApplication; varFileName : OleVariant; begin // CONVERTER DOC PARA PDF // DEIXE A IMPRESSORA EM OFF-LINE PARA SALVAR O DOCUMENTO NO HD oWord := TWordApplication.Create (Nil); Try if OpenDialog1.Execute then begin oWord.Connect; varFileName := OpenDialog1.FileName; oWord.Documents.Open (varFileName,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam); oWord.ActiveDocument.PrintOut (EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam); oWord.Disconnect; end; Finally oWord.Free; End; end; end. ///////////////////////////////////////////////////////////////////////////////////////// unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleServer, WordXP; type TForm1 = class(TForm) Button1: TButton; WordApplication1: TWordApplication; OpenDialog1: TOpenDialog; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} // NESSECITA TER INSTALADO UMA IMPRESSORA PDF ... EXEMPLO: ACROBAT DISTILLER // PARA SER USADO NO DELPHI 7 procedure TForm1.Button1Click(Sender: TObject); var oWord : TWordApplication; varFileName : OleVariant; begin // CONVERTER DOC PARA PDF // DEIXE A IMPRESSORA EM OFF-LINE PARA SALVAR O DOCUMENTO NO HD oWord := TWordApplication.Create (Nil); Try if OpenDialog1.Execute then begin oWord.Connect; varFileName := OpenDialog1.FileName; oWord.Documents.Open (varFileName,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam); oWord.ActiveDocument.PrintOut (EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam); oWord.Disconnect; end; Finally oWord.Free; End; end; end. OBS: O documento word ( .doc ) será salvo no disco em formato PDF abraço
  12. os componentes que voce deve usar são: TZQuery, TDataSetProvider, TClientDataSet e TDataSource DataSetProvider ligado ao TZQuery pela propriedade DataSet. ClientDataSet ligado ao DataSetProvider pela propriedade ProviderName. DataSource ligado ao ClientDataSet pela propriedade DataSet. DbGrid ligado ao DataSource. Fazer a consulta através do ClientDataSet em vez do TZQuery. Após feito isso você pode desconectar o seu TZQuery que os dados irão continuar em memória através do ClientDataSet. exemplo: http://blogdoaudrey.blogspot.com/ Posts a respeito do assunto: http://scriptbrasil.com.br/forum/index.php...p;highlite=zeos informações sobre o Zeos: http://www.pauloamaral.com.br/cefetse.pa/z...ib_tutorial.htm abraço
  13. voce pode usar o comando: NewPage; // Nova Pagina ao final dos dados do Funcionario1, do Funcionario2 ...etc exemplo: http://www.devmedia.com.br/post-8007-Rave-...com-Quebra.html abraço
  14. o certo: cds_Modelo.Insert; cds_Modelo.Edit; cds_ModeloNomedoCampo.Value := ' XXXXXX '; // demais campos cds_Modelo.Post; cds_Modelo.ApplyUpdates(-1); ou cds_Modelo.Append; cds_Modelo.Edit; cds_ModeloNomedoCampo.Value := ' XXXXXX '; // demais campos cds_Modelo.Post; cds_Modelo.ApplyUpdates(-1); abraço
  15. aparentemente é o que parece coloque um componente shape no seu relatorio e estique até a largura da pagina na opção Landscape as medidas serão Width 297,00 Length 210,00 quando voce der um preview no report voce perceberá que realmente esta na posição de paisagem e não retrato abraço
  16. exemplo para melhor entendimento do assunto http://wanc.wordpress.com/2007/12/18/pilha...listas-parte-i/ http://wanc.wordpress.com/2008/01/10/pilha...rte-ii/#more-34 http://wanc.wordpress.com/2008/05/21/pilha...stas-parte-iii/ abraço
  17. voce pode usar WinExec('cmd /c PrinterUtility.exe' ,0); ou pode colocar o programa no iniciar do windows abraço
  18. Use um software para colocar a marca d'agua na imagem http://www.filehippo.com/download_paint.net/tech/ abraço
  19. explique melhor, se não fica dificil entender o que esta querendo abraço
  20. exemplo: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleCtrls, ShockwaveFlashObjects_TLB; type TForm1 = class(TForm) ShockwaveFlash1: TShockwaveFlash; Button1: TButton; ListBox1: TListBox; procedure SeekArq(Arquivo,Dir: string); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.SeekArq(Arquivo,Dir: string); var D, A: TSearchRec; Pasta, Arq: Integer; begin Arq := FindFirst(dir+'\'+Arquivo,faAnyFile,A); while Arq = 0 do begin ListBox1.Items.Add(Dir+'\'+A.Name); Arq := FindNext(A); end; Pasta := FindFirst(dir+'\*.*',faAnyFile,D); while Pasta = 0 do begin if (D.Name <> '.') and (D.Name <> '..') then SeekArq(Arquivo,Dir+'\'+D.Name); Pasta := FindNext(D); end; FindClose(D); FindClose(A); end; procedure TForm1.Button1Click(Sender: TObject); begin SeekArq('flash.swf','C:\'); //incluirá em uma listbox ShockwaveFlash1.Movie := ListBox1.Items.Strings[0]; end; end. OBS: ele vai procurar pelo arquivo 'flash.swf' onde estiver e vai colocar o caminho do arquivo no componente para ser executado abraço
  21. OK .. pensei que fosse o scroll do mouse nesse caso use o componente Scrollbar da paleta Standard procedure TForm1.ScrollBar1Change(Sender: TObject); begin StringGrid1.col := StringGrid1.col + 2; // mudar o foco de 2 em 2 colunas end; só que não é só isso ... tem que fazer o processo inverso, e o controle pode ser feito pelo evento do mouse tente ai ... abraço
  22. veja esse post http://scriptbrasil.com.br/forum/index.php...=gerar+parcelas abraço
  23. já experimentou usar o metodo Repaint ? Va em Iniciar > Painel de Controle > Mouse > Roda ( ou scroll ) > Número de Linhas de cada vez coloque o numero de linhas que quer que role OBS: ScrollBar move linhas não colunas abraço
  24. voce está certo... tem que criar uma nova instância usando o OleContainer , ou seja, cada vez que voce clicar em um botão para abrir um arquivo do Excel, tem que criar a nova instância, dessa maneira uma não vai interferir com a outra. abraço
×
×
  • Criar Novo...