Strings auslesen

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

Silernthunt4r

Betreff: Strings auslesen

BeitragMi, Dez 16, 2009 21:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiß, dass es schon 100 Themen hierzu gibt, abr ich komm da einfach nicht weiter :

Ich will in eine Datei einen String schreiben, aber wie starte ich eine neue Zeile ( in einer txt datei)

mit seekfile gehts nicht.

MfG

Nicdel

BeitragMi, Dez 16, 2009 21:03
Antworten mit Zitat
Benutzer-Profile anzeigen
WriteLine?
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7
 

Silernthunt4r

BeitragMi, Dez 16, 2009 21:12
Antworten mit Zitat
Benutzer-Profile anzeigen
ne das geht nicht, ich habs jetzt zwar geschaft,dass es alles hintereinander schreibt aber nicht untereinander

Thunder

BeitragMi, Dez 16, 2009 21:14
Antworten mit Zitat
Benutzer-Profile anzeigen
WriteLine sollte eigentlich funktionieren. Wenn nicht, häng einfach nach jedes WriteLine:

BlitzBasic: [AUSKLAPPEN]

WriteByte datei,13
WriteByte datei,10


an. Die Zeichen 13 und 10 hintereinander geschrieben werden von Windows als Zeilenumbruch interpretiert.
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

NightPhoenix

BeitragMi, Dez 16, 2009 21:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Jeder WriteLine Aufruf schreibt eine neue Zeile. Es muss gehen.

mpmxyz

BeitragMi, Dez 16, 2009 21:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Verwendest du vielleicht nur ein einziges WriteLine für alle Zeilen, die du nur aneinandergehängt hast?

Ohne Code kann man nur spekulieren!
Zeige also am Besten ein bischen Code.
WriteLine funktioniert nämlich.

mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

Midimaster

BeitragMi, Dez 16, 2009 21:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Sende mal den Code-Teil, wo es um das Dateischreiben geht...

Pummelie

BeitragMi, Dez 16, 2009 21:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Siehst du die datei mit einem texteditor an, bei dem zeilenumbruch abgeschaltet ist?
It's done when it's done.
 

Silernthunt4r

BeitragMi, Dez 16, 2009 21:32
Antworten mit Zitat
Benutzer-Profile anzeigen
also ... ich schreib die datei in den editr und zwar so...

Code: [AUSKLAPPEN]
filer$ = OpenFile ("C:\noob.txt")
nee$ = "["
zx =0


While nee$ = "["
SeekFile (filer$,zx)
testema$=ReadLine (filer$)
nee$ = Left$ (testema$, 1)
zx =zx + 100
Wend

notno$ =date$ +" "+ time$+"  ANGRIFFSVERSUCH EINER NICHT AUTORISIERTEN PERSON AUF DAS VERZEICHNISS"


WriteLine filer$,notno$


CloseFile filer$


ps: sry wegen den komischen variablen

TimBo

BeitragMi, Dez 16, 2009 22:00
Antworten mit Zitat
Benutzer-Profile anzeigen
du hast geschrieben

filer$ = Openfile

filer ist ein String - Openfile gibt aber einen Integer zurück

Grüße
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Thunder

BeitragMi, Dez 16, 2009 22:14
Antworten mit Zitat
Benutzer-Profile anzeigen
und wo möchtest du die Zeilenumbrüche haben?
(ich denke nicht, dass es nur an der String-Variablen gelegen ist, da du nur einmal WriteLine aufrufst)


edit:
peinlich Embarassed , eine Schleife übersehen.
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit
  • Zuletzt bearbeitet von Thunder am Mi, Dez 16, 2009 22:19, insgesamt einmal bearbeitet
 

Silernthunt4r

BeitragMi, Dez 16, 2009 22:15
Antworten mit Zitat
Benutzer-Profile anzeigen
oh.... Embarassed Embarassed Embarassed kann ja mal passieren Very Happy Very Happy Very Happy

TimBo

BeitragMi, Dez 16, 2009 22:17
Antworten mit Zitat
Benutzer-Profile anzeigen
ich verstehe den post nicht - Thunder

er führt readline sooft aus , bis er an einer Stelle das [ gefunden hat.
Dabei prüft er jedes hundertste Byte.

TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.
 

Silernthunt4r

BeitragMi, Dez 16, 2009 22:51
Antworten mit Zitat
Benutzer-Profile anzeigen
das ist so : mein String beginnt mit [ und wenn es das sieht soll der neue string erst weiter hinten beginnen, damit er den alten nicht überschreibt

Midimaster

BeitragMi, Dez 16, 2009 23:18
Antworten mit Zitat
Benutzer-Profile anzeigen
hier mal eine Funktion, die immer eine Zeile an eine Datei anhängt:

Code: [AUSKLAPPEN]
   Dim locZeile$(1000)

FuegeEineZeileAn("test.txt","blabla")

Function FuegeEineZeileAn(Datei$,Zeile$)

   ; wenn Datei noch nicht existiert, dann mit WriteFile anlegen
   If FileSize(Datei)=0 Then
       DatenStream=WriteFile(Datei)   
   Else
       DatenStream=ReadFile(Datei)
   EndIf
   
   ; nun alle Zeilen rein
      While Not Eof(DatenStream)
             locZeile(i)=ReadLine(DatenStream)
         i=i+1
      Wend
    CloseFile(DatenStream)

   ; auf den letzten (leeren) Eintrag den neuen Inhalt
   locZeile(i)=Zeile
   
   ; alles wieder rausschreiben
    DatenStream=WriteFile(Datei)
      For j=0 To i
         DebugLog j + " " + locZeile(j)
             WriteLine DatenStream, locZeile(j)
      Next
    CloseFile(DatenStream)
End Function


Nimm aber bitte eine neue Datei, denm eine bereits existierende Datei aus Deinen ersten Versuchen könnte Probleme machen.

TimBo

BeitragMi, Dez 16, 2009 23:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Midimaster, das geht noch schneller

BlitzBasic: [AUSKLAPPEN]

Function WriteLineEnd(DateiPfad$, Inhalt$)
Local stream = OpenFile(DateiPfad$)

SeekFile(stream,FileSize(DateiPfad$))
WriteLine stream,Inhalt$

CloseFile stream
End Function
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Midimaster

BeitragMi, Dez 16, 2009 23:37
Antworten mit Zitat
Benutzer-Profile anzeigen
hab ich probiert... aber ich habe bei den Versuchen immer wieder Probleme mit dem CRLF bekommen: Manchmal war die Zeile plötzlich nicht unterhalb, sondern hinter der vorletzten Zeile. so wie das auch Silernthunt4r beobachtete. Deshalb habe ich ihm hier einen "sicheren" Weg beschrieben.

TimBo

BeitragMi, Dez 16, 2009 23:42
Antworten mit Zitat
Benutzer-Profile anzeigen
das ist ja echt merkwürdig,
in welchen Situationen kommt denn das Phänomen auf ?
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Midimaster

BeitragMi, Dez 16, 2009 23:59
Antworten mit Zitat
Benutzer-Profile anzeigen
@TimBo

Vielleicht lags aber auch daran, dass ich die Datei schon bei Silernthunt4r's Code angelegt hatte. Deine Lösung ist klarer und schöner. Und Silernthunt4r müsste eigentlich gut damit zurechtkommen.
 

Kruemelator

BeitragDo, Dez 17, 2009 13:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht habt ihr einen kleinen Denkfehler.
Writeline schreibt die Zeichenkette und DANN die neue Zeile, nicht anders herum.
Wenn man noch in der alten Zeile ist dann wir da weitergeschrieben und anschließend eine neue leere Zeile angehängt.

Gruß Kruemelator

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group