Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.167 Beiträge
 
Delphi 12 Athens
 
#16

AW: TDirectory.GetLogicalDrives

  Alt 16. Nov 2020, 22:45
Auf den ersten Blick sieht deine Schleife nicht so aus, als wenn sie nicht gehen sollte.
Ein Problem mit ANSI <-> Unicode hast du nicht zufällig?

Per se:
ein #0 = String-Ende
zwei #0#0 = Listen-Ende

bzw. ist eigentlich ein leerer String '' ist das Ende (nichts zwischen zwei #0) und natürlich auch ein NIL (komplett leere Liste)


noch ein paar mögliche Varianten:
Delphi-Quellcode:
while P^ <> #0 do begin
  Strings.Add(P);
  P := StrEnd(P) + 1;
end;

while P <> 'do begin
  S := P;
  Strings.Add(S);
  Inc(P, Length(S) + 1);
end;

while True do begin
  S := P;
  if S = 'then
    Break;
  Strings.Add(S);
  Inc(P, Length(S) + 1);
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (16. Nov 2020 um 22:55 Uhr)
  Mit Zitat antworten Zitat