2016-05-22 14 views
1

Ich habe gerade angefangen, in VB6 als Teil meines Highschool-Lehrplans zu programmieren. Mein Hauptproblem hat mit der Zeileneingabe zu tun, wenn versucht wird, in Textdateien zu speichern.VB6: Versuch, mehrere Variablen zu verwenden, während txt gespeichert wird mit Line-Eingang

sagen, dass ich die Variablen x haben, y und ich sie auf eine Textdatei drucken wie so:

Print #1, x, y 

Wenn ich versuche, auf sie zuzugreifen, durch Verwendung von Line-Eingang wie:

Line Input #1, SavedX, SavedY 

I bekomme einen Fehler.

Aber wenn ich drucke sie wie folgt aus:

Print #1, x 
Print #1, y 

und dann versuchen, sie wie folgt zugreifen:

Line Input #1, SavedX 
    x = SavedX 
Line Input #1, Savedy 
    y = SavedY 

ich auf jeden Fehler nicht kommen.

Ist es möglich, sowohl die x- als auch die y-Werte in der gleichen Zeile mit Line Input zu halten? Oder muss ich die eben erwähnte Methode anwenden?

Sorry, wenn meine Erklärung saugte, aber es war der beste Weg, dachte ich, ich erklärte es.

+1

VB.NET IsNot VB6 Undauch IsNot vba - Ich habe das Tag entfernt – Plutonix

+2

Ich frage mich, warum eine Schule beschließt, eine Sprache als VB6 heute zu unterrichten. – Steve

+2

@Steve Ich frage mich auch, aber jedes Mal in der Vergangenheit habe ich gefragt, ob das * wirklich * der Fall war, es war (mit bizarren Antworten wie 'VB.NET dauert zu lange zu konfigurieren' was ich zu * Lehrer nicht deute kenne NET *). – Plutonix

Antwort

1

Wenn Sie Print #1, x, y tun, werden die Werte von x und y wird auf eine einzige Zeile in der Textdatei von einem TAB Zeichen getrennt geschrieben werden. Wenn Sie zwei separate Print Anweisungen ausführen, wird jede Variable in eine neue Zeile geschrieben. Wie in den Kommentaren angegeben, liest Line Input eine ganze Zeile in eine einzelne Zeichenfolge. Dies ist der Grund, warum Ihr letztes Beispiel funktioniert, da jede Line Input eine neue Zeile zum Lesen bekommt. Wenn Sie das alles auf einer Linie wollen sie dann mit Print #1, x, y schreiben und dann lesen mit so etwas wie:

Dim s as String 
Dim values() as string 
Line Input #1, s 
values = Split(s, vbTab) 
x = values(0) 
y = values(1) 

Für diese Art von Sache, die Sie vielleicht besser wäre, bei Write und Input suchen, die für mehrere Variablen besser gerecht zu eine Linie. Probe von der Verbindung genommen unter

Dim MyString, MyNumber 
Open "TESTFILE" For Input As #1 ' Open file for input. 
Do While Not EOF(1) ' Loop until end of file. 
    Input #1, MyString, MyNumber ' Read data into two variables. 
    Debug.Print MyString, MyNumber ' Print data to the Immediate window. 
Loop 
Close #1 ' Close file. 

https://msdn.microsoft.com/en-us/library/office/gg264519.aspx

Leider habe ich keinen Zugang zu einer VB6-Umgebung zur Zeit voller Beispiele zu nennen.

+0

Endlich, danke!Ich hatte so viele Probleme damit, Druck und Eingabe zusammen zu verwenden, aber in dem Moment, in dem ich zum Schreiben und Eingeben wechselte, fing alles an, wie beabsichtigt zu arbeiten. Nochmals vielen Dank und ich hoffe, Sie haben einen schönen Tag! – JustTheRennie