Autor Beitrag
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 22.12.08 20:36 
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 22.12.08 21:44 
Hmm, lecker die 303 Erbsen. :D
der organist Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 467
Erhaltene Danke: 17

WIN 7
NQC, Basic, Delphi 2010
BeitragVerfasst: Di 23.12.08 00:11 
momentan sieht meine Lösung so aus, will aber nich richtig funzen :(. Vllt ist auch einfach mein Ansatz falsch. Wichtig ist, dass in der letzten Zeile des Dokumentes "END." steht, damit ich weiss (besser noch, damit das Programm weiss), wann die Datei zu Ende ist:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
  while HellFreezes do begin
    ReadLn(input, Line);
    inc(Finish);
    if Line = 'END.' then begin
      Hellfreezes:=false;
    end;
  end;


HellFreezes ist eine Booleanariable, die voher auf True gesetzt wurde, input die Textdatei, ich hab auch schön AssignFile benutzt, naja und Line ist ein String, wer hätte es gedacht.

_________________
»Gedanken sind mächtiger als Waffen. Wir erlauben es unseren Bürgern nicht, Waffen zu führen - warum sollten wir es ihnen erlauben, selbständig zu denken?« Josef Stalin
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 23.12.08 00:36 
Das Programm weiß das auch so.
user profile iconDeddyH hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden Delphi-Quelltext
1:
while not Eof(F) do					
Wenn du die Zeile nicht mitzählen willst, dann zieh einfach am Ende 1 ab von der Zahl.
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 23.12.08 03:31 
Naja, ganz so einfach ist es denn nun doch nicht, der Inhalt der Zeile müsste dann noch geprüft werden. Das könnte dann so aussehen:
ausblenden Delphi-Quelltext
1:
while not Eof(F) and (AnsiLowerCase(trim(Zeile)) <> 'end.'do					

Wobei die Zeile dann im Gegensatz zu meinem letzten Beispiel doch wieder in einer Stringvariablen gepuffert werden muss.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 23.12.08 04:50 
Warum ist es nicht so einfach? Wenn das "end." in der letzten Zeile steht (das sagte er ja), dann muss das doch gar nicht geprüft werden. :nixweiss:
Einfach bis zum Ende der Datei die Zeilen zählen und fertig, dass in der letzten Zeile dann das "end." steht ändert doch nix an der Zeilenanzahl. :nixweiss:
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 23.12.08 17:35 
Und öffnest Du die Datei, fügst ein oder zwei Zeilenumbrüche hinzu, funktioniert das Ganze anscheinend nicht mehr. Wieso verlasst Ihr Euch eigentlich immer darauf, dass alles schon irgendwie stimmen wird?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 23.12.08 17:39 
Ich habe Vorbedingungen und Nachbedingungen, und angegeben war die Vorbedingung, dass "end." in der letzten Zeile steht, nicht, dass danach noch Leerzeichen kommen. Also muss ich um die Nachbedingung zu erreichen auch nicht davon ausgehen, dass die Vorbedingung nicht erfüllt war und nach der dann doch nicht letzten Zeile noch leere kommen oder ähnliches.

Wenn die Spezifikation der Datei doch nicht gestimmt hat muss das eben angepasst werden. Aber zunächst habe ich keinen Grund an einer Aussage zu zweifeln. :nixweiss:
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 23.12.08 17:47 
Ich geb' s auf.