Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Textdatei - Inhalt ab bestimmten Punkt in Zeile einlesen (https://www.delphipraxis.net/91537-textdatei-inhalt-ab-bestimmten-punkt-zeile-einlesen.html)

Svenkan 6. Mai 2007 19:22


Textdatei - Inhalt ab bestimmten Punkt in Zeile einlesen
 
Ich habe eine PHP-Datei (Config vom wBB).
Nun möchte ich z.B. aus der Zeile
Code:
$sqlhost = "localhost";
das localhost auslesen und in ein Textfeld übergeben lassen.
Nur hab ich leider keine Ahnung, wie ich den Curser dahin setzen kann, damit er auch wirklich nur dies liest. Ist das überhaupt möglich?

Klaus01 6. Mai 2007 20:30

Re: Textdatei - Inhalt ab bestimmten Punkt in Zeile einlesen
 
Guten Abend,

mit der Funktion pos kannst Du feststellen ob ein bestimmter SubString in Deinem String existiert.
Wenn der SubString in dem String enthalten ist, gibt pos Dir die Position des Substrings aus.

Grüße
Klaus

himitsu 7. Mai 2007 11:44

Re: Textdatei - Inhalt ab bestimmten Punkt in Zeile einlesen
 
Mit PosEx kannst du dann auch nachfolgend noch was Suchen und per Copy kann man sich den betreffenden Abschnitt rauskopieren

man könnte jetzt zwar
Delphi-Quellcode:
i := Pos('$sqlhost = "', S);
i2 := PosEx('"', S, i + 1);
S2 := Copy(S, i + 1, i2 - i - 1);
// oder
i := Pos('$sqlhost', S) + 4;
i2 := PosEx('"', S, i + 1);
S2 := Copy(S, i + 1, i2 - i - 1);
gleich den ganzen Suchsting suchen, aber wenn da noch ein paar Leerzeichen mehr/weniger um das = drum sind, dann geht es nicht mehr, also wäre es besser, wenn man sich dem Stringanfang nähert.


Delphi-Quellcode:
S := '... $sqlhost = "localhost"; ...';

i := Pos('$sqlhost', S);
i := PosEx('"', S, i + 1);
i2 := PosEx('"', S, i + 1);
S2 := Copy(S, i + 1, i2 - i - 1);

// in S2 ist dann 'localhost' drin
(! ungetestet)

Svenkan 7. Mai 2007 13:55

Re: Textdatei - Inhalt ab bestimmten Punkt in Zeile einlesen
 
Das klappt schonmal.
Müsste ich nun, um eine bestimmte Zeile auszulesen und dort nach etwas zu suchen, dies über ReadLn machen?

Klaus01 7. Mai 2007 14:00

Re: Textdatei - Inhalt ab bestimmten Punkt in Zeile einlesen
 
Du könntest die Datei auch in eine StringList laden und direkt auf eine bestimmte Zeile zugreifen.

Delphi-Quellcode:

sl := TStringList.create;
sl.loadFromFile('FileName');

// auf eine Zeile zugreifen
// sl[i]

sl.free;
Grüße
Klaus

Svenkan 7. Mai 2007 14:12

Re: Textdatei - Inhalt ab bestimmten Punkt in Zeile einlesen
 
Ma ne ganz blöde Frage.....
Wo find ich denn die StringList? xD
Ich finds beim besten Willen nirgends oO

Klaus01 7. Mai 2007 14:18

Re: Textdatei - Inhalt ab bestimmten Punkt in Zeile einlesen
 
TStringList ist keine visuelle Komponente.

Du kannst Sie z.B. hier vereinbaren:

Delphi-Quellcode:
type
  TForm1 = class(TForm)
  private
    sl: TStringList;
    { Private declarations }
  public
    { Public declarations }
  end;
Grüße
Klaus

Svenkan 7. Mai 2007 14:27

Re: Textdatei - Inhalt ab bestimmten Punkt in Zeile einlesen
 
:wall:

So langsam häuft sich ja immer mehr Wissen an..:D
Kann ich bald auch ma Hilfe geben, statt nur nehmen. ^^
Danke. ;)
Jetzt funktioniert alles, wie ichs will. :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz