-
Total de itens
864 -
Registro em
-
Última visita
Tudo que Douglas Soares postou
-
Utilize essa função: function TForm1.TextoEntre(Texto, Delimitador1, Delimitador2: String; CaseSensitive : boolean = false): string; var Inicio, Fim : Integer; Saida : string; begin // Passar o texto para variável temporária Saida := Texto; Saida := StringReplace(Saida, Delimitador1, '@', [rfReplaceAll]); Delimitador1 := '@'; // Verificar se é sensível ao caso // Pegar o início if CaseSensitive then Inicio := Pos(Delimitador1, Saida) else Inicio := Pos(ansiUpperCase(Delimitador1), ansiLowerCase(Saida)); // Verificar se localizou if Inicio > 0 then Saida := Copy(Saida, Inicio + Length(Delimitador1), Length(Saida)); // Pegar o fim if CaseSensitive then Fim := Pos(Delimitador2, Saida) else Fim := Pos(ansiUpperCase(Delimitador2), ansiUpperCase(Saida)); // Verificar se localizou if Fim > 0 then Saida := Copy(Saida, 1, Fim - 1); // retornar o resultado Result := Saida; end; e adicione um Memo no formulario... faça assim num botão: procedure TForm1.Button1Click(Sender: TObject); var uid, sig_user, sig_session_key, sig_api_key, farmuid, secretid : string; begin Memo1.Lines.Text := idhttp1.Get('http://www.url.com.br'); uid := Memo1.Lines.Text; uid := TextoEntre(uid, 'uid="', '&'); ShowMessage('uid: ' + uid); sig_user := Memo1.Lines.Text; sig_user := TextoEntre(sig_user, 'sig_user="', '&'); ShowMessage('sig_user: ' + sig_user); sig_session_key := Memo1.Lines.Text; sig_session_key := TextoEntre(sig_session_key, 'sig_session_key="', '&'); ShowMessage('sig_session_key: ' + sig_session_key); sig_api_key := Memo1.Lines.Text; sig_api_key := TextoEntre(sig_api_key, 'sig_api_key="', '&'); ShowMessage('sig_api_key: ' + sig_api_key); farmuid := Memo1.Lines.Text; farmuid := TextoEntre(farmuid, 'farmuid="', '&'); ShowMessage('farmuid: ' + farmuid); secretid := Memo1.Lines.Text; secretid := TextoEntre(secretid, 'secretid="', '&'); ShowMessage('secretid: ' + secretid); end; Abraços
-
Achei uma função porem tive que modifica-la, veja se te serve: function TForm1.TextoEntre(Texto, Delimitador1, Delimitador2: String; CaseSensitive : boolean = false): string; var Inicio, Fim : Integer; Saida : string; begin // Passar o texto para variável temporária Saida := Texto; Saida := StringReplace(Saida, Delimitador1, '@', [rfReplaceAll]); Delimitador1 := '@'; // Verificar se é sensível ao caso // Pegar o início if CaseSensitive then Inicio := Pos(Delimitador1, Saida) else Inicio := Pos(ansiUpperCase(Delimitador1), ansiLowerCase(Saida)); // Verificar se localizou if Inicio > 0 then Saida := Copy(Saida, Inicio + Length(Delimitador1), Length(Saida)); // Pegar o fim if CaseSensitive then Fim := Pos(Delimitador2, Saida) else Fim := Pos(ansiUpperCase(Delimitador2), ansiUpperCase(Saida)); // Verificar se localizou if Fim > 0 then Saida := Copy(Saida, 1, Fim - 1); // retornar o resultado Result := Saida; end; Use-a assim: var texto : string; begin texto := Memo1.Lines.Text; texto := TextoEntre(texto, '<iframe src="', '"'); ShowMessage(texto); end; Abraços
-
(Resolvido) Soma em StringGrid
pergunta respondeu ao Eder Pardeiro de Douglas Soares em Delphi, Kylix
Fiz como você disse, não adicionei a quantidade e depois somei num evento: procedure TForm1.FormCreate(Sender: TObject); begin StringGrid1.Cols[1].Text := 'Produto'; StringGrid1.Cols[2].Text := 'Valor Unitário'; StringGrid1.Cols[3].Text := 'Quantidade'; StringGrid1.Cols[4].Text := 'Valor Total'; StringGrid1.Cells[1, 1] := 'Sabão'; StringGrid1.Cells[2, 1] := '0,30'; end; Evento OnSetEditText do StringGrid procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol, ARow: Integer; const Value: String); var valor : Real; qtd : integer; begin if (ACol = 3) then begin if Value <> '' then begin valor := StrToFloat(StringGrid1.Cells[2, ARow]); qtd := StrToInt(StringGrid1.Cells[3, ARow]); valor := valor * qtd; StringGrid1.Cells[4, ARow] := FormatFloat('##,###,##0.00', valor); end else StringGrid1.Cells[4, ARow] := ''; end; end; Abraços -
JOGO 01: SANTOS-SP JOGO 02: GREMIO-RS JOGO 03: PALMEIRAS-SP JOGO 04: FLAMENGO-RJ JOGO 05: ATLETICO-MG x VASCO-RJ JOGO 06: INTERNACIONAL-RS x CRUZEIRO-MG JOGO 07: CORINTHIANS-SP JOGO 08: FLUMINENSE-RJ JOGO 09: GOIAS-GO JOGO 10: AVAI-SC x GREMIO PRUDENTE-SP
-
(Resolvido) Fechar QuickReport... manualmente
pergunta respondeu ao Douglas Soares de Douglas Soares em Delphi, Kylix
já consegui resolver... coloquei seu código pra testar também porém não funcionou, não foi encontrado :unsure: Mesmo assim obrigado pela ajuda. Pra quem quiser o código.... coloque isso no OnCloseQuery do seu formulario que tem o quickreport :rolleyes: procedure TfrmRelBoletoCaixa.FormCloseQuery(Sender: TObject; var CanClose: Boolean); var i : integer; myform : string; begin try myform := 'QRStandardPreview'; i := 0; while (screen.formcount > 1) and (i < screen.formcount) do if Screen.Forms[i].Name = myform then begin screen.forms[i].release; application.processmessages; end else inc(i); except end; end; Abraços -
Boa tarde.... tenho uma rotina pra gerar boletos e anexa-los num email... eu abro um relatório do quickreport e no afterpreview eu coloco pra ele exportar... só que a pessoa tem que fechar o quickreport daí.... como eu faria pra ele se fechar sozinho??? o close não funciona :wacko: Obrigado
-
rotina de backup para bancos mysql
pergunta respondeu ao Denis Courcy de Douglas Soares em Delphi, Kylix
Pelo que vi o arquivo de backup é exportado no formato sql... Não estou muito certo, pelos programas de gerenciamento de banco você faria sem problemas, mas pelo delphi acho meio dificil,o que você poderia tentar é fazer uma query e ir adicionando linha por linha do arquivo sql e executar, tipo um for, mais ou menos assim: var f : textfile; line : string; begin AssignFile(f, 'C:\backup.sql'); Reset(f); while not Eof(f) do begin Readln(f, line); Query1.close; Query1.Sql.clear; Query1.Sql.Add(line); Query1.ExecSql; end; end; Abraços -
(Resolvido) Soma em StringGrid
pergunta respondeu ao Eder Pardeiro de Douglas Soares em Delphi, Kylix
Fiz um teste no form create, adicionei valores no string grid e já somei... faça o teste: procedure TForm1.FormCreate(Sender: TObject); var valor : real; qtd : integer; begin StringGrid1.Cols[1].Text := 'Produto'; StringGrid1.Cols[2].Text := 'Valor Unitário'; StringGrid1.Cols[3].Text := 'Quantidade'; StringGrid1.Cols[4].Text := 'Valor Total'; StringGrid1.Cells[1, 1] := 'Sabão'; StringGrid1.Cells[2, 1] := '0,30'; StringGrid1.Cells[3, 1] := '50'; valor := StrToFloat(StringGrid1.Cells[2, 1]); qtd := StrToInt(StringGrid1.Cells[3, 1]); StringGrid1.Cells[4, 1] := FormatFloat('#,###.00', valor * qtd);; end; Abraços -
Puxa churc... se eu fosse ter que carregar todas as imagens eu tava frito :P ... o que eu to querendo é tipo o que o Windows Live Mail ou o Outlook faz... colocar uma imagem no corpo do email... eu já consigo fazer isso com esse código: for i := 0 to frmCobrancaSenhas.imglistbox.Items.Count - 1 do begin if FileExists(imagens_anexas + frmCobrancaSenhas.imglistbox.Items[i]) then begin if gmail then begin idText2.Body.Text := StringReplace(idText2.Body.Text, imagens_anexas + frmCobrancaSenhas.imglistbox.Items[i], 'cid:' + frmCobrancaSenhas.imglistbox.Items[i], [rfReplaceAll]); end else begin idText1.Body.Text := StringReplace(idText1.Body.Text, imagens_anexas + frmCobrancaSenhas.imglistbox.Items[i], 'cid:' + frmCobrancaSenhas.imglistbox.Items[i], [rfReplaceAll]); end; frmCobrancaSenhas.IdMessage1.Body.Text := StringReplace(frmCobrancaSenhas.IdMessage1.Body.Text, imagens_anexas + frmCobrancaSenhas.imglistbox.Items[i], 'cid:' + frmCobrancaSenhas.imglistbox.Items[i], [rfReplaceAll]); idAttach := TIdAttachment.Create(p, imagens_anexas + frmCobrancaSenhas.imglistbox.Items[i]); idAttach.ContentType := 'image/jpeg'; if gmail then begin IdAttach.DisplayName := ExtractFileName(imagens_anexas + frmCobrancaSenhas.imglistbox.Items[i]); idAttach.ContentDisposition := 'inline'; end else begin idAttach.ContentDisposition := 'attachment'; end; idAttach.ExtraHeaders.Values['Content-id'] := ExtractFileName(imagens_anexas + frmCobrancaSenhas.imglistbox.Items[i]); end; end; Funciona pra qualquer provedor, é claro que eles pedem pra EXIBIR IMAGENS BLÁ BLÁ BLÁ... mas daí aparece.... porém no gmail não....... a imagem era pra ir no corpo, porém vai como anexo... e no corpo onde era pra ta a imagem fica sem nada :wacko: ... Tem alguma ideia?
-
adicionar css e javascript no IntraWeb
pergunta respondeu ao LucAlucard de Douglas Soares em Delphi, Kylix
Dê uma olhada nesses links: http://estacaozn.blogspot.com/2008/06/delp...t-intraweb.html http://www.delphibr.com.br/artigos/iw1.php Abraços -
E ae... Vixi eu consegui já fazer isso aquele dia, só que tipo eu só mando o que ta dentro do <body> </body>... a unica coisa agora é que se eu mando uma imagem anexada ao corpo, no gmail não vai, ela vai como anexo comum, porém em qualquer outro provedor recebe normal no corpo da mensagem... o que eu poderia fazer??? Abraços
-
(Resolvido) Como mudar cor do groupbox ou panel
pergunta respondeu ao arce de Douglas Soares em Delphi, Kylix
Se você estiver usando o componente VCL Skin, ele vem um builder junto, nele você poderá alterar seu skin, daí você altera a cor dos componentes desejados :D Se não tiver, tá aqui o link dele: http://www.4shared.com/file/NaXGL1Cv/BUILDER.html Abraços -
JOGO 01: SÃO PAULO-SP JOGO 02: FLUMINENSE-RJ x ATLETICO-GO JOGO 03: GREMIO PRUDENTE-SP JOGO 04: CORINTHIANS-SP JOGO 05: INTERNACIONAL-RS JOGO 06: FLAMENGO-RJ JOGO 07: SANTOS-SP JOGO 08: PALMEIRAS-SP JOGO 09: CRUZEIRO-MG JOGO 10: ATLETICO-PR
-
(Resolvido) Atualizar no DbGrid
pergunta respondeu ao Alberto Mota de Douglas Soares em Delphi, Kylix
Faz um teste com uma tecla por exemplo, vá no evento OnKeyDown do DBGRID e coloca: Tecla F5 if key = VK_F5 then begin Query1.close; Query1.open; end; Abraços -
(Resolvido) Como mudar cor do groupbox ou panel
pergunta respondeu ao arce de Douglas Soares em Delphi, Kylix
Experimente outro skin, talvez o que esteja usando as cores não foram alteradas... ou tente alterar a propriedade color dos componentes... -
(Resolvido) Atualizar no DbGrid
pergunta respondeu ao Alberto Mota de Douglas Soares em Delphi, Kylix
assim que informar a data você deverá executar a query novamente.... -
Vá em Components > Install Packages e veja se ele se encontra na lista, se tiver remova-o...
-
Simples... if Edit1.Focused then ShowMessage('Edit1 Focado!'); if DBGrid1.Focused then ShowMessage('DBGrid1 Focado'); Abraços
-
Abra o delphi, vá em File > Open e abra o arquivo na seguinte pasta: c:\program files\borland\delphi7\Lib\dclusr.dpk Depois que abrir clique no botão remove e selecione todas as units do componente que quer remover e clique ok, e depois clique no botão COMPILE, salve e feche o delphi... Abraços
-
(Resolvido) Armazenar foto Sql Server
pergunta respondeu ao Alberto Mota de Douglas Soares em Delphi, Kylix
Certo, mas você tinha a unit Jpeg declarada? talvez seja esse o problema com jpg... -
(Resolvido) Armazenar foto Sql Server
pergunta respondeu ao Alberto Mota de Douglas Soares em Delphi, Kylix
Faça um debug pra ver se está passando alguma informação errada... var foto1,guardafoto : string; Begin with TblEmp do Begin guardafoto := TblEmp.FieldByName('codigoEmp').AsString; ShowMessage('guardafoto: ' + guardafoto); ShowMessage('caminho completo: ' + 'C:\folha\fotos\'+guardafoto+'.jpg'); if fileexists('C:\folha\fotos\'+guardafoto+'.jpg') then begin foto1 := ('C:\folha\fotos\'+guardafoto+'.jpg'); ShowMessage(foto1); DbImage1.Picture.loadfromfile(foto1); end else foto1 := ('C:\folha\fotos\20.jpg'); -
Esses componentes são pagos, segue site: http://www.devart.com/mydac/ Experimente usar os nativos do delphi ou então comprar esse no link acima... Abraços
-
(Resolvido) Armazenar foto Sql Server
pergunta respondeu ao Alberto Mota de Douglas Soares em Delphi, Kylix
Creio que você está trocando os caminhos uma hora você poe C:\folha\ e outra C:\folha\fotos, posso estar enganado...... outra coisa, você está fazendo uma coisa sem sentido ao transformar um inteiro em string de uma tabela sendo que se pode obter o valor string diretamente dela... tente assim: var foto1,guardafoto : string; Begin with TblEmp do Begin guardafoto := TblEmp.FieldByName('codigoEmp').AsString; if fileexists('C:\folha\fotos\'+guardafoto+'.jpg') then begin foto1 := ('C:\folha\fotos\'+guardafoto+'.jpg'); DbImage1.Picture.loadfromfile(foto1); end else foto1 := ('C:\folha\fotos\20.jpg'); Abraços -
Você não entendeu... você só abrirá a tabela quando for dar o append; e assim que salvar você pode fecha-la... if not ADOTable1.Active then ADOTable1.Open; AdoTable1.Append; e dps que salvar já pode fechar... ... ADOTable1.ApplyUpdates; ADOTable1.Close; Abraços
-
Creio que você da um open na tabela no formcreate ou no formshow, apenas remova de lá e adicione no começo do botão novo... if not ADOTable1.Active then ADOTable1.Open; Abraços