Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi String in Textdatei suchen (https://www.delphipraxis.net/2231-string-textdatei-suchen.html)

oldi 13. Jan 2003 21:24


String in Textdatei suchen
 
Hi .. hab da ein Problem !

Ich muss für ein Programm einen Währungskurs aus dem Internet abfragen. Dies möchte ich folgendermaßen lösen :

- Das Programm läd eine Internetseite im html format herunter das den Kurs als String irgendwo enthält (HTML Code) und speichert diese als body.txt (soweit hab ich das auch schon :D )

- Das Programm sucht nun einen bestimmten String "A" in body.txt, der vor der eigentlichen Zahl, dem Währungskurs steht.

- Das Programm nimmt nun die 7 nächsten Zeichen hinter dem String "A" ( zB. 1,0000 .. mein Kurs) und ordnet sie der Variable "B" als String zu.


Kann mir jemand bei Punkt 2 und 3 helfen ?
Vielen Danke
Gruß
oldi

Christian Seehase 13. Jan 2003 22:08

Moin oldi,

erst einmal herzlich willkommen.

Für die Suche nach einem String könntest Du pos benutzen, für das herauskopieren eines bestimmten Teiles copy.

nailor 13. Jan 2003 22:31

Na ja. Auf den Websiten, die ich nutze, kommt der String 'A' doch häufiger vor. Da muss man wohl noch zusätzliche Kriterien einbauen. ZB, dass Vorher schon einmal ein anderer String gekommen sein muss, und man dann das nächste 'A' verwendet...

oldi 13. Jan 2003 22:57

Wenn das Wort "Dollar" in dem String vorkommt wird es doch ziemlich eindeutig für meinen Bedarf.
Allerdings hab ich noch ein anderes Prob. Die HTML Datei kann ich net als kompletten String verwenden, weil die zu lang ist. Wie kann man die zerlegen ?

Christian Seehase 13. Jan 2003 23:03

Moin oldi,

ein String darf theoretisch bis zu 2GB belegen.
Das dürfte doch genügen. ;-)

oldi 14. Jan 2003 20:00

irgendwie funktioniert meine copy anweisung net... bekomm nen fehler : 'nicht genügend wirkliche parameter' was mach ich falsch ? Hier der code :

Delphi-Quellcode:
var
  Form1: TForm1;
  File1: Textfile;
  verz: String;
  String1: String;
  position1: Integer;
  laengestring1: Integer;
  startkurs: Integer;
  kurs: real;
  laengekurs: Integer;
  gesstring: string;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin

// NMHTTP1.Get('http://www.waehrungskurs.de/all_currencies.php');

    startkurs:=1;
    laengekurs:=1;
   
   
     gesstring:=edit1.text;
     laengekurs:=strtoint(edit2.text);


    GetDir(0,verz);
    AssignFile(File1, 'body.txt');
    Reset(File1);
  while (not EoF(File1)) do
  begin
    Readln(File1,String1);
    Memo1.Lines.Add(String1);
    position1:=Pos(gesstring, String1);
    laengestring1:=Length(gesstring);
    startkurs:=laengestring1+position1+1;
    kurs:=strtofloat(copy(String1[startkurs], laengekurs));

  end;


end;
danke,
gruß björn

oldi 14. Jan 2003 20:06

Delphi-Quellcode:
kurs:=strtofloat(copy(String1, startkurs, laengekurs));
so geht.. stimmt das aber auch ?

oldi 14. Jan 2003 20:34

hm.. das geht.. aber scheinbar stimmt was mit der pos funktion net... der findet den substring bei mir net und gibt immer 0 zurück

Christian Seehase 17. Jan 2003 23:03

Moin Björn,

da ich aus Deinem Code nicht so recht schlau geworden bin:

Hast Du berücksichtigt, dass der Substring der erste und der zu durchsuchende String der zweite Parameter ist?


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:59 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