Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ich bin zu blöde! (https://www.delphipraxis.net/1707-ich-bin-zu-bloede.html)

theomega 18. Dez 2002 20:47


ich bin zu blöde!
 
Hallo
ich weiß, die Frage ist total simpel, aber warum geht der code nicht?
Code:
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;
es geht darum, einen String ("t") in seine 4 Bestandteile aufzuteilen, die durch leerzeichen getrennt sind!

Grüße
TO

Daniel B 18. Dez 2002 20:56

Moin,

weil Du nach dem Begin der For-Schleife ein Semikolon hast ?!?

Grüsse, Daniel :hi:

d3g 18. Dez 2002 21:02

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:
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;
@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...

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