ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
894
894
EMPFEHLEN
-
25.03.11 14:27 #1
Hallo Leute!!
Ich stehe vor nem kleinen Problem, und zwar:
Ich habe ein Label (L1), welches bei einem Spiel ein Ergebnis anzeigt. Sobald dieses Ergebnis zwischen 2 und 170 liegt, wird in einem weiteren Label (fsp) ein dazu gehörender Text angezeigt. Dies habe ich bislang mit einem VLookup gemacht, wobei ich die Daten in einer Exeltabelle stehen habe.
Nun möchte ich - mehr aus Interesse - versuchen Diese Daten aus einer *.txt-Datei auszulesen und das Ergebnis auch in einem Label (fsp.Value) ausgeben.
Das ganze möchte ich in einem Modul speichern, weil ich öfter während des Spiels darauf zugreife.
Ich bin momentan hier:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Public Sub Finish_suchen() Dim ReadFile As String, rcount As Long Dim Fso As Object, TextDat As Object ReadFile = Application.GetOpenFilename("finishes.txt") If ReadFile = "Falsch" Then Exit Sub Close #1 Set Fso = CreateObject("Scripting.FileSystemObject") Set TextDat = Fso.OpenTextFile(ReadFile, 1, False) Do While TextDat.AtEndOfStream <> True rcount = rcount + 1 varSuchbegriff = TextDat.ReadLine If varSuchbegriff = True Then fsp.Value = Text End If Loop TextDat.Close End Sub
Obigen Code habe ich im Netz gefunden, versucht zu verstehen, und dann versucht auf mein Problem hin anzupassen. Bislang ohne Erfolg.
varSuchbegriff ist eine Public Variabel und enthält immer eine Zahl von 2 - 170.
Die Textdatei ist so aufgebaut:
170;Text zu 170
169;Text zu 169
.
.
.
2;Text zu 2
In dem Label "fsp" möchte ich nur z.B. "Text zu 170" wiedergeben. Da komm ich gerade überhaupt nicht mehr weiter mit meinem "Können"
.
- MfG waswiewo
-
27.03.11 15:41 #2
Damit es nicht zu unübersichtlich wird, schreibe ich eine Antwort auf meine eigene Frage =)
Bin jetzt schon einmal weiter gekommen. Folgender Code zeigt mir schonmal die passende Zeile an und gibt sie auch aus:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Dim fso, fsoFile, fsoText Dim x As String Dim i As Long Const fsoForReading = 1 Set fso = CreateObject("Scripting.FileSystemObject") Set fsoFile = fso.OpenTextFile("E:\VBA Projekte\Dart Rechner - Test mit txt statt xml\finishes.txt", fsoForReading) fsoText = Split(fsoFile.readall, vbCrLf) fsoFile.Close For i = 0 To UBound(fsoText) - 1 ' ohne letzte Zeile If InStr(fsoText(i), varSuchbegriff) Then x = fsoText(i) Next i fsp.Caption = x: finish.Caption = x
Doch wie stelle ich es nun an, dass nur der Wert hinter dem ";" angezeigt wird**** Bei mir wird die komplette Zeile angegeben.
Wär nett wenn ihr nen kleinen Anstoß geben könntet. Habe schon irre viel rumprobiert!
Mfg- MfG waswiewo
-
28.03.11 22:09 #3
Soo, hab es nun nach SEHR, SEHR langem rumprobieren auch ohne eure Hilfe geschafft.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Dim fso, fsoFile, fsoText Dim x As String Dim i As Long Const fsoForReading = 1 Set fso = CreateObject("Scripting.FileSystemObject") Set fsoFile = fso.OpenTextFile("E:\VBA Projekte\Dart Rechner - Test mit txt statt xml\finishes.txt", fsoForReading) fsoText = Split(fsoFile.ReadAll, ";") fsoFile.Close For i = 0 To UBound(fsoText) - 1 If InStr(fsoText(i), (varSuchbegriff - 1)) Then x = fsoText(i) Next i fsp.Caption = x: finish.Caption = x
Hierbei hab ich
Code :1
fsoText = Split(fsoFile.ReadAll, vbCrLf)
durch
Code :1
fsoText = Split(fsoFile.ReadAll, ";")
Dadurch wurde aber immer die Zeile vor derjenigen, die ich haben wollte, ausgegeben! Habe dann bei dem Suchwort/ -zahl einfach ein "-1" dazugepackt, nun geht's! Aber kann man dies nicht auch anders lösen?- MfG waswiewo
Ähnliche Themen
-
Vlookup - Laufzeitfehler 1004
Von waswiewo im Forum Visual Basic 6.0Antworten: 5Letzter Beitrag: 21.01.11, 17:47 -
auslesen einer textdatei und in eine neue textdatei schreiben
Von prinzessin4444 im Forum C/C++Antworten: 3Letzter Beitrag: 10.12.08, 12:01 -
Textdatei in neue Textdatei schreiben
Von YukiNoHana im Forum PHPAntworten: 15Letzter Beitrag: 07.09.08, 17:43 -
[Excel] Leere Zelle statt N/A bei VLOOKUP
Von SandmannX im Forum Office-AnwendungenAntworten: 3Letzter Beitrag: 10.03.08, 07:44 -
Textdatei
Von dumm im Forum PHPAntworten: 16Letzter Beitrag: 04.06.06, 01:08





Zitieren
Login





