Dies ist mein Code (nicht die deutschen Variablennamen beachten):jede zweite Zeile in einer txt-Datei in Pascal
IF Frage = 1 THEN
BEGIN
Reset(Textdatei);
Writeln;
i := 0;
WHILE NOT EoF(Textdatei) DO
BEGIN
Inc(i);
Readln(Textdatei,Dateiname);
// NUMMER
IF i < 10 THEN
BEGIN
Temp := Copy(Dateiname,2,1); // Speichert position als Str
posTemp := StrToInt(Temp); // position wird als Int gespeichert
pos0 := posTemp;
END;
IF (i < 100) AND (i > 9) THEN
BEGIN
Temp := Copy(Dateiname,2,2);
posTemp := StrToInt(Temp);
pos0 := posTemp;
END;
IF (i >= 100) THEN
BEGIN
Temp := Copy(Dateiname,2,3);
posTemp := StrToInt(Temp);
pos0 := posTemp;
END;
// NAME
posTemp := pos(' ',Dateiname);
posTemp2:= pos('.',Dateiname);
UnknownLength := (posTemp2-1) - posTemp;
Temp := Copy(Dateiname,posTemp+1,UnknownLength);
Name := Temp;
// KG
posTemp := pos('// ',Dateiname);
posTemp2:= pos('kg',Dateiname);
posTemp := posTemp + 2;
UnknownLength := (posTemp2-1) - posTemp;
Temp := Copy(Dateiname,posTemp,UnknownLength);
posTemp := StrToInt(Temp);
KG := posTemp;
//Liste beschreiben
Liste := AddElement(Name, pos0, KG, Liste);
END;
END;
ClrScr;
Writeln('Laden erfolgreich!');
Readkey;
Submenu();
So ist dieser Code nicht richtig funktioniert, weil die txt-Datei, die ich load enthält leere Zeilen. Um genau zu sein: Jede ZWEITE Zeile im TXT ist leer. Das bedeutet, dass ich jede leere Zeile überspringen muss, wenn ich meine verkettete Liste mit den Elementen aus dem txt ausfülle.
- Wie kann ich dem Compiler sagen, jede 2/leere Zeile zu überspringen?
- Wie kann ich meinem Compiler sagen, nur eine bestimmte Zeile zu lesen?
Wenn Sie eine meiner Fragen beantworten, kann ich endlich mein kleines Programm beenden.
Die Innenseite meiner txt sieht genauso aus wie folgt aus:
#1: Bisasam. // 11 kg
#2: Bisaknosp. // 22 kg
#3: Bisaflor. // 33 kg
So wie Sie jede zweite Zeile ist zu sehen, leer, und wenn es eine leere Zeile in meiner Liste zu laden versucht, es stürzt ab.
Hallo :) Ja, ich kann das tun, aber dann muss ich dem Compiler sagen, nur eine Leerzeile zu ignorieren und ich weiß einfach nicht die Syntax für Skip-Zeile oder zählen Sie die Zeilen oder was auch immer .. sorry im Anfänger :/könnte nicht finden, Anyhing auf Google entweder ... – user7285912
Danke, aber irgendwie funktioniert es nicht. Es stürzt immer in dieser Zeile ab, wenn versucht wird, die Schleife ein zweites Mal zu durchlaufen: posTemp: = StrToInt (Temp); ---- aber vielleicht ist das Problem nicht die leere Zeile, vielleicht ist es etwas anderes, denn der Mod Test sollte total funktionieren ... und trotzdem stürzt er genau dort ab ..:: s – user7285912