AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dateien ohne Inhalt (leere Dateien) finden

Ein Thema von Schwedenbitter · begonnen am 10. Sep 2012 · letzter Beitrag vom 11. Sep 2012
Antwort Antwort
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Dateien ohne Inhalt (leere Dateien) finden

  Alt 10. Sep 2012, 15:18
Soo groß ist der Unterschied zwischen TFileStream und Blockwrite ja nun auch nicht:
Delphi-Quellcode:
const
  maxbuffsize=1024;
var
  buffer : array [0..maxbufsize-1];
  f : file;


assignfile(f,'Myfile');
reset(f,1);
repeat
  readed:=blockread(f,buffer,maxbuffsize); {bei nicht dyn arrays geht das! }
  if readed>0 then machwasdamit;
until readed<maxbufsizes;
closefile(f);
Delphi-Quellcode:
const
  maxbuffsize=1024;
var
  buffer : array [0..maxbufsize-1];
  f : tfilestream;

f:=tfilestream.Create('Myfile',fmopenread or fmsharedenynone);
repeat
  readed:=f.read(buffer,maxbuffsize); {bei nicht dyn arrays geht das! }
  if readed>0 then machwasdamit;
until readed<maxbufsizes;
f.free;
Ich hab auch lange einen Bogen darum gemacht.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.165 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Dateien ohne Inhalt (leere Dateien) finden

  Alt 11. Sep 2012, 12:14
Soo groß ist der Unterschied zwischen TFileStream und Blockwrite ja nun auch nicht:
Gruß
K-H
Unterschied? Beide Aufrufe laufen doch sowieso über die gleiche Kernel32 FileIO Routinen. Ich Denke, wenn ich mir den ASM Code anschaue ist die Blockread Variante noch etwas kürzer...

Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.553 Beiträge
 
Delphi 12 Athens
 
#3

AW: Dateien ohne Inhalt (leere Dateien) finden

  Alt 11. Sep 2012, 12:26
Es ist nicht wirklich identisch.

Die alten Pascalfunktionen besitzen teilweise ein eigenes Caching und das ist noch nichtmal annähernd optimal eingestellt.
Die Sache mit dem OOP und der Codevervollständigung braucht man wohl nicht mehr zu erwähnen.
Die alten Funktionen greifen auf gloable Variablen zu. Oder hast du etwa erwartet, daß Delphi-Referenz durchsuchenReset die Datei wirklich nur ReadOnly öffnet? (dieses wird über eine globale Variable Delphi-Referenz durchsuchenFileMode geregelt, mit sehr netten Nebenwirkungen)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Dateien ohne Inhalt (leere Dateien) finden

  Alt 11. Sep 2012, 13:42
Nicht das wir uns mißverstehen, ich wollte nur sagen, daß für den Codierer sich nicht viel ändert.
Und seit XP SP2 ist die Stream-Variante nie langsamer als das alte Blockread.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#5

AW: Dateien ohne Inhalt (leere Dateien) finden

  Alt 11. Sep 2012, 14:30
Ehrlich gesagt fand ich die "klassischen" Dateioperationen immer etwas unübersichtlich. Streams sind (imho) irgendwie übersichtlicher.

Soll ich das fertige Produkt nochmal hochladen, für den Fall, dass eines fernen Tages jemand dasselbe Problem hat?
Schaden kann es nicht
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:06 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