AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi BlockRead / BlockWrite oder die entsprechenden API's?
Thema durchsuchen
Ansicht
Themen-Optionen

BlockRead / BlockWrite oder die entsprechenden API's?

Ein Thema von Luckie · begonnen am 5. Nov 2003 · letzter Beitrag vom 5. Nov 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

BlockRead / BlockWrite oder die entsprechenden API's?

  Alt 5. Nov 2003, 10:47
Ich muss Dateien berabeiten, lesen und schreiben. Jetzt gibt es da ja mehrere Möglichkeiten:
  1. Die alten pascal Routinen BlockRead, BlockWrite.
  2. Die API's ReadFile, WriteFile
    • Selbige direkt ansprechen oder
    • die Delphi Kapselung FileRead, FileWrite.
Ja, was würdet ihr nehmen und warum? Im Moment würde ich das per Würfel entscheiden, aber es muss ja Vor- und Nachteile geben. Und dises wollte ich hie rmal diskutieren.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Motzi
Motzi

Registriert seit: 6. Aug 2002
Ort: Wien
598 Beiträge
 
Delphi XE2 Professional
 
#2

Re: BlockRead / BlockWrite oder die entsprechenden API's?

  Alt 5. Nov 2003, 10:56
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 )
Manuel Pöter
  Mit Zitat antworten Zitat
OLLI_T

Registriert seit: 13. Okt 2003
Ort: Nähe Wetzlar / Hessen
143 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: BlockRead / BlockWrite oder die entsprechenden API's?

  Alt 5. Nov 2003, 11:05
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
No Pain No Gain!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: BlockRead / BlockWrite oder die entsprechenden API's?

  Alt 5. Nov 2003, 11:05
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Motzi
Motzi

Registriert seit: 6. Aug 2002
Ort: Wien
598 Beiträge
 
Delphi XE2 Professional
 
#5

Re: BlockRead / BlockWrite oder die entsprechenden API's?

  Alt 5. Nov 2003, 11:33
Zitat von OLLI_T:
@Motzi: TFileStream kapselt auch (nur) die API Funktionen CreateFile, ReadFile, WriteFile ... .
Ich weiß... aber dennoch ist es wesentlich praktischer - vor allem weil es genauso wie alle andren Streams von der abstrakten Klasse TStream abstammt und daher alle Nachkömmlinge von TStream untereinander kombatibel und sozusagen "austauschbar" sind!

Zitat:
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?!
Diese Funktionen basieren natürlich auch alle nur auf Win-APIs, haben aber ein wesentlich komplexeres System dahinter als die TFileStream-Methoden! Geh einfach mal den entsprechenden Aufrufen im Debugger (mit aktivierten Debug-DCUs) nach...!
Manuel Pöter
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: BlockRead / BlockWrite oder die entsprechenden API's?

  Alt 5. Nov 2003, 11:36
Hier drifftet so etwas vom Thema ab mit euren Streams.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: BlockRead / BlockWrite oder die entsprechenden API's?

  Alt 5. Nov 2003, 16:54
Dürfte ich es noch mal nach oben holen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
OLLI_T

Registriert seit: 13. Okt 2003
Ort: Nähe Wetzlar / Hessen
143 Beiträge
 
Delphi 5 Enterprise
 
#8

Re: BlockRead / BlockWrite oder die entsprechenden API's?

  Alt 5. Nov 2003, 17:12
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
No Pain No Gain!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: BlockRead / BlockWrite oder die entsprechenden API's?

  Alt 5. Nov 2003, 17:14
Oh, so war das gemeint? OK. Aber ich nehme die Kapselungen aus der SysUtils. Oder würde etwas dagegensprechen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: BlockRead / BlockWrite oder die entsprechenden API's?

  Alt 5. Nov 2003, 22:39
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.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz