![]() |
Re: TWebbrowser Werte in Lable.Caption darstellen
Soweit super .. jedoch löscht er jetzt alles raus weil im Memo.Text jetzt es so steht
Delphi-Quellcode:
In einer Zeile und nicht
<string>ErrorCode
Delphi-Quellcode:
Deshalb löscht das Ding nun auch den ErrorCode raus .
<string>
ErrorCode Wie bekomme ich das hin das entweder ErrorCode runtergesetzt wird nach dem <String> oder er wirklich nur <string> löscht. |
Re: TWebbrowser Werte in Lable.Caption darstellen
Hallo,
< und > ersetzen und nicht nur < |
Re: TWebbrowser Werte in Lable.Caption darstellen
Öhmn okay ... wo denn ? :) *dummfrag* ;)
|
Re: TWebbrowser Werte in Lable.Caption darstellen
Delphi-Quellcode:
Oder alles auf einmal:
Memo.Text := AnsiReplaceText(Memo.Text,'<',sLineBreak + '<');
Memo.Text := AnsiReplaceText(Memo.Text,'>','>' + sLineBreak);
Delphi-Quellcode:
Memo.Text := AnsiReplaceText(AnsiReplaceText(Memo.Text,'<',sLineBreak + '<'),'>','>' + sLineBreak);
|
Re: TWebbrowser Werte in Lable.Caption darstellen
Ich würde das so machen...
Delphi-Quellcode:
var
i : Integer; Code : String; begin Code := ''; for i := Memo1.Lines.Count - 1 downto 0 do if AnsiPos('ErrorCode', Memo1.Lines.Strings[i]) > 0 then begin Code := Memo1.Lines.Strings[i + 1]; Code := StringReplace(Code, '/', '', [rfReplaceAll]); Code := StringReplace(Code, '<value>', '', [rfReplaceAll]); Code := StringReplace(Code, '<string>', '', [rfReplaceAll]); break; end; ShowMessage(Code); |
Re: TWebbrowser Werte in Lable.Caption darstellen
Danke schonmal dafür, jedoch löscht er jetzt ALLES raus :)))
und lässt nicht die Feldwerte stehen :/( |
Re: TWebbrowser Werte in Lable.Caption darstellen
Dann zeig doch einmal den aktuellen Code.
|
Re: TWebbrowser Werte in Lable.Caption darstellen
Hier der ganze Code ... hab nen bisschen auskommentiert und so was ich mal probiert hatte also davon nicht stören lassen
Delphi-Quellcode:
unit uCSUSTIDtools;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleCtrls, SHDocVw, ActiveX, ExtCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP,StrUtils ; type TTFrmMain = class(TForm) eUSTID1: TEdit; eUSTID2: TEdit; eFirmenname: TEdit; eOrt: TEdit; ePLZ: TEdit; eStrasse: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; btnAnfrageSenden: TButton; cmbDrucken: TComboBox; Label8: TLabel; Label9: TLabel; Label10: TLabel; eRGueltigAb: TEdit; Label11: TLabel; eRGueltigBis: TEdit; Label12: TLabel; eRFirmenname: TEdit; Label13: TLabel; eROrt: TEdit; Label14: TLabel; eRPLZ: TEdit; Label15: TLabel; eRStrasse: TEdit; Button1: TButton; eRAnfrangeAm: TEdit; Label16: TLabel; Label17: TLabel; eRAnfrageUm: TEdit; Label18: TLabel; eRErrorCode: TEdit; Panel1: TPanel; Label19: TLabel; Label20: TLabel; IdHTTP1: TIdHTTP; lErrorCode: TLabel; Memo1: TMemo; procedure btnAnfrageSendenClick(Sender: TObject); private public { Public-Deklarationen } end; var TFrmMain: TTFrmMain; implementation uses mshtml; {$R *.dfm} // CEigene function WB_GetHTMLCode(WebBrowser: TWebBrowser; ACode: TStrings): Boolean; var ps: IPersistStreamInit; ss: TStringStream; sa: IStream; s: string; begin ps := WebBrowser.Document as IPersistStreamInit; s := ''; ss := TStringStream.Create(s); try sa := TStreamAdapter.Create(ss, soReference) as IStream; Result := Succeeded(ps.Save(sa, True)); if Result then ACode.Add(ss.Datastring); finally ss.Free; end; end; procedure TTFrmMain.btnAnfrageSendenClick(Sender: TObject); var MyIdHTTP: TIdHTTP; HTMLCode: string; kompletterCode :string; RError,RGueltigBis,RGuelitgAb,RAnfrageAm,RAnfrageUm :string; s: String; errorcode: string; i: integer; begin // Abfrage der Felder für die Eingabe die dürfen nicht leer sein (* If (eUSTID1.text = '') or (eUSTID2.text = '') or (eFirmenname.text = '') or (eOrt.text = '') or (ePlz.text = '') or (eStrasse.text = '') or (cmbDrucken.text = '') then begin showmessage('Die Eingabe weist Fehler auf. Bitte prüfen Sie die Eingabe.'); exit; end; *) // Anfrage zur USTID Seite stellen und in das Memo1 Feld schreiben. MyIdHTTP := TIdHTTP.Create; try HTMLCode := MyIdHTTP.Get('http://evatr.bff-online.de/evatrRPC?UstId_1='+eUSTID1.Text+ '&UstId_2='+eUSTID2.Text+ '&Firmenname='+eFirmenname.Text+ '&Ort='+eOrt.Text+ '&PLZ='+ePlz.Text+ '&Strasse='+eStrasse.Text+ '&Druck='+cmbDrucken.Text); memo1.Text := HTMLCode; for i := Memo1.Lines.Count - 1 downto 0 do if AnsiPos('ErrorCode', Memo1.Lines.Strings[i]) > 0 then begin Memo1.text := Memo1.Lines.Strings[i + 1]; Memo1.text := StringReplace(memo1.Text, '/', '', [rfReplaceAll]); Memo1.text := StringReplace(memo1.Text, '<value>', '', [rfReplaceAll]); Memo1.text := StringReplace(memo1.Text, '<string>', '', [rfReplaceAll]); break; end; ShowMessage(memo1.text); // memo1.text := {StrUtils.}AnsiReplaceText(HTMLCode,'<',sLineBreak + '<'); //for i := Memo1.Lines.Count - 1 DownTo 0 do // if (Trim(memo1.lines[i]) = '') or (Trim(memo1.lines[i])[1] = '<') then // memo1.lines.Delete(i); //s := AnsiReplaceText(HTMLCode,'<',#13 + '<'); //ErrorCode := s.IndexOf('ErrorCode') + 1 ; //ShowMessage(memo1.text); (* s := HtmlCode; // Hinweiss hier: 1. Zahl ist AB Zeichen und 2. Zahl ist WIEVIELE zeichen RError := Copy(s, 231, 3); RGuelitgAb := Copy(s, 1582,3); RGueltigBis := Copy(s, 1582,3); RAnfrageAm := Copy(s, 905,10); RAnfrageUm := Copy(s, 1316, 8); // Fehlercodes umwanden in Texte . Fehlercodes stehen auf [url]http://evatr.bff-online.de/eVatR/xmlrpc/codes[/url] RError := StringReplace(RError, '215', 'Ihre Anfrage enthält nicht alle notwendigen Angaben für eine einfache Bestätigungsanfrage (Ihre deutsche USt-IdNr. und die ausl. USt-IdNr.).Ihre Anfrage kann deshalb nicht bearbeitet werden. ', [rfReplaceAll, rfIgnoreCase]); RError := StringReplace(RError, '200', 'Die angefragte USt-IdNr. ist gültig. ', [rfReplaceAll, rfIgnoreCase]); eRErrorCode.Text := RError; lErrorCode.Caption := RError; eRGueltigAb.Text := RGuelitgAb; eRAnfrangeAm.Text := RAnfrageAm; eRAnfrageUm.Text := RAnfrageUm; // Umwandeln der Codes in Werte // s := HtmlCode; // s := StringReplace(s, '215', 'Falscher Wert', [rfReplaceAll, rfIgnoreCase]); // ShowMessage(s); *) finally FreeAndNil(MyIdHTTP); end; end; end. |
Re: TWebbrowser Werte in Lable.Caption darstellen
Zitat:
|
Re: TWebbrowser Werte in Lable.Caption darstellen
Ist eigentlich schon jemandem aufgefallen, daß es hier stark nach XML/RPC riecht?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz