WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   VB: in Textdatei zu beginn springen und darüber schreiben (http://www.wcm.at/forum/showthread.php?t=173354)

Chrisi99 04.09.2005 23:10

VB: in Textdatei zu beginn springen und darüber schreiben
 
ich bräuchte diese Funktion für eine Protokollierfunktion:

ich öffne eine Textdatei, das Programm springt an den Anfang und fügt den Text aus einer Textbox darüber ein.

Private Sub cmdSave_Click()
Dim FN As Integer

FN = FreeFile()
Open m_strFileName For Output As #FN
Write #FN, Text1.Text
Close #FN
End Sub


kann ich diese Funktion dazu verwenden- und wie schaut das ganze aus?

liebe Grüße

Sesa_Mina 04.09.2005 23:50

OPEN ... for OUTPUT

öffnet bzw. erzeugt ein file. Die Schreibposition wird an den Dateianfang gesetzt. Eventuell vorhandener Inhalt wird gelöscht.


OPEN ... for APPEND

Wie oben, nur wird am Dateiende angehängt und etwaig vorhandener Inhalt bleibt bestehen.

Chrisi99 05.09.2005 00:13

wenn ich mich recht entsinne wird ja mit BOF (Gegenteil zu EOF) der Beginn einer Datei markiert--- kann man das verwenden?

ich denke da an etwas ala ICQ-Logfile. Da wird ja auch immer oben dazu geschrieben :)


grüße

Sesa_Mina 05.09.2005 00:30

Du legst hier beim *öffnen* der Datei fest was passiert bzw. ob das file überschrieben wird oder die Daten angehängt werden.

EOF dient beim Einlesen einer Datei mittels read/input zur Überprüfung ob das Dateiende bereits erreicht wurde um nicht darüber hinaus zu lesen (was in einer Fehlermeldung enden würde).

=> while not eof(foo)
=> line input #foo,bar
=> wend

wenn du an beliebiger stelle in der datei schreiben willst dann geht das über OPEN ... for BINARY as ... [Len=RecordLen]
dann kannst per get/put direkt schreiben / lesen.

=> get #foo,filepos,bar
=> put #foo,filepos,bar
wobei filepos beim ersten mal angegeben werden sollte und danach weggelassen werden kann wenn das lesen/schreiben sequentiell erfolgt.


Das mit dem "oben" dazuschreiben wird einfach so gelöst dass das file eingelesen wird und von hinten nach vorne angezeigt wird. mehr is dat nich.

Chrisi99 05.09.2005 07:23

ok!

wie lege ich die Reihenfolge beim Lesen fest?

btw: Guten Morgen! :)

wbendl 05.09.2005 11:28

Hi!

Zuerst zeilenweise in ein Array einlesen, und dann das Array "im Rückwärtsgang" durchlaufen.


mfg

WB


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag