Laut Definition ist jede Integer Variable nach ihrer Initialisierung 0
Und wo wird
I
initialisiert? Du hast sie
deklariert, aber nirgends initialisiert.
Es steht also erst einmal irgend etwas drin. Wenn du möchtest dass eine Null drinsteht kannst du sagen
i := 0
oder
i := Default(Integer)
.
Das stimmt nicht. Bei anderen Programmiersprachen mag das stimmen. Bei Delphi sind Integer und Bool aber per default nach ihrer deklaration immer 0 bzw false. Ich finde gerade leider die Source dazu nicht mehr...
Wenn du eine Funktion schreibst in der du einfach nur I.tostr machst, wird immer 0 dabei heraus kommen.
edit: Hab grad gesehen das der Compiler mir die Info schmeist:
[dcc32 Warnung] Unit1.pas(47): W1036 Variable 'I' ist möglicherweise nicht initialisiert worden
Das macht er bei i.tostring nicht. Wieso?