Zitat von
Go2EITS:
Muss ich nochmal die Grundlagen strukturierter Datenverarbeitung lesen?
Verbessere bitte meinen Code. Wie kann ich es eleganter machen?
Ich lerne gerne dazu, bzw. verbessere meinen Programmierstil (Ernst gemeint!)
Und statt IF's CASE zu nehmen dürfte das "GOTO-Problem" auch nicht lösen.
Hallo, ich habe ihn mal überarbeitet. Du solltest gleiche Elemente zusammenfassen (hier mit or geschehen). Die Performance leidet nicht darunter, weil, wenn die erste Bedingung erfüllt wird, werden die anderen nicht mehr überprüft.
Delphi-Quellcode:
Result:=False;
Daten:='';
repeat
readln(f, Daten);
Daten:=Trim(daten);
if (Daten=chr(13)+Chr(10)) or
(Daten='') or
(daten[1]='/') or
(Daten[1]='#') or
(pos('C:\',daten) >0) then
begin
// tue hier irgendwas
// wenn nichts geschehen soll, lass diese Stelle
// einfach leer, vielleicht brauchst Du es später
// so wird gleich ersichtlich, dass nichts
// geschehen soll, wenn diese Bedingung erfüllt ist
end
else
begin
//Und hier stehen noch weitere Codes zum Verarbeiten des DATEN Strings
showmessage(Daten);
If pos('DEBUG',DATEN) >0 then
begin
RESULT:=TRUE; //Wir haben ja etwas gültiges gefunden...
//CODE hier
end;
// Hier stehen nochmals einige IF mit entsprechender Verarbeitung
end;
until EOF(f);