In ListBox speichern und in neuer Form ausgeben?!

strudi1

Grünschnabel
Hallo, bin neu hier! ;-)
Nun zu meinem Problem: In meinem Programm übergebe ich in einer Listbox beim speichern einer 2ten Form bzw Datei in einer 2ten Form eine Variable, diese ist dann der Eintrag in der Listbox. Wenn ich nun in der Hauptform auf den Listboxeintrag klicke, soll die richtige Datei (zB test.txt) aufgerufen werden. Momentan habe ich das Problem bei mehreren Listboxeinträgen, das er mir bei jedem Listboxeintrag die gerade gespeicherte Datei lädt. Also wenn ich 3 Einträge habe, lädt er mir bei den ersten 2 die gleiche Datei wie bei der 3ten. Kann mir da wer helfen warum das so ist bzw wie ich den code schreiben muss, das er mir die jeweils dazugehörende Datei zum Listboxeintrag lädt? Wäre echt nett von euch. Danke !

mfg
strudi1
 
Hi Strudi,

In meinem Programm übergebe ich in einer Listbox beim speichern einer 2ten Form bzw Datei in einer 2ten Form eine Variable, diese ist dann der Eintrag in der Listbox.
Naja, so ganz werde ich nicht schlau aus dieser Aussage (liegt vielleicht auch an der Uhrzeit :)). Vielleicht hilft es uns ja etwas, wenn Du die entsprechenden Code Passagen hier postest.

Gruß
Das Orakel
 
Also, ich habe eine Hauptform, mit einem MSFlexGrid und einer Listbox. Einige Buttons habe ich auch drauf. Wenn ich auf einen Button klicke, dann öffnet sich eine neue Form der ich einen Namen gebe. Der Name dieser Form, wird dann als Variable der Listbox zugewiesen. Auf diesem ist auch ein Grid drauf. Wenn ich die Einträge ins Grid vorgenommen habe, dann speichere ich es als zB Test.txt. Und das wiederhole ich zB 3 mal. Nur gebe ich dann den Forms andere Namen, also jeder Name darf nur 1x verwendet werden. Diese Textdateien werden dann im jeweiligen Ordner erstellt vom Programm. Nun möchte ich aber, das man, wenn man auf einen Listboxeintrag klickt (zB auf den 2ten Eintrag), das sich das Form öffnet, mit der richtigen Bezeichnung und das das Programm eben erkennt, welche Datei es öffnen muss bzw welche Datei zu dem jeweiligen Listboxeintrag gehört. Momentan öffnet er mir immer ein und dieselbe Datei, obwohl ich mehrere schon erstellt habe. Und die Einträge soll er mir dan nwieder ins Grid schreiben. Doch das funktioniert eh. Würde nur gerne wissen, wie ich dem Programm klarmachen soll, das er für jeden Listboxeintrag die dazugehörende Datei öffnet. Muss ich da in der Speichern- und Laderoutine den ListIndex dazuangeben? Wäre nett wenn mir jemand helfen kann.

PS: Möglich das du wegen der Uhrzeit nicht mehr durchblickst, wahrscheinlicher ist aber, das ich mich nicht verständlich ausgedrückt habe ;-) THX

mfg
strudi1
 
Hi Strudi,

Der Name dieser Form, wird dann als Variable der Listbox zugewiesen.

Wenn Du nun auf die Listbox clickst, erhälst Du den Namen dieser Form durch List1.Text

Nun möchte ich aber, das man, wenn man auf einen Listboxeintrag klickt (zB auf den 2ten Eintrag), das sich das Form öffnet, mit der richtigen Bezeichnung und das das Programm eben erkennt, welche Datei es öffnen muss bzw welche Datei zu dem jeweiligen Listboxeintrag gehört.
Mir würde dazu erst mal folgende Lösung einfallen:
In einem Modul eine globale Variable declarieren. Diese wird gesetzt, sobald Du auf einen Eintrag in der Listbox clickst. Wird nun Deine Form aufgerufen, kannst Du aus dieser Variablen auslesen, welche Datei Du öffnen must.

Hope it helps a little bit
Das Orakel
 
den namen der form änder ich ja durch die caption eigenschaft. also ich gebe zB als name der form "test" ein, dann wird der name "test" der listbox hinzugefügt. aber der name der form wird in einer variablen gespeichtert. werd mal weiter probiern, wen ich zu keinem Ergebnis komme, dann poste ich mal den code dazu. THX

mfg
strudi1
 
also ich habe folgende routinen zum speichern und zum laden:

speichern:

Code:
 Dim DatNr As Integer
   Dim Zeile As Long, Spalte As Long
   
   
   'Daten sichern
   kDateiname = txtSpeichern.Text
   DatNr = FreeFile
   Open kDateiname For Append Shared As #DatNr
   
   With KontoFrm.grdTab2
   
   For Zeile = 1 To .Rows - 1
       For Spalte = 0 To .Cols - 1
           Print #DatNr, .TextMatrix(Zeile, Spalte); vbTab;
       Next Spalte
       Print #DatNr, ""
   Next Zeile
   
   End With
   
   Close #DatNr

und hier laden:

Code:
With KontoFrm
.Show
.Caption = Konten
End With
Dim W As String

DatNr = FreeFile
Open kDateiname For Input As #DatNr

With KontoFrm.grdTab2
    .Rows = 1
   Do
       Line Input #1, W
      .AddItem W
    Loop Until EOF(DatNr)
End With

Close #DatNr

kann ich bei diesen routinen irgendwie den listindex der listbox mitspeichern? durch dieses müsste das prog ja dann wissen, zu welchem eintrag welche datei gehört oder? wär nett, wenn mir jemand helfen könnte. THX

mfg
strudi1
 
Im Gegensatz zum Orakel blicke ich immer noch nicht wirklich durch. Magst du vielleicht mal dein ganzes Projekt hochladen?
Übrigens: Die Caption-Eigenschaft solltest du nicht als "Name" einer Form bezeichnen. Denn jede Form hat einen Namen und eine Caption-Eigenschaft, und wenn du beides mit dem gleichen Begriff beschreibst, dann kommt man (ich zumindest) ein bisschen durcheinander.
 
Zuletzt bearbeitet:
Zurück