Ir para conteúdo
Fórum Script Brasil

Progr'amador

Veteranos
  • Total de itens

    1.130
  • Registro em

  • Última visita

Tudo que Progr'amador postou

  1. Ops!!! Achei a solução galera. ^_^ Word1.ActiveDocument.SaveAs('C:\PastaTeste\Novo_teste.RTF'); Valeu Abs. Progr'amador
  2. Olá pessoal, to precisando de um ajudinha de vocês tenho um Form onde preencho alguns Edits e esses dados eu importo prum arquivo RTF, so to com probleminha, gostaria que o prog. criasse um novo arquivo e salvasse em seguida. funciona assim: tenho um arquivo teste.RTF com o conteudo abaixo: (exemplo) ae o programa substitui o que esta entre esses '<>' assim: Word1 := CrieObjeto('Word.Application'); Doc := Word1.Documents.Open('C:\PastaTeste\teste.RTF'); Doc.Content.Find.Execute(FindText := '<NomeCont>', ReplaceWith := Edit1.Text); Doc.Content.Find.Execute(FindText := '<IdadeCont>', ReplaceWith := Edit2.Text); Doc.Content.Find.Execute(FindText := '<EndCont>', ReplaceWith := Edit3.Text); Word1.Visible := true; [/CODEBOX] ai vem a questão, ta funcionando, só que o programa simplesmente abre o arquivo e altera os dados eu preciso que esse arquivo teste.RTF funcione como um modelo tipo o DOT do word. detalhe: eu preciso usar esse tipo arquivo (RTF), não pode ser outro tipo. já tentei usar algo tipo: FileSaveAs('C:\PastaTeste\Novo_teste.RTF', 3); mas não deu certo Grato, Progr'amador
  3. Prefiro o BDE Abs. Progr'amador.
  4. Progr'amador

    Duvida

    Ok, etão ficaria tipo assim: begin ADOQry.Close; ADOQry.Params[0].Value := DBEdit.Text+'%'; ADOQry.Open; while not ADOQry. EOF do begin DBComboBox1.Clear; DBComboBox1.Items.Add(ADOQry.FieldByName('nome_campo').asstring); ADOQry.Next; end; end; só que no caso, essa ADOQry, NÃO pode ser a mesma que esta ligada com o DBEdit, adicione outra só pra essa finalidade. PS: só tenha um certo cuidado pra num ficar muito lento esse evento, afinal, toda letra adicionada ou apagada vai ser execultada esse código. Abs. Progr'amador.
  5. Olá seveN, vi que ve tem um btn para cada códgio, Novo, Alterar, etc. você pode fazer o seguinte tambem. Crie um variavel do tipo booelana var Form1: TForm1; novo : boolean; implementation {$R *.dfm} no evento onClick do BtNovo você adiciona: novo : True; nos demais: BtAlterar, BtSalvar, BtExcluir, BtCancelar, e no OnShow do Form: novo := False; e por fim: begin if novo then begin QRLogin.Close; QRLogin.Sql.clear; QRLogin.Sql.add('select * from tab_usuarios where login =:login'); QRLogin.ParamByName('login').asstring:= DBEdit2.text; QRLogin.Open; if not QRLogin.IsEmpty then begin ShowMessage('login já cadastrado'); DBEdit2.SetFocus; Exit; end; end; //Salvar DBCadastros.Enabled:= False; DBGeracao.Enabled:= False; DBConsultas.Enabled:= False; DBBackup.Enabled:= False; DBRelatorios.Enabled:= False; DBEdit1.Enabled:= False; DBEdit2.Enabled:= False; DBEdit3.Enabled:= False; DBComboBox2.Enabled:= False; DBComboBox1.Enabled:= False; DBGridUsers.Enabled:= True; BtAlterar.Enabled:= True; BtNovo.Enabled:= True; BtSalvar.Enabled:= False; BtExcluir.Enabled:= True; BtCancelar.Enabled:= False; BtFechar.Enabled:= True; Tab_Usuarios.Post; Tab_Usuarios.Refresh; novo := False; end; Abs. Progr'amador.
  6. Progr'amador

    Duvida

    no mesmo DBEDIT é complicado, não vai da certo, como é que você quer exibir? um na frente do outro: CIDADE1 CIDADE2 CIDADE3, num seria melhor em um dbgrid, ou combobox, ou listbox...? tipo, digita C exibe: CIDADE1 CIDADE2 CIDADE3 Abs. Progr'amador.
  7. Progr'amador

    Duvida

    O DBEdit esta ligado a uma Query ou Table, e conforme for digitando... for aparecendo ONDE???? você precisa detalhar um pouco mais. Abs. Progr'amador.
  8. hum!!! realmente, você ta usando dbf, por exemplo com SQLServer, MySQL e alguns outros quando se usa a função MAX +1, ele já entende que se trata valor numerico, não sei se pro dbf tem alguma função de converta isso para numeric, ou sei la outro tipo, mas de qualer forma então, vamos fazer isso forma mesmo, Tenta assim: procedure Tdm.tblCadFornBeforePost(DataSet: TDataSet); begin if not tblCadForn.FieldByName('FORCOD').IsNull then Exit; QueryMaxForn.DatabaseName := tblCadForn.DatabaseName; QueryMaxForn.SQL.Clear; QueryMaxForn.SQL.Add('SELECT MAX (FORCOD) FROM FINAFOR.dbf'); QueryMaxForn.Open; try tblCadForn.FieldByName('FORCOD').AsString := StrZero(IntToStr(StrToInt(QueryMaxForn.Fields[0].AsString)+1)),5); finally QueryMaxForn.Close; end; end; Abs. Progr'amador.
  9. Justamente o que disse o Micheus, no Arquivo QRCtrls.pas só que no CREATE você vai encotrar o código abaixo, ae é só alterar o a linha do transparent: { TQRCustomLabel } constructor TQRCustomLabel.Create(AOwner : TComponent); begin inherited Create(AOwner); FAutoSize := true; FAutoStretch := false; FWordWrap := true; FLines := TStringList.Create; FFormattedLines := TStringList.Create; DoneFormat := false; Caption := ''; Transparent := True; //false; UpdatingBounds := false; FFontSize := 0; FCaptionBased := true; end; Abs. Progr'amador.
  10. fuciona de qualqer forma, adptando pro seu código, ficaria tipo assim: procedure Tdm.tblCadFornBeforePost(DataSet: TDataSet); begin if not tblCadForn.FieldByName('FORCOD').IsNull then Exit; QueryMaxForn.DatabaseName := tblCadForn.DatabaseName; QueryMaxForn.SQL.Clear; QueryMaxForn.SQL.Add('SELECT MAX (FORCOD)+1 FROM FINAFOR.dbf'); QueryMaxForn.Open; try tblCadForn.FieldByName('FORCOD').AsString := StrZero(QueryMaxForn.Fields[0].AsString,5); finally QueryMaxForn.Close; end; end; Veja que coloquei o incremento diretamente na Select: SELECT MAX (FORCOD)+1 Abs. Progr'amador.
  11. Progr'amador

    Duvida

    Essa sua pergunta ta muito vaga, mas deixa eu ver se é isso: Usando o ADOQuery: SQL: Select * From Tabela Where Campo Like :param no OnChange do Edit: ADOQry.Close; ADOQry.Params[0].Value := Edit.Text+'%'; ADOQry.Open; Abs. Progr'amador.
  12. Olá Gabriel Cabral, você falou que o campo é string, então utilize esta função: function StrZero(Valor:string; QtdZero:integer):String; var I,Tamanho:integer; aux: string; begin aux:=Valor; Tamanho:=length(Valor); Valor:=''; for I:=1 to QtdZero-tamanho do Valor:=Valor+'0'; aux:=Valor+aux; StrZero:=aux; end; pra chamar é simples: (apenas exemplo) var inc, campo : string; begin inc := '2' campo := StrZero(inc,5); // resultado será: '00002' Abs. Progr'amador.
  13. Progr'amador

    String

    só uma obs Jhonas, Remove todos os espaços da esquerda e da direita de uma string. É que alguém pode achar que remove os espaços do meio tambem, tipo: novo teste = novoteste Abs. Progr'amador. ;)
  14. Olá, que tipo de implementação você quer fazer? da uma olhada nessa: http://scriptbrasil.com.br/forum/index.php?showtopic=113517 By Progr'amador. B)
  15. Progr'amador

    String

    isso serve? function fnTeste(str, ca : string; loc : integer) : string; var st : string; begin st := str; insert(ca,st,loc); Result := st; end; procedure TForm1.Button1Click(Sender: TObject); var Teste : string; begin Teste := 'SCRIPTBRASIL'; Teste := funcTeste(Teste,'-',7); end; Abs. Progr'amador.
  16. Progr'amador

    Replicação

    Olá Pessoal, Onde posso encontrar um tutorial bem explicativo sobre Replicação no MySQL? Ou, alguém poderia postar um exemplo bem prático de replicação? Já encontrei alguns exemplos na net mas não entendi muito bem. Tó usando O MySQL 6 Abs. Progr'amador. B)
  17. Olá "Delphi" :) Ae vai o código, só é o seguinte, não bloqueia o acesso ao Painel de Controle. O Painel abre normalmente, no entanto, as opções do painel de controle que na verdade é bloqueada, e de quebra outros bloqueios, como o CTRL+ALT+DEL: procedure TForm1.BloqueaWindows(YesNo : boolean); const sRegPolicies = '\Software\Microsoft\Windows\CurrentVersion\Policies'; begin with TRegistry.Create do try RootKey:=HKEY_CURRENT_USER; if OpenKey(sRegPolicies+'\System\',True) then begin case YesNo of False: begin WriteInteger('DisableTaskMgr',1); end; True: begin WriteInteger('DisableTaskMgr',0); end; end; end; CloseKey; if OpenKey(sRegPolicies + '\Explorer\',True) then begin case YesNo of False: begin WriteInteger('NoChangeStartMenu',1); WriteInteger('NoClose',1); WriteInteger('NoLogOff',1); WriteInteger('NoControlPanel',1); end; True: begin WriteInteger('NoChangeStartMenu',0); WriteInteger('NoClose',0); WriteInteger('NoLogOff',0); WriteInteger('NoControlPanel',0); end; end; end; CloseKey; finally Free; end; end; Há!, e não se esqueça de adicionar no uses Registry Abs. Progr'amador.
  18. Cara, na net você acha um monte de exemplos, teste esse: procedure TFmGerRec.BtBoletaClick(Sender: TObject); Var Impressora:TextFile; begin AssignFile(Impressora,'LPT1:'); Rewrite(Impressora); Writeln(impressora); //Imprime Local de pagamento Write(impressora,Format('%-50s',[' (PAGAVEL EM QUALQUER BANCO ATE O VENCIMENTO)'])); //Imprime Data Vencto e pula para próxima linha Writeln (impressora,Format('%-20s',[''+DatetoStr(DmDados.TbcontasRecRec_DataVencto.Value)])); //pula três linhas Writeln(Impressora); Writeln(impressora); Writeln(impressora); //Imprime Data de Emissão e Número Documento e salta duas linhas Writeln(impressora,Format('%-50s',[''+DatetoStr(DmDados.TbcontasRecRec_DataEmissao.Value)])); Writeln(impressora,Format('%-52s',[''+InttoStr(DmDados.TbcontasRecRec_Numero.Value)])); Writeln(impressora); //Imprime valor do Documento e pula p/ Próxima linha Write(impressora, Format('%-55s',[ ' '])); Writeln(impressora, Format('%-8.2m',[DmDados.TbContasRecRec_Valor.Value])); //Pula duas linhas Writeln(impressora); Writeln(impressora); //Imprime informações de Responsabilidade do Cedente Writeln(impressora, Format('%-50s',[' Neste Espaco Voce pode imprimir o Texto'])); Writeln(impressora, Format('%-50s',[' De Responsabilidade do Cedente, comum em '])); Writeln(impressora, Format('%-50s',[' Diversos Bancos,Ex: '])); Writeln(impressora, Format('%-50s',[' -Cobrar Juros de 10%/Mes Apos Vencimento'])); // Pula duas Linhas WriteLn(impressora); Writeln(impressora); //imprime informações do Sacado Writeln(impressora, Format('%-50s',[''+DmDados.TbcontasRecRazao.Value+'-CGC/CPF'+ Dmdados.TbContasRecCgc.Value])); Writeln(impressora, Format('%-50s',[''+DmDados.TbContasRecEndereco.Value])); Writeln(impressora, Format('%-50s',[' CEP'+DmDados.TbContasRecCEP.Value+''+ Dmdados.TbContasRecCidade.Value+''+ Dmdados.TbContasRecEstado.Value])); //Pula três linhas Writeln(impressora); Writeln(impressora); Writeln(impressora); CloseFile(impressora); end;[/codebox] Abs. Progr'amador.
  19. Olá Edgar, acho que isso num tem nada a ver não! Jonas, Uma dica, sempre que usar o ShowModal sempre faça uso do Free, para que o Form seja liberado da memória. Form1.ShowModal; Form1.Free; Sobre seu problema, verifique duas propriedades desse BitBtn: a opção Kind e ModalResult Kind deve ficar: bkCustom ModalResult: mrNone Caso não dê certo, tente colocar esse código em outro bitbtn ou mesmo num Buttum, no seu form. Abs. Progr'amador.
  20. ola, de dois cliques nesse ADOQuery, na "janelinha" que abrir clique com o botão direito do mouse em seguida escolha a opção Add Fields... vá ao compo Hora nas propriedades (object inspector) na opção DisplayFormat digite: hh:nn:ss, e no EditMask: !90:00:00;1;_ ae ta resolvido o problema, da mesma forma pra data se tiver problema, so que dessa forma dd/mm/yyyy e !99/99/0000;1;_. dica legal: da até pra adicinar o dia da semana na data, aaa dd/mm/yyyy ou aaaa dd/mm/yyyy Abs. Progr'amador.
  21. Ola, Esse campo "data da emissão" é do tipo data (DateTime) mesmo? faz assim: with query do begin Close; SQL.Clear; SQL.Add('Select * from tb_clientes where data da emissão between :PARAMETRO1 AND :PARAMETRO2 '); ParamByName('PARAMETRO1').AsDateTime := now; ParamByName('PARAMETRO2').AsDateTime := now; Open; end; PS: procure não usar espaços nem acentos no nome de campo, tipo: data_da_emissao ou até mesmo: data_emissao, no meu caso eu gosto mesmo é assim: dt_emissao, dtEmissao Abs. Progr'amador.
  22. Olá, Tenta assim: if FileExists('C:\Documents and Settings\Usuario\Desktop\Atalho.lnk') then DeleteFile('C:\Documents and Settings\Usuario\Desktop\Atalho.lnk'); Abs. Progr'amador.
  23. Olá, você podeira ser mais especifico, com mais detalhes. Qual o componente você ta usando pra fazer a conexão com o banco? seria algo do tipo: você teria que adicionar mais duas querys, 1ª SELECT (CampoValor) as ValorTotal FROM Tabela 2ª SELECT (CampoValor) as ValorTotal FROM Tabela WHERE mes = :mes Nos Edits : EditX.text := FormatFloat("###,###,##0.00",QueryX.FieldByNAme('ValorTotal').Value); etc... Abs. Progr'amador
  24. Olá, pra quem usa o a versão 4.05 do quickreport apartir da versão 7 do delphi, tenho uma dica interessante, que vai ser muito funcional sendo que você só vai ser preciso alterar o QRPrev.pas do quickreport adicionandoum botão na parte de cima, com isso servindo pra qualquer relatório sem ter que ficar programando a exportação individual. 1 passo: faça um backup do seu arquivo original, no caso qrprev.pas e qrprev.dfm no caso do delphi7 fica em C:\Arquivos de programas\Borland\Delphi7\quickrpt (Essa cópia é só por segurança caso dê algo errado). 2 passo: após feito a cópia abra o arquivo qrprev.pas, vai abrir a tela onde é gerado todos os relatórios do QRP, na ToolBar adicione um Button, e adicione tambem um SaveDialog (vou chamar de SaveDialog1). 3: passo: declare no uses: QRPDFFilt, e no button que você adicionou o código abaixo: procedure TQRStandardPreview.ToolButton3Click(Sender: TObject); var PDFFilt : TQRPDFDocumentFilter; FileExt : string; I : integer; begin PDFFilt := nil; with TSaveDialog.Create(Application) do try Title := SqrSaveReport; Filter := 'Arquivos Adobe PDF (*.pdf)|*.PDF'; FileName := QRPreview.QRPrinter.Title; if Execute then begin if pos('.',FileName) > 0 then FileName := Copy(FileName, 1, pos('.',FileName)-1)+'.pdf' else FileName := FileName+'.pdf'; FileExt := FileName; PDFFilt := TQRPDFDocumentFilter.Create(Filename); PDFFilt.AddFontMap( 'WebDings:ZapfDingBats' ); PDFFilt.TextOnTop := true; PDFFilt.LeftMargin := 0; PDFFilt.topMargin := 0; PDFFilt.CompressionOn := false; PDFFilt.Concatenating := true; QRPreview.QRPrinter.ExportToFilter(PDFFilt); PDFFilt.EndConcat; PDFFilt.Free; end; finally Free; end; end; Salve o arquivo ae é so abrir seu prejeto e compilar. By Progr'amador :rolleyes: Abs. Progr'amador.
  25. Ola, seria isso: function StrIsFloat(const S: string): boolean; begin try StrToFloat(S); Result := true; except Result := false; end; end; Abs. Progr'amador.
×
×
  • Criar Novo...