Eine bestimmte Zeile auslesen?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Geeecko

Betreff: Eine bestimmte Zeile auslesen?

BeitragMi, Feb 01, 2006 16:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie kann ich z.B. aus der hallo.txt die Zeile 5 auslesen?

mfg. Gaia

etlam

BeitragMi, Feb 01, 2006 16:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit SEEKFILE (Dateistream, Position) kann man an einen Bestimmten byte schreiben , aber mit Zeilen geht das glaub ich nicht
  • Zuletzt bearbeitet von etlam am Mi, Feb 01, 2006 16:27, insgesamt 2-mal bearbeitet

5k41

BeitragMi, Feb 01, 2006 16:25
Antworten mit Zitat
Benutzer-Profile anzeigen
geht per Seekfile! Musst dann aber die Bytes angeben ist ein wenig komplexer... du könntest natürlich auch erst per readline die ganze datei in ein array kopieren und dann einfach das array mit der nummer abrufen!!

~Edit~
Ich lahmarsch^^
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
  • Zuletzt bearbeitet von 5k41 am Mi, Feb 01, 2006 16:26, insgesamt einmal bearbeitet
 

Beaner

BeitragMi, Feb 01, 2006 16:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Zeile1$ = ReadLine$( Datei$ )
Zeile2$ = ReadLine$( Datei$ )
Zeile3$ = ReadLine$( Datei$ )
Zeile4$ = ReadLine$( Datei$ )
Zeile5$ = ReadLine$( Datei$ ) ;<-- !!!


*EDIT: zu langsam

5k41

BeitragMi, Feb 01, 2006 16:27
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn schon in nem array oder einfach per seekfile!
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

Ctuchik

BeitragMi, Feb 01, 2006 16:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit SeekFile müsste man aber wissen wie lang jede Zeile ist...
Zu den Nebenwirkungen gehören trockener Mund, Übelkeit, Erbrechen, Harnstau, schmerzhafter rektaler Juckreiz, Halluzinationen, Demenz, Psychose, Koma, Tod und Mundgeruch!
Magie eignet sich nicht für alle!
Fraget euren Arzt oder Apotheker!

5k41

BeitragMi, Feb 01, 2006 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
desswegen zu zusätzlich meine Readline + array möglichkeit...
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

Dreamora

BeitragMi, Feb 01, 2006 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Das explizite Auslesen einer bestimmten Zeile bzw. eines bestimmten Datenblockes ist nur möglich, wenn die Daten sequentiell gespeichert sind.
Das heisst, jeder Datenblock den du in die Datei schreibst, muss immer eine feste Länge (in Bytes) haben.

Dann kannst du einfach mittels (DatenblockNr-1) * DatenblockLänge die genaue Position für Seekfile finden.

Andernfalls ist ein Auslesen an einem bestimmten Eintrag nicht möglich.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

D2006

Administrator

BeitragMi, Feb 01, 2006 18:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Function GETLINE(file, zeile)
For i=1 To ZEILE
      dat$ = ReadLine$(file)
Next
Return dat$
End Function


MfG
D2006
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

Geeecko

BeitragMi, Feb 01, 2006 18:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke!
Darauf hätte ich auch kommen können 8)
Aber danke Very Happy
mfg Gaia

Geeecko

BeitragMi, Feb 01, 2006 20:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Was ist hierdran falsch? :



Verz=ReadDir("Datein")
zahl=0
SetBuffer FrontBuffer()
Cls
SetBuffer BackBuffer()
Cls
Repeat
zahl=zahl+1
Datei$=NextFile$(Verz)
If Datei$="" Then Exit
verzeichniss(zahl)=Datei$
Print "Datei:" + Datei$+" ("+zahl+")"
Forever
CloseDir Verz
Print
Print "Nummer der Datei auswählern"
Print " [ESC] für zurück"
nummer = Input("Nummer eingeben:")
file2=OpenFile(verzeichniss(nummer))
SetBuffer BackBuffer()
Cls
zahl2=0
For i = 0 To 3
zahl2=zahl2+1
row(zahl2) = ReadLine$(file2)
If row(zahl2) = "" Then Exit
Print row(zahl2)
Next
CloseFile file2



Gosub menu





die dim felder stehn im haupt prog

Geeecko

BeitragMi, Feb 01, 2006 20:24
Antworten mit Zitat
Benutzer-Profile anzeigen
FEhler ist behoben.
Ich poste ihn gleich

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group