|
| Autor |
Nachricht |
Teyhouse_ Poster


Anmeldedatum: 11.02.2007 Beiträge: 100
|
Informationen verarbeiten...
Verfasst am: 27.03.2007, 18:23 |
|
|
Hallo,
ich bräuchte mal wieder ein wenig Hilfe
Ich möchte in einer Datei (.txt) mehrere Informationen speichern, die in unterschiedlichen Text-Feldern stehen, das könnte so aussehen:
Name:
IP:
Info:
......
so, und nun gibt der User halt was ein, und ich will die Informationen alle in 1 .txt speichern und auch wieder getrennt auslesen können, also wenn ihr mir doch kurz nen Beispiel zukommen lassen könnte währe mir sehr geholfen ^^
Mfg.
Teyhouse |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 27.03.2007, 19:12 |
|
|
speicher:
| Code: |
Open "Dein Pfad" for Output as #1
Print #1, "Name: " & Text1.Text
Print #1, "IP: " & Text2.Text
Print #1, "Info: " & Text3.Text
close
|
auslesen:
| Code: |
Open "Dein Pfad" For Input As #1
Dim buffer As String, buffer2 As String, pos As Long
Do
Line Input #1, buffer
pos = InStr(buffer, ":")
buffer2 = Mid(buffer, 1, pos - 1)
Select Case (buffer2)
Case "Name"
Text1.Text = Mid(buffer, pos + 1)
Case "IP"
Text2.Text = Mid(buffer, pos + 1)
Case "Info"
Text3.Text = Mid(buffer, pos + 1)
Case Else
Call MsgBox("Text kann nicht zugeordnet werden")
End Select
Loop Until EOF(1)
Close
|
Sollte so eigentlich funktionieren, kann aber sein, dass ich mich wo vertippt hab.
mfg, ZiG Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
TheCoder_ Überflieger


Anmeldedatum: 31.12.2006 Beiträge: 359 Wohnort: Essen
|
Verfasst am: 27.03.2007, 19:30 |
|
|
@ Zig: wäre es nciht besser jede dieser Informationen in eine zeile zu schreiben oder durch iwas zu trennen und beim einlesen das dann in nem array zu machen. also wenns in einer zeile is mArray() = Split(datei, vbcrlf)
und dann halt in ner schleife ausgeben. kp ob das vlt schneller is? oO
so mach ich es i.d.R.
 |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 27.03.2007, 19:37 |
|
|
Könnte schneller sein, aber er will ja scheinbar eine Art Logfile machen, wo die Daten untereinander stehen.
Soll ja alles nur ein Denkanstoss sein.
Wenn er sich mehr damit befasst, wird er sicher ne Möglichkeit finden, das zu verbessern. Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
Teyhouse_ Poster


Anmeldedatum: 11.02.2007 Beiträge: 100
|
Verfasst am: 31.03.2007, 22:00 |
|
|
ich habe da noch nen Prob... hier mal der Aktuelle Code:
| Code: | Open App.Path & "\data\" + File1.FileName For Input As #1
Dim buffer As String, buffer2 As String, pos As Long
Do
Line Input #1, buffer
pos = InStr(buffer, ":")
buffer2 = Mid(buffer, 1, pos - 1)
Select Case (buffer2)
Case "Name"
Label5.Caption = Mid(buffer, pos + 1)
Case "IP"
Label6.Caption = Mid(buffer, pos + 1)
Case "Info"
Label7.Caption = Mid(buffer, pos + 1)
Case Else
Call MsgBox("Text kann nicht zugeordnet werden")
End Select
Loop Until EOF(1)
Close #1 |
Er sagt immer bei Line Input #1, buffer immer Input Past end of File... ich bin übel am verzweifeln da ich einfach nicht hinter den Fehler steige...? |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 01.04.2007, 06:57 |
|
|
Versuch mal:
| Code: |
Do Until EOF(1)
Loop
|
So sollte es gehen.
Vielleicht ist aber auch eine leere Zeile am Ende die stört.
mfg, ZiG Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
Teyhouse_ Poster


Anmeldedatum: 11.02.2007 Beiträge: 100
|
Verfasst am: 03.04.2007, 18:40 |
|
|
Sorry das ich das Thema nochmal aufgreifen muss, aber ich bin irgendwie immer noch nicht zu einem erfolgreichem Umsetzen des Projektes gekommen
Hier mal mein Aktueller Code:
| Code: | Open App.Path & "\data\" + File1.FileName For Input As #1
Dim buffer As String, buffer2 As String, pos As Long
Do Until EOF(1)
Loop
Line Input #1, buffer
pos = InStr(buffer, ":")
buffer2 = Mid(buffer, 1, pos - 1)
Select Case (buffer2)
Case "Name"
Label5.Caption = Mid(buffer, pos + 1)
Case "IP"
Label6.Caption = Mid(buffer, pos + 1)
Case "Info"
Label7.Caption = Mid(buffer, pos + 1)
Case Else
Call MsgBox("Text kann nicht zugeordnet werden")
End Select
Close #1 |
Hoffe das sich eine Lösung findet die funktioniert...
Mfg.
Teyhouse |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 03.04.2007, 19:03 |
|
|
Du mußt natürlich deinen code zwischen Do und loop schreiben, da der code sonst außerhalb der Schleife ist.
| Code: |
Open App.Path & "\data\" + File1.FileName For Input As #1
Dim buffer As String, buffer2 As String, pos As Long
Do Until EOF(1)
Line Input #1, buffer
pos = InStr(buffer, ":")
buffer2 = Mid(buffer, 1, pos - 1)
Select Case (buffer2)
Case "Name"
Label5.Caption = Mid(buffer, pos + 1)
Case "IP"
Label6.Caption = Mid(buffer, pos + 1)
Case "Info"
Label7.Caption = Mid(buffer, pos + 1)
Case Else
Call MsgBox("Text kann nicht zugeordnet werden")
End Select
Loop
Close #1
|
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
Teyhouse_ Poster


Anmeldedatum: 11.02.2007 Beiträge: 100
|
Verfasst am: 03.04.2007, 19:06 |
|
|
1000x dank jetzt klappt es endlich
/Edit:
Ich hätte da noch ne kleine Frage...
Wie kann ich ein File löschen welches ich ausgewählt habe? |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 03.04.2007, 19:12 |
|
|
Kill("Pfad")
mfg, ZiG Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
Teyhouse_ Poster


Anmeldedatum: 11.02.2007 Beiträge: 100
|
Verfasst am: 03.04.2007, 19:23 |
|
|
| Code: | Dim datei As stinrg
datei = File1.FileName
Kill ("") + datei |
geht nicht? |
|
| |
|
 |
TheCoder_ Überflieger


Anmeldedatum: 31.12.2006 Beiträge: 359 Wohnort: Essen
|
Verfasst am: 03.04.2007, 19:26 |
|
|
mach doch einfach
kann sein das datei in klammern muss glaub aba das is egal.
 |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 03.04.2007, 19:33 |
|
|
Ich habs ihm nur in Klammern und mit "" geschrieben, damit er sieht das er hier ne komplette Pfadangabe machen muß.
Man kann natürlich auch "kill datei" schreiben.
@Teyhouse
Warum machst du immer alles so kompliziert?^^
Du übergibst nur den Dateinamen. Um eine Datei löschen zu können, brauchst du natürlich den ganzen Pfad zur Datei.
mfg, ZiG Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
Teyhouse_ Poster


Anmeldedatum: 11.02.2007 Beiträge: 100
|
Verfasst am: 03.04.2007, 19:33 |
|
|
komisch... er sagt File not Found?
| Code: | Dim datei As String
datei = App.Path & "\data" + File1.FileName
Kill + datei |
|
|
| |
|
 |
TheCoder_ Überflieger


Anmeldedatum: 31.12.2006 Beiträge: 359 Wohnort: Essen
|
Verfasst am: 03.04.2007, 19:37 |
|
|
BOOOAAARRR jetzt reichts aber langsam.
| Code: |
Kill ("") + datei 'Falsch
|
Wie oft denn noch es heißt einfach nur kill datei
mach pl scopy & paste:
Zuletzt bearbeitet von TheCoder_ am 03.04.2007, 19:38, insgesamt einmal bearbeitet |
|
| |
|
 |
Teyhouse_ Poster


Anmeldedatum: 11.02.2007 Beiträge: 100
|
Verfasst am: 03.04.2007, 19:37 |
|
|
das habe ich schon geändert:
| Code: | Dim datei As String
datei = App.Path & "\data" + File1.FileName
Kill + datei |
|
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 03.04.2007, 19:41 |
|
|
| Code: |
Dim datei As String
datei = App.Path & "\data\" + File1.FileName
Kill datei
|
Das + gehört weg und beim Pfad hast du ein \ vergessen. Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
Teyhouse_ Poster


Anmeldedatum: 11.02.2007 Beiträge: 100
|
Verfasst am: 03.04.2007, 20:14 |
|
|
thx das geht auch, nächstes und wirklich letztes Problem:
| Code: | | Name App.Path & "\data\" + File1.FileName As Text5.Text |
Er soll die Datei Umbenennen, löscht sie aber irgendwie.. warum?
/Edit:
Er verschiebt sich irgendwie in den Programm Hauptordner, statt in den Unterordner "data" ??? |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 03.04.2007, 20:46 |
|
|
In Text5.Text mußt du auch den kompletten Pfad angeben.
Hier ein Beispiel.
| Code: |
Text5.Text = App.Path & "\data\Neuer Name.txt"
Name App.Path & "\data\" & File1.FileName As Text5.Text
|
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |