Dateien (*geloest*)

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Ixam

Betreff: Dateien (*geloest*)

BeitragSa, Jun 16, 2007 15:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
Wie kann ich beim lesen einer Datei ein betsimmte Zeile auswählen?
ixam
  • Zuletzt bearbeitet von Ixam am Di, Jun 26, 2007 13:24, insgesamt 2-mal bearbeitet

Tankbuster

BeitragSa, Jun 16, 2007 15:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Am besten ließt du erst die ganze Datei in einem Array aus!
Dann hast du alle Zeilen, und kannst nur die Zeile nehmen, die du haben willst:
kleines Beispiel: (müsste funktionieren, wenn du die "data.txt im selben Ordner hats")

Zitat:

Dim Zeile(200)
Player_Data$="data.txt"
gewuenschte_Zeile=10

file = ReadFile(Player_Data$)
For t=1 To 200
Zeile(i) = ReadLine(file)
Next
CloseFile(file)

Print Zeile(gewuenschte_Zeile)
waitkey()
end
Twitter
Download Jewel Snake!
Windows|Android
 

Ixam

BeitragSa, Jun 16, 2007 15:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Für was steht das i hinter Zeile?
 

Ixam

BeitragSa, Jun 16, 2007 15:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe es ausprobiert, gibt aber trotzdem den wert 0. Sad Ich habe aber in die gewünschte zeile was eingestezt!
ixam

Silver_Knee

BeitragSa, Jun 16, 2007 15:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Dim Zeile$(200);hinter zeile gehört ein $ damit blitzbasic text in der Variable abspeichern kann
Player_Data$="data.txt"
gewuenschte_Zeile=10

file = ReadFile(Player_Data$)
For t=1 To 200
Zeile(i) = ReadLine(file)
Next
CloseFile(file)

Print Zeile(gewuenschte_Zeile)
waitkey()
end
 

Ixam

BeitragSa, Jun 16, 2007 16:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Rückgabe wert bleibt trotzdem 0!(ich probies jetzt mal mit text)
Außeredem würde ich gerne wissen wie ich eine Variable in die Datei schriben kann?
Ixam

Silver_Knee

BeitragSa, Jun 16, 2007 16:06
Antworten mit Zitat
Benutzer-Profile anzeigen
noch einfehler von tank:Code: [AUSKLAPPEN]
Dim Zeile$(200);hinter zeile gehört ein $ damit blitzbasic text in der Variable abspeichern kann
Player_Data$="data.txt"
gewuenschte_Zeile=10

file = ReadFile(Player_Data$)
For i=1 To 200;hier muss natürlich auch "i" hin
Zeile(i) = ReadLine(file)
Next
CloseFile(file)

Print Zeile(gewuenschte_Zeile)
waitkey()
end

so zum schreiben nimmst du die ausgelesenen zeilen und schreibst sie mit wieder so einer Schleife in eine Datei hinein
Code: [AUSKLAPPEN]
file=Writefile("NeueDatei.txt")
For i=1 to 200
  Writeline file,Zeile(i)
Next
closefile file
 

Ixam

BeitragSa, Jun 16, 2007 16:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke das mit der Zeile funktioniert Wink !!!
 

Ixam

BeitragSa, Jun 16, 2007 17:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry, dass ich nochmal frag Embarassed
Code: [AUSKLAPPEN]
Graphics 200,200,16,2
Dim Zeile(6)
Player_Data$="Erreger.txt"
info1 = 2
info2 = 4
info3 = 6

file = ReadFile(Player_Data$)
For i=1 To 6
Zeile(i) = ReadLine(file)
Next
CloseFile(file)

teilg%=Zeile(info2)*60000
Print teilg%
WaitKey()
End

Aber warum kommt bei teilg% nicht wie in der datei angegeben 20000*60000, sondern 2*60000 raus?
Ixam

skey-z

BeitragSa, Jun 16, 2007 17:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Könnte daran liegen, dass hier Dim Zeile(6) kein $ hinter Zeile steht
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter
 

Ixam

BeitragSa, Jun 16, 2007 17:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke nicht, dass es das ist, weil es ja erstens ne Zahl ist ,die gelesen werden soll und zweitens ,weil es in dem Code von vorher auch oh ne $ ging
Ixam

skey-z

BeitragSa, Jun 16, 2007 19:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich habe es mit deinem Code ausprobiert, außer, dass ich das Graphics rausgenommen habe, ist in so einem Code nicht unbedingt von nöten.

Bei mir funktioniert alles so wie es sollte, es sucht die Zeile raus und multipliziert mit dem dort angegebenen Wert, habe die txt Datei mal eben mit BB erstellt, also von Handeingetragen.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter
 

$tankY

BeitragSo, Jun 17, 2007 1:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Ixam hat Folgendes geschrieben:
Ich denke nicht, dass es das ist, weil es ja erstens ne Zahl ist ,die gelesen werden soll und zweitens ,weil es in dem Code von vorher auch oh ne $ ging
Ixam

Wenn es eine Zahl ist, würde ich Int(Readline()) verwenden, aber selbst ohne kommt bei mir 2000 * 6000 raus. Kann dein Problem leider nicht nachvollziehen.
Aber wieso reservierst du 7 Integer und verwendest davon nur 3?
 

Ixam

BeitragSo, Jun 17, 2007 10:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe den Code hier gekürzt!
Skey-z hat folgendes geschrieben
Zitat:
habe die txt Datei mal eben mit BB erstellt, also von Handeingetragen.

Was macht das denn für einen sinn du erstellst sie doch entweder von Hand oder BB macht's?
Ixam
 

Ixam

BeitragSo, Jun 17, 2007 10:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe meinen Fehler gemerkt! Ich hatte eine andere Zahl im Kopf als in der Datei stand, so habe ich die richtig angegebene Zahl als falsch erklärt Embarassed Embarassed
Danke für die Hilfe
Ixam

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group