![]() |
EOutOfMemory, programm bricht bei einfacher schleife ab !?
Liste der Anhänge anzeigen (Anzahl: 1)
mein code
Delphi-Quellcode:
[edit=sakura] Das Bild ist im Anhang - Du musst es nicht extra posten :evil: Mfg, sakura[/edit]
s := 'aaa'; // startstring
pos := 0; // letzter buchstabe for i := 1 to High(ABC) do begin for j := 1 to High(ABC) do begin // letzten (oder pos) buchstaben ersetzen s[(Length(s)-pos)] := ABC[j]; // neuen string in memo eintragen Memo1.Lines.Add(s); // wenn letzter buchstabe höchster string in array index erhöhen if s[Length(s)] = ABC[High(ABC)] then inc(pos); end; end; |
Re: EOutOfMemory, programm bricht bei einfacher schleife ab
Also gut, hab das ganze mal nachgebaut. Der Fehler kommt bei mir auch...Jetzt lass mich mal probieren :mrgreen:
|
Re: EOutOfMemory, programm bricht bei einfacher schleife ab
Langweiliger Fehler... *gähn*
Hier der kottigierte Code:
Delphi-Quellcode:
Erklärung:
for i := 1 to Length(s) do begin
for j := 1 to High(ABC) do begin // letzten (oder pos) buchstaben ersetzen s[(Length(s)-pos)] := ABC[j]; // neuen string in memo eintragen Memo1.Lines.Add(s); Application.ProcessMessages; // wenn letzter buchstabe höchster string in array index erhöhen if s[Length(s)-pos] = ABC[High(ABC)] then inc(pos); end; end; Punkt 1 Length(s): Nicht die länge vom ABC ist ausschlaggebend sondern die Länge vom String "s". hier also 3 Punkt 2 application.ProcessMessages: Processmessages damit das memo während der Schlefe aktualisiert wird, muss aber nicht sein Punkt 3 if s[Length(s)-pos]: Ohne das "-pos" prüfst du ja immer nur den letzten Buchstaben. Deswegen war auch nach dem ersten durchgang Schluss! Viel Spass damit, was du auch imemr damit vor hast :gruebel: :mrgreen: :roll: |
Re: EOutOfMemory, programm bricht bei einfacher schleife ab
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:59 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