![]() |
BlockRead / BlockWrite oder die entsprechenden API's?
Ich muss Dateien berabeiten, lesen und schreiben. Jetzt gibt es da ja mehrere Möglichkeiten:
|
Re: BlockRead / BlockWrite oder die entsprechenden API's?
Also ich mag die alten Pascal-Routinen nicht.. deswegen arbeite ich immer mit FileStreams (sehr praktisch und leicht mit andren Streams kombinierbar), wenn ich allerdings nonVCL progge (so wie du meistens) greif ich lieber direkt auf die Win32-APIs zurück..!
Warum ich die alten Routinen nicht mag kann ich nicht wirklich sagen - weiß nur noch dass ich sehr schlechte Erfahrungen mit ihnen gemacht hab (hat aber wahrscheinlich an mir gelegen, damals war ich noch ein ganz frischer Frischling ;)) |
Re: BlockRead / BlockWrite oder die entsprechenden API's?
HY!
@Motzi: TFileStream kapselt auch (nur) die API Funktionen CreateFile, ReadFile, WriteFile ... . Mich würde mal interessieren, wie die Objektpascal Funktionen auf das Filesystem zugreifen, sprich diese in der Unit System implementiert sind. Kann mit nicht vorstellen, dass Windows direkte Zugriffe auf die Hardware zulässt. Vielleicht hält Borland diese Fkt nur aus "nostalgischen" Gründen am Leben und hat längst die entsprechenden WINAPI Fkt. dahintergeklemmt?! Könnte mir vorstellen, dass Hagen, NicoDe oder Assa dazu näheres wissen. Gruss OLLI |
Re: BlockRead / BlockWrite oder die entsprechenden API's?
Danke schon mal für deine Meinung. Allerdings hätte ich schon gern etwas griffigeres. Wenn mich jemand fragt, warum so und nicht so, hätte ich schon gerne eine aussagekräftige Antwort parat.
|
Re: BlockRead / BlockWrite oder die entsprechenden API's?
Zitat:
Zitat:
|
Re: BlockRead / BlockWrite oder die entsprechenden API's?
Hier drifftet so etwas vom Thema ab mit euren Streams.
|
Re: BlockRead / BlockWrite oder die entsprechenden API's?
Dürfte ich es noch mal nach oben holen? :duck:
|
Re: BlockRead / BlockWrite oder die entsprechenden API's?
Motzi hat es doch schon auf den Punkt gebracht und ich hab auch gerade in den diversen Assembler Sourcen geschnüffelt. Die guten alten Routinen rufen (natürlich) auch die diversen API Funktion auf. Wäre es anders würde Windows sicherlich ziemlich meckern.
Also würfle ich jetzt für Dich und sage: nimm WINAPI, da Du Deine Software schliesslich auch für Windoof schreibst. Sollte für Dich als NONVCL-Freak doch keine Frage sein. In der Hoffnung nicht gedriftet zu sein ... OLLI |
Re: BlockRead / BlockWrite oder die entsprechenden API's?
Oh, so war das gemeint? OK. Aber ich nehme die Kapselungen aus der SysUtils. Oder würde etwas dagegensprechen?
|
Re: BlockRead / BlockWrite oder die entsprechenden API's?
Moin Luckie,
warum nimmst Du dann nicht gleich die zugrundeliegenden API ReadFile, WriteFile usw. Die Kapselung in den SysUtils, macht ja nichts anderes, als diese Funktionen aufzurufen, und im Fehlerfalle -1 statt false zurückzuliefern. Das würde Dir dann u.U. die komplette Einbindung der SysUtils ersparen, und das noch ohne sonderlichen Aufwand. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:41 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