Ich werde es nochmal Probieren zu erklären!
Ich will mit dieser Abfrage erreichen
Delphi-Quellcode:
if ((Merkmal = ID) and (Temp1.ID < Temp2.ID))
or ((Merkmal = N) and (Temp1.Name < Temp2.Name))
or ((Merkmal = T) and (Temp1.Typ < Temp2.Typ))
or ((Merkmal = K) and (Temp1.Kategorie < Temp2.Kategorie))then
das je nach dem was Merkmal für einen Wert beeinhaltet, ein BubbleSort realisiert wird!
Das wirkliche Tauschen der position in der Datei wird erst in dem then Teil ausgeführt, da es ja bei allen(also egal welchen Wert Merkmal hatt) das selbe ist!
Nur die Abfragen nach den Abfragen welchen Wert Merkmal beeinhaltet ist für die unterschiedlichen Fälle anders!
Aber der Code oben, funktioniert bei mir nicht und ich verstehe nicht warum(habe das so schon öffters gemacht)??
Welche sagen es liegt am Delphi Compiler andere sagen es muss so laufen.
Tut es aber nicht, das Problem liegt ganz klar da, das als erstes geprüft wird ob Merkmal = N ist (ist es aber nicht) und dann testet er den ersten or Teil überhaupt nicht mehr.....TELL MI WHY (bin schon min. 10 mal mit dem debugger durch--> keine Idee!!)
@computer-glossar.de
ID := 1,2,3,4....
Name:= String[50]
Typ:=(CD,DVD)
Kategorie:= (Film,Musik,Software,SonstigeDaten)
Da liegt aber auch nicht der Fehler, er müsste ja zumindest mal den Ausdruck auswerten tut er aber net!