Einzelnen Beitrag anzeigen

Delfiano

Registriert seit: 13. Jul 2020
61 Beiträge
 
#22

AW: TDirectory.GetLogicalDrives

  Alt 17. Nov 2020, 22:00
Oh, ich hatte die falsche Stelle erwischt und dadurch kam auch mein Denkfehler.

Es ist tatsächlich egal, ob <>#0 oder >#0, aber es fehlt etwas.

Delphi-Quellcode:
while P^ <> #0 do
  begin
    // add string to list
    Strings.Add(P);
    // move pointer to start of next string if any
    Inc(P, SysUtils.StrLen(P) + 1); //hier kracht es bei Durchlauf >= 2.
  end;
Was ich eigentlich meinte, wäre es könnte entweder heissen:
IF P^<> #0 THEN Inc(P, SysUtils.StrLen(P) + 1);
oder nach "end;" müsste die in dem Fall zuvlel addierte 1 wieder abgezogen werden.

Irgendwie muss ich bei sowas an StringGrids denken, die man mit Daten füttert und immer 1 addiert, am Schluss dann aber eine leere Zeile zuviel vorhanden ist, wenn die nicht wieder abgezogen wird.
  Mit Zitat antworten Zitat