Einzelnen Beitrag anzeigen

Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#57

AW: Große String-Liste out of Memory - Hilfe?

  Alt 22. Apr 2014, 21:23
Naja das was ich geschrieben habe ist ja mit Goto
Nö, ich meine Beitrag #32 in diesem Thread, was dein eigener ist. Da hast du doch bereits 4 verschachtelte for-Schleifen drin.

Zitat:
[...] in einer For-Schleife durfte ich den Integer nicht verändern [...]
Naja, logisch. Das macht die Schleife selbst. Eine for-Schleife läuft von einem Startwert bis zu einem Endwert (auf- oder absteigend) und bei jedem Durchlauf ist die Laufvariable um eins höher oder niedriger; dafür muss man keinen weiteren Code schreiben.

Zitat:
[...] daher war mir nicht klar, wie ich sie mehrmals von 1-10 laufen lassen sollte.
Dann solltest du vielleicht das weiter verfolgen. Beispiel einer simplen for-Schleife:
Delphi-Quellcode:
procedure Beispiel;
var i: integer;
begin
    for i:= 1 to 10 do
        ShowMessage('Dies ist Schleifendurchlauf Nummer ' + IntToStr(i));
end;
Bau die Funktion mal in ein Beispielprogramm ein und rufe sie auf, z.B. von einem Buttonklick. Welche Erwartungen hast du vorher? Welche Meldungen siehst du tatsächlich? Entsprechen diese deinen Erwartungen?

Zitat:
Daher bin ich mal in alte Muster verfallen.
Ja, das seh ich.

Zitat:
Ist der Code mit Goto langsamer als mit For-Schleifen?
Keine Ahnung. Ich schätze mal ja, aber für die paar Durchläufe insgesamt wird das kaum ins Gewicht fallen. Der Punkt ist weniger die Geschwindigkeit sondern die sehr große Chance, damit Spaghetti-Code zu produzieren, weil man schnell dem Drang erliegt, die Sprungziele zu nutzen, "weil sie ja eh einmal da sind". Jeder, der sich in den Code einlesen soll, wird dafür deutlich mehr Zeit brauchen, als es bei vernünftiger Schleifenprogrammierung der Fall wäre, weil bei letzterem von vornherein klar ist, wo die Schleife anfängt und aufhört (und oft sogar, wie viele Durchläufe sie hat).

Zitat:
Ich werde mir mal ein solches Tutorial mit dem Pixel suchen, Danke für die Hilfe
Das war nur ein Beispiel, das mir sofort einfällt, weil ich es aus der Vorlesung kenne. Keine Ahnung, ob das in der Form irgendwo online zu finden ist.

MfG Dalai
  Mit Zitat antworten Zitat