Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
Autor
Nachricht
Teyhouse_
Poster
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 Very Happy
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
Ü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
Ü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
Ü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
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
Ü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
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 Crying or Very sad

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
Ü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
Poster



Anmeldedatum: 11.02.2007
Beiträge: 100


Verfasst am: 03.04.2007, 19:06

1000x dank jetzt klappt es endlich Very Happy

/Edit:
Ich hätte da noch ne kleine Frage... Laughing
Wie kann ich ein File löschen welches ich ausgewählt habe?
 
ZiG_
Überflieger
Ü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
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
Überflieger



Anmeldedatum: 31.12.2006
Beiträge: 359
Wohnort: Essen


Verfasst am: 03.04.2007, 19:26

mach doch einfach
Code:
kill datei

kann sein das datei in klammern muss glaub aba das is egal.
 
ZiG_
Überflieger
Ü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
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
Ü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:
Code:

kill datei


Zuletzt bearbeitet von TheCoder_ am 03.04.2007, 19:38, insgesamt einmal bearbeitet
 
Teyhouse_
Poster
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
Ü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
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
Ü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)
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Keygen - Hilfe bitte 1104 29.08.2007, 10:38
Keine neuen Beiträge Screenshot , hilfe ;) Speichern bzw jo 711 27.05.2007, 10:30
Keine neuen Beiträge hilfe bei ini maker 709 30.04.2007, 22:26
Keine neuen Beiträge [VB] suche hilfe beim 1. projekt 858 02.04.2007, 01:39
Keine neuen Beiträge proxy checker hilfe 1015 30.03.2007, 10:21
 


[ Time: 0.1431s ][ Queries: 134 (0.0867s) ][ GZIP on - Debug on ]