Seite 2 von 2

Verfasst: 19.07.2005 19:04
von Sylvia
FileSeek(Lof()-1) ist definitiv falsch

Verfasst: 19.07.2005 19:28
von Icke
...aber keiner von euch hat die Datei eingelesen!

"Binäre Datei einlesen, String anhängen, wieder abspeichern"


:-P

Verfasst: 19.07.2005 19:47
von Batze
Habs korrigiert!
Wie ich da drauf gekommen bin weiß ich aber auch nicht. :oops:
Warscheinlich weil ich da gerade erst aufgestanden war. :lol:

Verfasst: 19.07.2005 19:50
von DarkDragon
redacid hat geschrieben:Das kommt davon, wenn man seit Ewigkeiten nichts mehr programmiert hat... /:->
Dann wärs mal Zeit für ein neues Projekt.

Verfasst: 19.07.2005 19:52
von Kiffi
> Das kommt davon, wenn man seit Ewigkeiten nichts mehr programmiert
> hat... /:->

was? wieso denn nicht? :shock:

> Apple Macintosh- und PureBasic für MacOS X-Benutzer

achso! Deshalb... :cool:

Grüße ... Kiffi

Verfasst: 20.07.2005 09:41
von HeX0R
Icke hat geschrieben:...aber keiner von euch hat die Datei eingelesen!

"Binäre Datei einlesen, String anhängen, wieder abspeichern"


:-P
Das ginge dann z.B. so:

Code: Alles auswählen

FileName.s = "E:\Bilder\Pc140013.jpg"
Size.l     = FileSize(FileName)
a$         = "--- Das hängen wir dran ---"
If Size > 0
  *Buffer = AllocateMemory(Size + Len(a$) + 1)
  If *Buffer
    OpenFile(0, FileName)
    ReadData(*Buffer, Size)
    PokeS(*Buffer + Size, a$)
    FileSeek(0)
    WriteData(*Buffer, Size + Len(a$) + 1)
    CloseFile(0)
    FreeMemory(*Buffer)
  EndIf
EndIf

Verfasst: 20.07.2005 15:19
von ts-soft
Oder etwas schneller so:

Code: Alles auswählen

FileName.s = "E:\Bilder\Pc140013.jpg"
Size = FileSize(FileName)
Buffer = AllocateMemory(Size)
If Size > -1 And Buffer > 0
  File = OpenFile(#PB_Any, FileName)
  If File
    ReadData(Buffer, Size)
    ; hier sollte dann wohl irgendwas passieren, bevor ich den Speicher freigebe
    WriteString("--- Das hängen wir dran ---")
    CloseFile(File)
  EndIf
  FreeMemory(Buffer)
EndIf
Warum sollte ich die vorhandenen Daten den nochmal schreiben und den Dateizeiger wieder auf 0 bewegen

Verfasst: 20.07.2005 15:53
von NicTheQuick
Die erste Version mit dem [c]FileSeek()[/c] ist wohl am schnellsten.
Wieso kommen jetzt auf einmal noch so komplizierte Vorschläge? Warum etwas auslesen, was man gar nicht benutzt?

Verfasst: 20.07.2005 16:06
von freedimension
Weil der Original-Poster als Titel das hier gewählt hat
Binäre Datei einlesen, String anhängen, wieder abspeichern
und sich bisher noch nicht dazu geäußert hat, ob überhaupt etwas mit den eingelesenen Daten gemacht werden soll. Als Beispiel: Anzahl des Buchstaben "e" bestimmen und Ergebnis an Datei anhängen. Ist ein schwachsinniges Beispiel, ich weiß, aber es veranschaulicht das "was sein könnte" :)

Verfasst: 20.07.2005 17:29
von ts-soft
Deswegen diese Zeile:
>> ; hier sollte dann wohl irgendwas passieren, bevor ich den Speicher freigebe
in meinem Source :D