Hier mal die Proramzeilen. l --> Laufzeit; s --> Startkapital; z --> Zinsen und i --> Ja wofür steht das eigentlich???
Nun zu meinem Problem: Das Program startet korrekt und rechnent auch. Jedoch ohne dabei die Laufzeit (zur Erinnerung --> l) zu berücksichtigen.
Wo liegt mein Fehler?
es ist das „;“ hinter „do“. Es macht die for-do-Schleife zu einer Leerschleife. Die Zeile „s := s*z;“ wird dadurch nur einmal statt wie gewünscht l mal ausgeführt, weil sie logisch außerhalb der Schleife steht. Entferne dieses „;“ und alles wird funzen. Ist übrigens ein beliebter Anfängerfehler, also nicht ärgern…
edit4.text := floattostr (s);
Du könntest auch ein Memo aufs Formular setzen und es mit
Memo1.Lines.Add(floattostr(s));
oder auch
Memo1.Lines.Add(inttostr(i)+’ '+floattostr(s));
füllen. Dann bekommst Du eine nette Wertetabelle.
Gruß
Martin
PS: Dieselbe Gefahr lautert auch bei IF-THEN: Niemals hinter „then“ ein „;“ schreiben!
Vielen Dank für die Antwort. Fehler ist bereits behoben =)
es ist das „;“ hinter „do“. Es macht die for-do-Schleife zu
einer Leerschleife.
omg, da sucht man eine halbe Ewigkeit nach dem Fehler und geht alle Programzeilen von Anfang bis Ende mehrmals durch und dann ist es so ein kleines Semikolon xD
Ist übrigens ein beliebter Anfängerfehler, also
nicht ärgern…
Das mit dem Memo ist eine nette Idee. Einfach übernehmen fände ich aber doof, ohne es zu verstehen. Kannst du mir das bitte noch erklären? Also ich meine ist „Lines“ das, was beim Label „Caption“ ist? Was sagt „add“ aus (Englisch müsste es hinzufügen heißen)? Und beim zweiten Memo-Beispiel warum das +’ '+ ???