[Delphi] Datei einlesen

Daradon

Cadet 1st Year
Registriert
Mai 2004
Beiträge
15
jaja gut nicht lachen .. aber nunja .. ich habs jetzt 5 mal versucht und das auf der simpelsten weise ... und ich hab ka warum da nichts funktioniert .. gestern gings noch (denke ich ! :) ) einwandfrei ..

Code:
procedure TForm1.Button1Click(Sender: TObject);
var
datei : TextFile;
s : string;
begin
if not Opendialog1.execute then
exit;

AssignFile(datei,Opendialog1.FileName);
reset(datei);

while EOF(datei) do
begin
Readln(datei,s);
Listbox1.Items.add(s);
end;
closefile(datei);
end;

end.

falls es wegen den exeptions is ... erschießt mich ok ? :)
 
:)
ich brauch aber leider einzellne zeilen

sonst aber danke :)
 
es müsste
Code:
while [color=red]not[/color] EOF(datei) do
heißen ;)

Hmm vollständig könnte es so aussehen:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var
datei : TextFile;
s : string;
begin
if not Opendialog1.execute then
exit;

{$I-} // keine Exception bei FileIO werfen
AssignFile(datei,Opendialog1.FileName);
reset(datei);

if IOResult = 0 then // bei $I- muss man aber dafür das IOResult prüfen
begin
  while not EOF(datei) do
  begin
    Readln(datei,s);
    Listbox1.Items.add(s);
  end;
end;
closefile(datei);
{$I+} // wieder anschalten
end;
 
Zuletzt bearbeitet:
oh man ... danke :)
ne andere frage .. wie könnte ich so eine if formulieren:
"if text in einem teil von String then"
 
Zuletzt bearbeitet:
Dafür gibt es zwei Funktionen:

AnsiContainsStr // mit Groß-/Kleinschreibung
AnsiContainsText // ohne Groß-/Kleinschreibung

Erster Parameter ist der Gesamtstring, zweiter Parameter der Teilstring, Rückgabewert ist ein Boolean.

Ein Aufruf könnte so aussehen:
if AnsiContainsText ("TestString", "Test") then ....


Wichtig ist vielleicht noch anzumerken, dass der Teilstring nicht unbedingt am Anfang des Gesamtstrings stehen muss.
 
Zuletzt bearbeitet:
oh danke ... aber warum steht das nicht bei mir in der delphi hilfe ? hab nach teilstring gesucht .. aber diese function nicht gefunden ,...
was ich denke auch in der hilfe fehlt sind die Regulären ausdrücke .. ich finde da nur was für das suchen/ersetzten menü in delphi :rolleyes:
 
Zuletzt bearbeitet:
Naja, ich weiß nicht welche Delphiversion Du benutzt. Aber AnsiCompareStr müsste ab Delphi 5 dabei sein.

Reguläre Ausdrücke werden im Code so weit ich weiß nicht unterstützt. Dafür brauchst Du schon ein Interpretermodul.



Gerade noch gefunden:
function AnsiStartsStr(const ASubText, AText: string): Boolean;
Prüft, ob ein String mit einem anderen String beginnt.

Achso, hab ich vergessen: Um die Funktionen nutzen zu können, musst Du
uses StrUtils;
machen.
 
Zuletzt bearbeitet:
Zurück
Oben