Ir para conteúdo
Fórum Script Brasil

Douglas Soares

Veteranos
  • Total de itens

    864
  • Registro em

  • Última visita

Tudo que Douglas Soares postou

  1. Agora quando você fechar seu programa, feche o que você abriu e renomeie o arquivo novamente. Coloque isso no Event OnClose do seu form: procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); var H:THandle; begin try begin H := FindWindow(nil,'O Firefox é meu!!!'); if H > 0 then SendMessage(H,WM_CLOSE,0,0); end; except end; RenameFile('C:\Arquivos de Programas\Teste\NovoArquivo.exe', 'C:\Arquivos de Programas\Teste\ArquivoAntigo.exe'); end; Abraços
  2. Para alterar o Caption faça um teste com o Firefox, exemplo: ChangeWindowCaption('Ajudem um Inciante em delphi = ) - Fórum Script Brasil - Mozilla Firefox','O Firefox é meu!!!'); Abraços
  3. Isso, após ter copiado para a pasta do seu projeto e mesmo assim não funcionando, tente registra-la: regsvr32.exe C:\Meuprograma\dbxint30.dll Abraços
  4. Declare a Unit: ShellApi Coloque um botão no seu form e no Event OnClick coloque isso: RenameFile(C:\Arquivos de Programas\Teste\ArquivoAntigo.exe, 'C:\Arquivos de Programas\Teste\NovoArquivo.exe'); ShellExecute(Handle, nil, Pchar('C:\Arquivos de Programas\Teste\NovoArquivo.exe'), nil, nil, SW_SHOWNORMAL); Até aqui ele Renomeou e abriu o programa... vou ter que sair, depois posto o resto que sei se alguém já não tiver postado! falou
  5. também tenho essa dúvida a anos mas nunca perguntei.... ainda mais quando jogava tibia huahuahauhau, ou como dizem os tibianos, LOL
  6. Boa tarde, uso o QuickReport 5.02 e Delphi7, gostaria de saber como gerar relatórios PDF, DOC e HTM, somente a pagina selecionada, e não todas as paginas que vejo!, segue o código que vem na ajuda do QuickReport, que serve para gerar tudo e manualmente! uses QRPDFFilt; var aPDF : TQRPDFDocumentFilter; begin aPDF := TQRPDFDocumentFilter.Create('report.pdf'); aPDF.FontHandling := fhAutoEmbed; repform.QuickRep1.ExportToFilter( aPDF); aPDF.Free; end; Esse código serve para os 3 formatos, basta alterar de PDF para DOC ou HTM..... Para BMP ou JPG eu já consigo gerar só a pagina selecionada, segue o código: BMP procedure TQRStandardPreview.ExportQRBMP2 (FileName : String; FromPreview : boolean = False); var i : integer; MF : TMetaFile; B : TBitmap; Prg : TQRProgressForm; begin try // Vamos a guardar Prg := TQRProgressForm.Create (Self); Prg.Caption := Exportando; Prg.Gauge.Min := 0; Prg.Gauge.Max := QRPreview.QRPrinter.PageCount - 1; Prg.Gauge.Position := 0; Prg.Gauge.Update; Prg.Info.Caption := Pagina1De + IntToStr(QRPreview.QRPrinter.PageCount); Prg.Info.Update; Prg.Show; Prg.Info.Caption := Pagina + IntToStr(QRPreview.PageNumber); Prg.Info.Update; B := TBitmap.Create; B.PixelFormat := pf24bit; MF := QRPreview.QRPrinter.GetPage(QRPreview.PageNumber); B.Width := MF.Width; B.Height := MF.Height; B.Canvas.Draw(0,0,MF); B.PixelFormat := FPixelFormat; B.SaveToFile(FileName + '.BMP'); B.Free; Prg.Gauge.StepIt; Prg.Free; except MessageDlg (Error, mtError, [mbOK], 0); Exit; end; end; Para usar: ExportQRBMP2(caminho + arquivo, True); E abaixo JPG procedure TQRStandardPreview.ExportQRJPG2 (FileName : String; FromPreview : boolean = False); var i : integer; MF : TMetaFile; B : TBitmap; J : TJPEGImage; Prg : TQRProgressForm; begin try // Vamos a guardar Prg := TQRProgressForm.Create (Self); Prg.Caption := Exportando; Prg.Gauge.Min := 0; Prg.Gauge.Max := QRPreview.QRPrinter.PageCount - 1; Prg.Gauge.Position := 0; Prg.Gauge.Update; Prg.Info.Caption := Pagina1De + IntToStr(QRPreview.QRPrinter.PageCount); Prg.Info.Update; Prg.Show; Prg.Info.Caption := Pagina + IntToStr(QRPreview.PageNumber); Prg.Info.Update; B := TBitmap.Create; J := TJPEGImage.Create; B.PixelFormat := pf24bit; MF := QRPreview.QRPrinter.GetPage(QRPreview.PageNumber); B.Width := MF.Width; B.Height:= MF.Height; B.Canvas.Draw(0, 0, MF); B.PixelFormat := FPixelFormat; J.Assign(B); J.SaveToFile(FileName + '.JPG'); B.Free; J.Free; Prg.Gauge.StepIt; Prg.Free; except MessageDlg (Error, mtError, [mbOK], 0); Exit; end; end; Para usar: ExportQRJPG2(caminho + arquivo, True); Espero que alguém possa me ajudar.... Obrigado pessoal!
  7. Puxa... segui a dica do Eder Moraes, e agora na estação eu consigo trocar de usuários normalmente que funciona o programa!, porem no servidor ainda está o mesmo esquema! já ajudou 50% :lol: , Yuuuuhuuuu Obrigado
  8. Graças a Deus... fucei fucei, peguei os codigos do ExportPack.pas, coloquei o de JPG e BMP no QRPrev.pas e fui editando conforme as necessidades, e então... Eureka!!!... perfeito... vlw as dicas Jhonas, eu sou seu Fã numero 1!!! :lol: Abraços!
  9. Aqui Jhonas, um Export Filter Library totalmente Free... baixa a versão 1.2 se quiser confirmar! http://usuarios.lycos.es/isma/expack.htm Agora... depois de ter adicionado o componente no Form eu peguei e fiz uma edição no salvar porem está dando erro... procedure TQRStandardPreview.SaveClick(Sender: TObject); var aExportFilter : TQRExportFilter; filtLibEntry : TQRExportFilterLibraryEntry; sext, savefile : string; findx : integer; caminho, arquivo : string; begin eventHandled := false; if assigned(FParentReport.OnStandPrevEvent) then FParentReport.OnStandPrevEvent( self, spSave, 'Save',eventHandled); if eventHandled then exit; aExportFilter := nil; sdialog := TSaveDialog.Create(Application); try sdialog.Title := SqrSaveReport; sdialog.Filter := QRExportFilterLibrary.SaveDialogFilterString; //sdialog.DefaultExt := QRSaveExtensions[FParentreport.PreviewDefaultSaveType]; sdialog.FilterIndex := 2; sdialog.Filter := sdialog.Filter + '|Imagem Jpg(*.JPG)|*.jpg|Imagem Bmp(*.BMP)|*.bmp'; sdialog.Filename := 'Relatorio'; if not sdialog.Execute then exit; if sdialog.FilterIndex = 1 then sdialog.Filename := sdialog.FileName + '.qrp'; if sdialog.FilterIndex = 2 then sdialog.Filename := sdialog.FileName + '.pdf'; if sdialog.FilterIndex = 3 then sdialog.Filename := sdialog.FileName + '.htm'; if sdialog.FilterIndex = 4 then sdialog.Filename := sdialog.FileName + '.doc'; if sdialog.FilterIndex = 5 then begin sdialog.Filename := sdialog.FileName + '.jpg'; caminho := ExtractFilePath(sdialog.FileName); arquivo := ExtractFileName(sdialog.FileName); ExportQR1.ExportQRJPG(caminho + arquivo); Exit; end; if sdialog.FilterIndex = 6 then begin sdialog.Filename := sdialog.FileName + '.bmp'; caminho := ExtractFilePath(sdialog.FileName); arquivo := ExtractFileName(sdialog.FileName); ExportQR1.ExportQRBMP(caminho + arquivo); Exit; end; sext := ExtractFileExt( sdialog.FileName); savefile := sdialog.FileName; sext := upperCase( sext); // enforce an extension if sext = '' then begin findx := sdialog.FilterIndex-1; if findx = 0 then sext := QRSaveExtensions[FParentreport.PreviewDefaultSaveType] else if findx = 1 then sext := 'PDF' else begin try sext := TQRExportFilterLibraryEntry( QRExportFilterLibrary.Filters[findx - 2]).Extension; except sext := QRSaveExtensions[FParentreport.PreviewDefaultSaveType] end; end; if sext[1] = '.' then sext := copy( sext, 2, 3 ); savefile := savefile + '.' + sext; end; if sext[1] = '.' then sext := copy( sext, 2, 3 ); if sext='PDF' then begin QRPrinter.Save(savefile); exit; end; filtLibEntry := QRExportFilterLibrary.GetFilterByExtension(sext); if filtLibEntry=nil then exit; try aExportFilter := filtLibEntry.ExportFilterClass.Create(savefile); if FParentreport.ParentComposite <> nil then TQRCompositeReport( FParentreport.ParentComposite).ExportToFilter(aExportFilter) else FParentreport.ExportToFilter(aExportFilter); finally aExportFilter.Free end finally sdialog.Free; end; end; Mas não consigo salvar como JPG ou BMP sendo que acabei de adicionar a opção pra ver se funciona!............. O que fazer? Obrigado
  10. como instaladores tipo InnoSetup, ou keyloggers conseguem por arquivos tão facilmente nessas pastas, e nós não conseguimos com 200 linhas.... eita.... tem algum jeito, eu creio nisso! ehehe, alguma luz? Obrigado
  11. Desse seu jeito ele não restaura a janela caso o programa já está aberto =/, ele só fecha... obrigado pela atenção...
  12. Não consegui.... alguém conhece alguma forma de fechar o processo de outros usuarios? Obrigado
  13. Não não não :ninja: :ninja: :ninja: ........... tem milhoes de chamadas pra esse form, rsrsrs, será que não teria outra forma alterando de algum modo esse código??? Obrigado
  14. Boa tarde, tenho 5 sistemas, 4 são sistemas que clientes usam dependendo de suas necessidades, 1 é o controle de clientes, o Formulário principal de ambos se chama frmPrincipal, e uso uma função do nosso amigo Churc, para executar o programa mesmo se já estiver aberto no Tray, (http://scriptbrasil.com.br/forum/index.php?showtopic=137378), ele não deixa abrir outro programa porque ele procura pelo nome frmPrincipal, se ve que já encontra aberto ele não abre nenhum otro.... o problema é que não posso renomear para frmPrincipal1, frmPrincipal2, pois há muitas coisas ligadas a esse formulário, e isso pode estragar tudo, ehehe, no entando segue o código de um dos programas, não lembro bem o nome da unit... acho que é o DPR: program SIGI; uses Forms, Windows, Dialogs, SysUtils, Messages, formtal in C:\blabla\form.pas, .........................................., ......................., ..................., ..........................; {$R *.RES} Var HprevHist : HWND; MutexHandle : THandle; szParams: String = ''; procedure GetParams; var i: Integer; begin for i := 1 to ParamCount do if (i = 1) then szParams := ParamStr(i) else szParams := szParams + ' ' + ParamStr(i); end; function fromBackup: Boolean; begin Result := Pos('-reiniciar', LowerCase(szParams)) > 0; end; function OneInstanceAndRunning: Boolean; begin result := false; if (MutexHandle <> 0) and (GetLastError = ERROR_ALREADY_EXISTS) then begin GetParams; if not fromBackup then MessageDlg('O Programa já está em Execução nessa Maquina!', mtWarning, [mbOK], 0); result := true; end; end; begin GetParams; MutexHandle := CreateMutex(nil, True, 'AdministraIgrejas'); if OneInstanceAndRunning and not (fromBackup) then begin hPrevInst := FindWindow('TFrmPrincipal', nil); if hPrevInst <> 0 then begin SendMessage(hPrevInst, WM_SYSCOMMAND, SC_RESTORE, 0); SendMessage(hPrevInst, WM_RESTFROMTRAY, 0, 0); end; CloseHandle(MutexHandle); Halt; end; try Application.Initialize; Application.Title := 'AdministraIgrejas'; //frmTabelas := TfrmTabelas.Create(Application); //frmTabelas.ShowModal; //frmTabelas.Free; frmAbertura := TfrmAbertura.Create(Application); // Cria o form de abertura frmAbertura.Show; frmAbertura.Update; Application.CreateForm(TfrmPrincipal, frmPrincipal); Application.CreateForm(TdtmPrincipal, dtmPrincipal); Application.CreateForm(TfrmSelAnoDiz, frmSelAnoDiz); Application.CreateForm(TfrmSelMesAd, frmSelMesAd); Application.CreateForm(TFrmPesqCaixa, FrmPesqCaixa); Application.CreateForm(TFrmPesqBanco, FrmPesqBanco); Application.CreateForm(TfrmSemConexao, frmSemConexao); frmAbertura.Hide; frmAbertura.Free; Application.Run; finally if LongBool(MutexHandle) then CloseHandle(MutexHandle); end; end. Creio que o problema está bem naquela Linha hPrevInst := FindWindow('TFrmPrincipal', nil);, porem não sei como fazer de outra forma..... alguma ajuda? :rolleyes: Obrigado
  15. Boa Tarde, gostaria de saber como mover um arquivo para a pasta system32 do Windows Vista ou do Windows 7, pois ele não move quando uso o comando MoveFile, o problema é que eu tentava criar um arquivo .dll diretamente na pasta system32 e dava o erro: "File Acess Denied', dai eu mandei criar na pasta do meu sistema e depois tento mover pra system32, agora ele cria mas não move pra pasta system32... ele deve precisar de permissões de administrador pra isso.... o que fazer? Obrigado
  16. Então... não da pra usar essa procedure no seu código porque ela é do QRPrev.pas do QuickReport 5.02, eu editei ela assim, se quiser o QuickReport 5.02, me passa pm que te mando o link :rolleyes: Vlw
  17. 99% agora meu caro Jhonas... o questão de salvar no formato correto eu resolvi assim: procedure TQRStandardPreview.SaveClick(Sender: TObject); var aExportFilter : TQRExportFilter; filtLibEntry : TQRExportFilterLibraryEntry; sext, savefile : string; findx : integer; begin eventHandled := false; if assigned(FParentReport.OnStandPrevEvent) then FParentReport.OnStandPrevEvent( self, spSave, 'Save',eventHandled); if eventHandled then exit; aExportFilter := nil; sdialog := TSaveDialog.Create(Application); try sdialog.Title := SqrSaveReport; sdialog.Filter := QRExportFilterLibrary.SaveDialogFilterString; //sdialog.DefaultExt := QRSaveExtensions[FParentreport.PreviewDefaultSaveType]; sdialog.FilterIndex := 2; sdialog.Filename := 'Relatorio'; if not sdialog.Execute then exit; if sdialog.FilterIndex = 1 then sdialog.Filename := sdialog.FileName + '.qrp'; if sdialog.FilterIndex = 2 then sdialog.Filename := sdialog.FileName + '.pdf'; if sdialog.FilterIndex = 3 then sdialog.Filename := sdialog.FileName + '.htm'; if sdialog.FilterIndex = 4 then sdialog.Filename := sdialog.FileName + '.rtf'; sext := ExtractFileExt( sdialog.FileName); savefile := sdialog.FileName; sext := upperCase( sext); // enforce an extension if sext = '' then begin findx := sdialog.FilterIndex-1; if findx = 0 then sext := QRSaveExtensions[FParentreport.PreviewDefaultSaveType] else if findx = 1 then sext := 'QRP' else begin try sext := TQRExportFilterLibraryEntry( QRExportFilterLibrary.Filters[findx - 2]).Extension; except sext := QRSaveExtensions[FParentreport.PreviewDefaultSaveType] end; end; if sext[1] = '.' then sext := copy( sext, 2, 3 ); savefile := savefile + '.' + sext; end; if sext[1] = '.' then sext := copy( sext, 2, 3 ); if sext='QRP' then begin QRPrinter.Save(savefile); exit; end; filtLibEntry := QRExportFilterLibrary.GetFilterByExtension(sext); if filtLibEntry=nil then exit; try aExportFilter := filtLibEntry.ExportFilterClass.Create(savefile); if FParentreport.ParentComposite <> nil then TQRCompositeReport( FParentreport.ParentComposite).ExportToFilter(aExportFilter) else FParentreport.ExportToFilter(aExportFilter); finally aExportFilter.Free end finally sdialog.Free; end; end; Alterei o Onclick do btnSalvar do qrPrev.pas, fiz uma gambi rsrsrs, na hora de salvar eu pego nome do arquivo, e checo se sdialog.filterindex = 1 dai é qrp, 2 = pdf, 3 = htm, e 4 = rtf, porem tenho que deixar sómente Nome do arquivo, se eu digitar Relatorio.pdf e no tipo de arquivo tiver escrito htm, ele ira salvar como Relatorio.pdf.htm, q é o correto, porem eu gostaria que ficasse o nome do arquivo + extensão.... se ngm puder ajudar não tem problema, assim já fica bom, é só questão de luxo, rsrsrsrs Obrigado
  18. Ixi tá dificil, n teria jeito de fazer o Filename do SaveDialog trocasse assim que eu troco o FileType???
  19. já usei esse código também... não funciona no SATA-II nem no Vista.... Vlw
  20. Não resolveu... lê todos Hds menos o SATA-II, responda quando tiver tempo... obrigado
  21. Segue o código do botão Salvar para análise: procedure TQRStandardPreview.SaveClick(Sender: TObject); var aExportFilter : TQRExportFilter; filtLibEntry : TQRExportFilterLibraryEntry; sdialog : TSaveDialog; sext, savefile : string; findx : integer; begin eventHandled := false; if assigned(FParentReport.OnStandPrevEvent) then FParentReport.OnStandPrevEvent( self, spSave, 'Save',eventHandled); if eventHandled then exit; aExportFilter := nil; sdialog := TSaveDialog.Create(Application); try sdialog.Title := SqrSaveReport; sdialog.Filter := QRExportFilterLibrary.SaveDialogFilterString; //sdialog.DefaultExt := QRSaveExtensions[FParentreport.PreviewDefaultSaveType]; sdialog.Filename := 'Relatorio' + QRSaveExtensions[FParentreport.PreviewDefaultSaveType]; if not sdialog.Execute then exit; sext := ExtractFileExt( sdialog.FileName); savefile := sdialog.FileName; sext := upperCase( sext); // enforce an extension if sext = '' then begin findx := sdialog.FilterIndex-1; if findx = 0 then sext := QRSaveExtensions[FParentreport.PreviewDefaultSaveType] else if findx = 1 then sext := 'QRP' else begin try sext := TQRExportFilterLibraryEntry( QRExportFilterLibrary.Filters[findx - 2]).Extension; except sext := QRSaveExtensions[FParentreport.PreviewDefaultSaveType] end; end; if sext[1] = '.' then sext := copy( sext, 2, 3 ); savefile := savefile + '.' + sext; end; if sext[1] = '.' then sext := copy( sext, 2, 3 ); if sext='QRP' then begin QRPrinter.Save(savefile); exit; end; filtLibEntry := QRExportFilterLibrary.GetFilterByExtension(sext); if filtLibEntry=nil then exit; try aExportFilter := filtLibEntry.ExportFilterClass.Create(savefile); if FParentreport.ParentComposite <> nil then TQRCompositeReport( FParentreport.ParentComposite).ExportToFilter(aExportFilter) else FParentreport.ExportToFilter(aExportFilter); finally aExportFilter.Free end finally sdialog.Free; end; end;
  22. Opa, agora foi 95%, troquei isso: sdialog.Filter := QRSaveExtensions[FParentreport.PreviewDefaultSaveType]+'|*' + QRSaveExtensions[FParentreport.PreviewDefaultSaveType]+'|' + QRExportFilterLibrary.SaveDialogFilterString; por isso: sdialog.Filter := QRExportFilterLibrary.SaveDialogFilterString; dai só não aparece aquele .PDF la no começo....... agora o que preciso é que ele troque a extensão quando eu selecionar outra, por exemplo, ele carrega o nome padrão como Relatorio, ou seja, Relatorio.qrp, se eu trocar a extensão deveria trocar pra Relatorio.pdf, ou Relatorio.rtf.... e assim vai.... porem ele não está trocando o nome, e assim ele não está salvando corretamente.... o que fazer? Obrigado
  23. O pior é que isso ai não seria um problemãoooo.... o pior é que quando troco o tipo, o nome do arquivo continua o mesmo, ele não ta mudando pra nome + extensão nova.... e esse é a pior coisa...
  24. Olha só, ele tem uma variavel sdialog que é um savedialog, dai eu botei nesse form qrprev 3 componentes, o QRPDFFilter1, QRHTMLFilter1, QRRTFFilter1, dai quando to num relatório e clico em salvar, os tipos de arquivos aparecem assim: Percebe-se que no começo é .PDF e dps QuickReport File (*.QRP), PDF Document (*.PDF) e RTF File (*.RTF)... o que não consigo tirar é esse .PDF do começo e deixar que a primeira opção seja o PDF Document (*.PDF)..... e se possivel, remover tambem a opção QuickReport File (*.QRP)... Como devo proceder? Obrigado
×
×
  • Criar Novo...