|
| Autor |
Nachricht |
kra_ Tutorial Leser

Anmeldedatum: 18.03.2007 Beiträge: 22
|
listbox markierten eintrag öffnen
Verfasst am: 21.07.2007, 13:38 |
|
|
hallo alle zusammen ich brauch mal wieder eure hilfe. In folgendem problem:
ich habe eine listbox und nun
möchte den inhalt von dem markierten eintrag in eine textbox übergeben.
hier mal der code um die listbox zu füllen:
[code]Private Sub Command1_Click()
Dim dateiort As String
Dim dateiname As String
'Pfad festlegen:
dateiort = App.Path & "\"
'sucht im verzeichnis dateiort nach txt dateien
dateiname = Dir(dateiort & "*.txt")
'listet die dateien in eine listbox
While Len(dateiname) <> 0
Listbox1.AddItem dateiname
dateiname = Dir()
Wend
' zählt die einträge in der listbox
lbl_einträge = "Es gibt " & Listbox1.ListCount & " Einträge!"
End Sub[/code]
mit dem teil von dem code klappt es nicht:
[code]Private Sub Command2_Click()
'gibt den inhalt von dem markierten eintrag in eine textbox
Dim FileLength As String
Dim markdatei As String
Dim inhalt As String
markdatei = Listbox1.Index
Open markdatei For Input As #1
FileLength = LOF(1)
inhalt = Input(FileLength, #1)
Close #1
Text1.Text = inhalt
End Sub[/code]
hoffe ihr könnt mir helfen |
|
| |
|
 |
Hamtaro_ « Moderator »

Anmeldedatum: 06.05.2007 Beiträge: 217 Wohnort: NRW
|
Verfasst am: 21.07.2007, 15:39 |
|
|
Sollte das nicht [code]Listbox1.Text[/code] sein?
oder versuch mal [code]Listbox1.SelectedItem.Text[/code]
sorry, das es jetzt nicht genauer geht, aber ich bin z.Z. nicht zu Hause...
Wie findet ihr meine Sig? |
|
| |
|
 |
kra_ Tutorial Leser

Anmeldedatum: 18.03.2007 Beiträge: 22
|
Verfasst am: 22.07.2007, 01:23 |
|
|
okey vielen dank Hamtaro hat super geklappt mit dem:
[code] Listbox1.Text[/code]
hatte ich total vergessen das man da auch text nehmen kann!
okey neues problem: wie bekomm ich es hin das der erste eintrag markiert wird und somit wieder in der textbox ausgegeben wird und dann der zweite zweite eintrag markiert wird dann der dritte und so weiter... |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 22.07.2007, 14:40 |
|
|
Eine Zeile in der Listbox markieren kannst du mit:
[code]
List1.ListIndex = 0
[/code]
Bei der Listbox fängt die erste Zeile mit "0"(Null) an.
Zweite Zeile wäre dementsprechend "1".
Und nach dem markieren kannst du dann per "List1.Text" den Inhalt der Zeile auslesen.
[code]
List1.ListIndex = 0
Text1.Text = List1.Text
[/code]
Das ganze in eine Schleife packen und fertig. Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
kra_ Tutorial Leser

Anmeldedatum: 18.03.2007 Beiträge: 22
|
Verfasst am: 22.07.2007, 17:13 |
|
|
mhh also bei mir klappt das so nicht das es mit
Listbox1.Index = 0
Listbox1.Index = 1
markiert wird kommt immer folgender fehler:
 |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 22.07.2007, 18:21 |
|
|
Ich hab auch "List1.ListIndex" geschrieben und nicht "List1.Index"  Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
kra_ Tutorial Leser

Anmeldedatum: 18.03.2007 Beiträge: 22
|
Verfasst am: 23.07.2007, 01:32 |
|
|
sorry zig hab ich wohl zu schnell gelesen!
noch ne frage ich will es jetzt so machen, das der timer von 10-0 runter zählt. und jetzt möcht ich dann das, wenn der timmer bei 0 ist es den ersten eintrag markiert. dann zählt der timer wieder von 10-0 und markiert den zweiten
so zählt der timer von 10 -0
[code] ' und wieder eine Sekunde vorbei
nSek = nSek - 1 'nSek minus eins rechnen
Label1.Caption = CStr(nSek) 'und wieder anzeigen
If nSek = 0 Then
Call Reset
nSek = Text2.Text[/code]
und wie mach ich es das, nach jedem durchlauf der nächste eintrag markiert wird |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 23.07.2007, 11:23 |
|
|
Du brauchst eigentlich nur bei deiner If Abfrage noch dazu schreiben, dass nsek wieder auf 10 gesetzt wird und die nächste Zeile markiert wird.
Ich würde das etwa so machen.
[code]
nSek = nSek -1
if nSek = 0 then
nSek = 10
if List1.ListIndex <> (List1.ListCount -1) then
List1.ListIndex = List1.ListIndex +1
Else
Timer1.Enabled = False
End if
End if
[/code]
So wird nach 10 Sekunden wieder auf 10 gesetzt und falls die Liste zu Ende ist, wird der Timer abgestellt.
mfg Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |