langlebige stringlisten



  • hallo,

    kann mir jemand bitte genau erklären, wie ich ne langlebige stringliste erstellen kann? durch die bcb hilfe hab ich nur die kurzlebige stringliste gepeilt. mit der langlebigen komm ich net klar.
    wäre nett, wenn mir jemand ne n komplettes simples beispiel (deklaration, etc.)
    posten könnte 😉

    thx



  • Was verstehst du unter lang- und kurzlebig?



  • vielleicht meinst du globale und lokale Variablen?

    Dann hängt das davon ab, wo du sie deklarierst! Wenn du Sie in einer Funktion deklarierst, dann "sterben" die Variablen, wenn die Funktion beendet ist. Wenn du Sie außerhalb einer Funktion deklarierst, dann gelten sie (fast) überall!



  • laut bcb hilfe heisst kurzlebig, dass die stringliste nur innerhalb einer routine verfügbar ist. langlebig, dass diese während der gesamten laufzeit zur verfügung steht. und so eine brauche ich, da ich eine stringliste durch mehrere routinen bearbeiten will (buttons, etc).

    mit ner kurzlebigen geht das ja schlecht, da diese ja nach jedem neu aufruf der routine (wegen der deklaration innerhalb der routine?!?!?) "resettet" wird.



  • um das nochmal zu verdeutlichen:

    ich habe ein formular mit 5 TEdit und 1 TComboBox Objekten. wenn ich auf "Vor" (TButton) klicke, dann soll er die eingegebenen werte in einer stringlist speichern und diese wiederum in einer txt file speichern (savedialog) und die texteingabeobjekte "leeren", damit man neue werte eingeben kann. sobald man erneut auf "vor" klickt, sollen diese werte in die stringlist hinzugefügt werden (addstrings()) und wiederum in die gleiche txt file gespeichert werden.
    so wollte ich eine art datenbank in einer txt file erstellen.

    mfg



  • ich habs jetzt mit ner kurzlebigen stringliste hinbekommen. wäre aber trotzdem nett, wenn mir einer mal ne langlebige stringlist posten könnte.

    thx



  • att309 lag schon richtig, du musst die Liste halt ausserhalb der aufrufenden Funktion deklarieren, also global. Im Artikel in der Hilfe ist das etwas umständlich ausgedrückt und der entsprechende Eintrag im Beispielcode fehlt auch.

    ...
    TForm1 *Form1;
    TStrings *ClickList;
    ...
    

    Globale Variablen sollte man allerdings äusserst sparsam einsetzen, schlag dazu nochmal in deinem C++-Grundlagenbuch nach oder such hier in den verschiedenen Foren nach Beiträgen zum Thema "globale Variablen".


Anmelden zum Antworten