probleme mit ReadLine

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

daristar

Betreff: probleme mit ReadLine

BeitragSa, Dez 16, 2006 18:46
Antworten mit Zitat
Benutzer-Profile anzeigen
hi ich habe mal ein kleines testscript gemacht da mein nächstes project ein multi channeling IRC client werden soll... mein testscript dreht sich um ReadFile/ReadLine/OpenFile un co.

hier der code meinert testscript.bb:

Code: [AUSKLAPPEN]

Graphics 800, 600, 32, 2

datei = OpenFile("setting.txt")
ReadFile(datei)

name = ReadLine(datei)
strasse = ReadLine(datei)
ort = ReadLine(datei)
alter = ReadLine(datei)

Print "Drücke eine Taste"

WaitKey

Cls

Print "So, sie heissen also " + name + " und wohnen in der " + strasse + " Strasse."
Print "Diese Strasse ist im Ort " + +ort + ". Dann sind sie wohl auch " + alter + " Jahre alt oder wie?"
Print "Naja, wenn sie meinen..."
Print "Drücke eine Taste zum Beenden..Los, mach!"

WaitKey
End


und hier der meiner setting.txt:

Code: [AUSKLAPPEN]

Hubert Schmitz
TestStrasse
Berlin
14

Pdd

BeitragSa, Dez 16, 2006 18:51
Antworten mit Zitat
Benutzer-Profile anzeigen
1. Was ist dein Problem?
2. Code: [AUSKLAPPEN]
datei = OpenFile("setting.txt")
ReadFile(datei)

Nur einmal öfnnen! Entweder mit OpenFile oder REadFile!
Lieber Apfel als Birne.
 

daristar

BeitragSa, Dez 16, 2006 18:56
Antworten mit Zitat
Benutzer-Profile anzeigen
jo danke^^ habs jez auch hingekriegt -.-

trozdem danke

MfG

ToeB

BeitragSa, Dez 16, 2006 21:48
Antworten mit Zitat
Benutzer-Profile anzeigen
und "name" würd ich zu "name$" umschreiben sowie auch die anderen variablen:wink:
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Te(Y)House

BeitragSa, Dez 16, 2006 22:30
Antworten mit Zitat
Benutzer-Profile anzeigen
mal ne etwas andere Frage:
Wie kann man eigentlich aus einem .txt (ZB!) verschiedene Zeilen auslesen?
Hier ein Beispiel:

1 test1
2 test2
3 test3
4 test4
5 test5
6 test6

So, und wie kann ich bei einer solchen Datei nun z.B. die 4. Zeile auslesen?
(Die 1,2,3 etc. stehen für die jewaligen Zeilen!)


Mfg.
Te(Y)HOuse
--------------
kcvd.rshost.de
-------------

StepTiger

BeitragSa, Dez 16, 2006 22:32
Antworten mit Zitat
Benutzer-Profile anzeigen
gar nicht, solange du nicht die anzahl der bytes bis dahin kennst.

Sonst: SeekFile
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.
 

flashmaxel

BeitragSa, Dez 16, 2006 23:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
verschiedene Zeilen auslesen?

Das müsste doch ganz einfach gehen ?!?
Code: [AUSKLAPPEN]
SeekFile(file,0)
For i=1 To 4
zeile$=ReadLine(file)
Next
Print "Vierte zeile:"+zeile
Real C programmers never die; they cast to void.

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSo, Dez 17, 2006 0:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe da gerade das passende gefunden, um Zeilen zu löschen,überschreiben und auszulesen!

Code: [AUSKLAPPEN]


Type Fileline   Field LineString$   End Type
Function InsertLine(Datei$, Posline%, LineData$,overwrite=0); firstline = 1
   Dat = OpenFile (Datei$)
   If Dat = 0 Or Posline% =< 0  Then Return -1
   ;Position ermitteln
   While Not Eof(dat)
      If Posline% = 1 Then
           CurrentPos = FilePos(Dat)
         Exit
      End If
        Posline% = Posline% -1
      ReadLine (dat)
   Wend
   If CurrentPos = 0 Then CurrentPos = FilePos(Dat)
   ; überschreiben ???
   If (Not Eof(dat)) And overwrite Then ReadLine (Dat)
   ; restlichen auslesen
   While Not Eof(dat)
        liste.Fileline = New Fileline
        liste\LineString$ = ReadLine (dat)
   Wend
   ; Zur Position Springen
   SeekFile  (Dat,CurrentPos)
   ;Neue Zeile rein   
   WriteLine Dat, LineData$
   ;Restlichen reinschreiben   
   For liste.Fileline = Each Fileline
       WriteLine Dat, liste\LineString$
       Delete liste.Fileline
   Next
   CloseFile(Dat)
End Function

Function  ReturnLine$(Datei$,Posline%)
   Dat = ReadFile (Datei$)
   If Not Dat Then Return "...ERROR"
   While Not Eof(dat)
      If Posline% = 1 Then
           LineData$ = ReadLine (dat)
         CloseFile(Dat)
         Return LineData$
      End If
        Posline% = Posline% -1
      ReadLine (dat)
   Wend
   CloseFile(Dat)
   Return "...ERROR"
End Function

;Datei erstellen######################################################
dat = OpenFile ("test.txt")
      If Not dat Then
            dat = WriteFile ("test.txt")
            If Not dat Then RuntimeError ("Datei kann nicht erstellt werden")
            For x= 1 To 10
               WriteLine dat ,"Zeileorginal " + x
            Next : x= 0
            CloseFile(dat)
      End If
CloseFile(dat)
; Ende Datei erstellen############################################

;Zeile 4 auslesen
   A$ = ReturnLine$("test.txt",10)
      If A$ = "...ERROR" Then RuntimeError("Fehler beim lesen der Datei!!   Die Zeile existiert nicht!")
   Print a$
   
;Zeile 3 wird überschrieben
   If  insertline("test.txt",3,"Hier die 3. Zeile überschrieben",1) < 0 Then
      RuntimeError (" Fehler in der Datei")
   End If
;Zeile 3 auslesen
   A$ = ReturnLine$("test.txt",3)
      If A$ = "...ERROR" Then RuntimeError("Fehler beim lesen der Datei!!   Die Zeile existiert nicht!")
   Print a$
WaitKey
End

[BB2D | BB3D | BB+]

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group