![]() |
ich bin zu blöde!
Hallo
ich weiß, die Frage ist total simpel, aber warum geht der code nicht?
Code:
es geht darum, einen String ("t") in seine 4 Bestandteile aufzuteilen, die durch leerzeichen getrennt sind!
var t:string;
i:integer; partbeg,partend:integer; params:array[1..4] of string; ... for i := 1 to 4 do begin; partend := pos(' ',t); params[i]:=copy(t,partbeg,partend-partbeg-1); delete(t,partbeg,partend-partbeg); partbeg := partend; end; Grüße TO |
Moin,
weil Du nach dem Begin der For-Schleife ein Semikolon hast ?!? Grüsse, Daniel :hi: |
Hi theomega,
du hast drei Fehler drin: 1. partbeg ist nicht initialisiert, also liegt Speichermüssl drin, 2. partbeg selbst ist eine unsinnige Einrichtung, da du ja den jeweiligen Teil aus t löschst und damit sowieso immer von Stelle 1 kopieren musst und 3. der vierte Teil lässt sich nicht auf diese Weise herausfinden, weil kein Leerzeichen mehr in dem String vorhanden ist. Wenn man diese Fehler bereinigt, funktioniert alles:
Delphi-Quellcode:
@Daniel B: Das Semikolon ist egal, solange ein begin davor steht, dann ist es nur eine leere Anweisung. Kritisch wird's natürlich, wenn man nur ein do dort stehen hat...
procedure TForm1.Button1Click(Sender: TObject);
var t: String; i: Integer; partbeg, partend: Integer; params: array[1..4] of String; begin t := 'ab cd efg h'; for i := 1 to 3 do begin partend := Pos(' ', t); params[i] := Copy(t, 1, partend - 1); Delete(t, 1, partend); end; params[4] := t; for i := 1 to 4 do ShowMessage(params[i]); end; MfG, d3g |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz