![]() |
Re: Datei im Speicher zeilenweise lesen
Ich werde mir Flockes zweite Methode mal genauer angucken und dann entscheiden. Aber gerade ist "Geheime Botschaften" von Simon Singh per Post angekommen, das wird also nichts mehr mit dem Umsetzen heute. ;)
|
Re: Datei im Speicher zeilenweise lesen
So, Problem:
Delphi-Quellcode:
In der siebten zeile meint Delphi:
// Initialisierung
function InitLine(hFile: THandle; var FileBufStr: string): boolean; var GotBytes: cardinal; begin SetLength(FileBufStr, BUFSIZE); Result := ReadFile(hFile, @FileBufStr[1], BUFSIZE, GotBytes, nil); if Result then SetLength(FileBufStr, GotBytes) else FileBufStr := ''; end; Zitat:
|
Re: Datei im Speicher zeilenweise lesen
Zitat:
|
Re: Datei im Speicher zeilenweise lesen
Müsste es nicht gehen wenn Du anstelle @FileBufStr[1] "nur" FileBufStr[1] übergibst?
|
Re: Datei im Speicher zeilenweise lesen
Zitat:
... und noch'n Fehler gesehen:
Delphi-Quellcode:
Klammeraffe weg und (ganz wichtig) +1!
if not ReadFile(hFile, FileBufStr[OldLen + 1], BUFSIZE, GotBytes, nil) then
... und noch'n Nachtrag: Wenn #13 drin vorkommt (CR), dann solltest du das rausfiltern. (wär echt einfacher gewesen, einfach TextFile zu benutzen :stupid: ) |
Re: Datei im Speicher zeilenweise lesen
Zitat:
Wenn du einen Puffer als untypisierten Pointer hättest, würdest du es ja genauso machen: ptr^ |
Re: Datei im Speicher zeilenweise lesen
Zitat:
Wäre es anzuraten den SetTextBuf auf die Dateigröße zu setzen oder was sollte man da am besten nehmen? |
Re: Datei im Speicher zeilenweise lesen
SetTextBuf auf Dateigröße?
könntest du ja versuchen ... ich gehe ja mal davon aus, dat deine Datein kleiner als 2 GB ist ^^ Aber da du ja schreiben/lesen möchtest, würde ich dann diesen Wert noch auf ein Vielfaches der Clustergröße aufrunden :) Ich hab ja bei meinen Hashfunktionen (Dateien lesen) den Puffer auch auf ein vielfaches der Clustergröße gesetzt (allerding nur auf das maximal 32-fache, wenn ich mich nicht irre) |
Re: Datei im Speicher zeilenweise lesen
Ich muss nur lesen.
|
Re: Datei im Speicher zeilenweise lesen
Na dann könnte es eventuell ja egal sein ^^
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz