![]() |
Warum stürzt es immer ab?
Ich will mit folgendem Code meinen String nach Zahlen durchsuchen, jedoch stürzt das Progamm ab sobald man den Button clickt (Edit1.text muss Inhalt haben.)
Delphi-Quellcode:
was mach ich da falsch? =(
procedure TForm1.Button1Click(Sender: TObject);
var l,j,i,x : integer; s: string; begin j:=1; s:=edit1.text; l:= length(s); for i:=0 to l - 1 do begin repeat if s[i] in ['0'..'9'] then z[j]:=z[j]+s[i]; until s[i]=''; j:=j+1; end; end; end. |
Re: Warum stürzt es immer ab?
was heißt abstürzen? Welche Fehlermeldung bekommst du?
Verstehst du den Quelltext eigentlich selbst? Unter welchen Umständen meinst du das folgende Anweisung eintritt?
Delphi-Quellcode:
Ich glaube wenn du den Quelltext entsprechend des offiziellen Styleguides einrückst findest du eher den Fehler.
until s[i]='';
|
Re: Warum stürzt es immer ab?
Strings beginnen bei 1
Delphi-Quellcode:
for i:=1 to l do
|
Re: Warum stürzt es immer ab?
Zitat:
Zitat:
Zitat:
|
Re: Warum stürzt es immer ab?
Delphi-Quellcode:
Oder die Position des Leerzeichens vorher ermitteln und die Grenze der Schleife entsprechend setzen
until s[i]='' or i = l;
|
Re: Warum stürzt es immer ab?
Zitat:
Delphi-Quellcode:
und nicht
until s[i]=' ';
Delphi-Quellcode:
s[i]=''
|
Re: Warum stürzt es immer ab?
[quote="Forlan"]
Zitat:
|
Re: Warum stürzt es immer ab?
Klar, das es über die grenze geht, deshalb auch Abbruch bei Stringende
|
Re: Warum stürzt es immer ab?
Zitat:
|
Re: Warum stürzt es immer ab?
Was ist denn "z"??
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:38 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 by Thomas Breitkreuz