Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi TFileStream.Create gibt Error (https://www.delphipraxis.net/172870-tfilestream-create-gibt-error.html)

Volker Z. 27. Jan 2013 00:51

AW: TFileStream.Create gibt Error
 
Hallo,

wollte Dir nicht zu nahe treten.
Zitat:

Ich lese ihn weil, zugegeben mein Mozilla prüft alle Forenseiten alle Viertelstunde auf Aktualisierungen
Konnte ich nicht wissen.
Zitat:

Gegenfrage: Wie siehst du das ich meinen Beitrag lese? *scared*
*scared* No worry! "Wer ist online" sagt mir wer was gerade liest;

Gruß

Drahcir 27. Jan 2013 01:00

AW: TFileStream.Create gibt Error
 
Macht nix, ist aber interessant zu sehen dass es auffällt ;)
Das hab ich bisher nicht gehabt, aber gut zu wissen.

Ja mein Mozilla prüft stündlich bis zu 400 Foreneinträge, die ich nicht alle manuell prüfen mag (Viel-Blogger, ja ich weiß das ist übertrieben und einige sind schon seit knapp nem Jahr nicht mehr beantwortet worden ...) ;)

Natürlich kannst du das nicht wissen :D Kam auch nicht aufdringlich rüber :)

Naja das mit dem Wer-ist-Online ... da hätte ich auch drauf kommen können :thumb:

Ausserdem trifft man so eher auf nette Leute zum Plaudern :P

Jetzt hab ich aber trotzdem noch ne Frage die aber glaub ich off-topic ist, reinwerfen tu ich die trotzdem mal ... ich komme mit canvas.pie nicht klar, wie erreichnet der/die/das pie den mittelpunkt, von dem aus gezeichnet wird? mitte zwischen X1 und X2 und Mitte zwischen Y1 und Y2?

Ich wünsch hier mal ne gute Nacht, ich gönne mir jetzt meinen seligen Schönheitsschlaf :wink:

Volker Z. 27. Jan 2013 01:37

AW: TFileStream.Create gibt Error
 
Hallo,

Zitat:

Kam auch nicht aufdringlich rüber
Puh(!), bin ich froh - war auch nicht meine Intension
Zitat:

Ausserdem trifft man so eher auf nette Leute zum Plaudern
Try and error auch eine Variante :) (nix für ungut - glaube selbst nett zu sein und plauern ist i.R. eine feine Sache)
Zitat:

Jetzt hab ich aber trotzdem noch ne Frage die aber glaub ich off-topic ist, reinwerfen tu ich die trotzdem mal ... ich komme mit canvas.pie nicht klar, wie erreichnet der/die/das pie den mittelpunkt, von dem aus gezeichnet wird? mitte zwischen X1 und X2 und Mitte zwischen Y1 und Y2?
Sicher OT. Aber versuchs mal:
Delphi-Quellcode:
procedure TForm4.Button3Click(Sender: TObject);
var
  r : TRect;
begin
  r := Rect (0, 0, 200, 300);
  Canvas.Rectangle(r);
  Canvas.Pie (r.Left, r.top, r.Right, r.Bottom, r.Left, r.Right div 2, r.top, r.Bottom div 2);
end;
zeichnet schön ein Tortenstück auf das Canvas. div 2 ist meistens ein guter Kandidat die Mitte zu treffen.

Zitat:

Ich wünsch hier mal ne gute Nacht, ich gönne mir jetzt meinen seligen Schönheitsschlaf
Verdient ist verdient - neh! Ich versuche es dann auch mit schlafen - ob es dann auch schön macht(?)

Gruß

Christian Seehase 27. Jan 2013 09:13

AW: TFileStream.Create gibt Error
 
Moin Zusammen,

das fmShareDenyNone hilft Dir nichts, wenn ein anderer Prozess die Datei exklusiv geöffnet hat.
Die Verwendung von TSearchRec.Size funktioniert auch nur bedingt, da es auf 32-Bit begrenzt ist.
Besser:

Delphi-Quellcode:
  iFileSize := (sr.FindData.nFileSizeHigh shl 32) or (sr.FindData.nFileSizeLow);

DeddyH 27. Jan 2013 09:57

AW: TFileStream.Create gibt Error
 
Ich will ja keine Werbung machen, aber mit meiner Komponente wäre das ganz einfach zu lösen gewesen ;)

Sir Rufo 27. Jan 2013 10:02

AW: TFileStream.Create gibt Error
 
Zitat:

Zitat von Christian Seehase (Beitrag 1200807)
das fmShareDenyNone hilft Dir nichts, wenn ein anderer Prozess die Datei exklusiv geöffnet hat.

+ wenn man keine Berechtigung zum Lesen der Datei hat, dann geht das auch nicht ;)

Drahcir 27. Jan 2013 12:32

AW: TFileStream.Create gibt Error
 
Und da bin ich mit Programm V2, mal sehen wo ihr noch überall Fehler findet :P

Zitat:

Zitat von Christian Seehase (Beitrag 1200807)
Moin Zusammen,

das fmShareDenyNone hilft Dir nichts, wenn ein anderer Prozess die Datei exklusiv geöffnet hat.
Die Verwendung von TSearchRec.Size funktioniert auch nur bedingt, da es auf 32-Bit begrenzt ist.
Besser:

Delphi-Quellcode:
  iFileSize := (sr.FindData.nFileSizeHigh shl 32) or (sr.FindData.nFileSizeLow);

Dann werd ich mir da was überlegen müssen :o

Zitat:

Zitat von DeddyH (Beitrag 1200819)
Ich will ja keine Werbung machen, aber mit meiner Komponente wäre das ganz einfach zu lösen gewesen ;)

Schau ich mir gerne nachher an wenn ich Zeit habe :D

Zitat:

Zitat von Sir Rufo (Beitrag 1200823)
Zitat:

Zitat von Christian Seehase (Beitrag 1200807)
das fmShareDenyNone hilft Dir nichts, wenn ein anderer Prozess die Datei exklusiv geöffnet hat.

+ wenn man keine Berechtigung zum Lesen der Datei hat, dann geht das auch nicht ;)

Hm ok, ich glaube dann stört mich das exklusiv :D und würde mich wundern wenn ich Berechtigungen auf eine MSDOS.SYS kriegen würde, wo wäre denn da dann die Sicherheit? :D

Naja hab n bissl umgesattelt mit den vorhergehenden Beiträgen und meine Funktion, die auch (fast :P) funktioniert, sieht so aus:

Delphi-Quellcode:
function TfrmMain.getDirectoryGroesse(OrdnerPfad:string) : Int64;
var Rec : TSearchRec; Groesse : Int64;
begin
  Groesse := 0;
  result := 0;
  if SysUtils.FindFirst(OrdnerPfad + '*', faAnyFile, Rec) = 0 then
  try
    repeat
      if (Rec.Name <> '.') and (Rec.Name <> '..')
      then begin
        if DirectoryExists(OrdnerPfad + Rec.Name)
        then begin
          Groesse := Groesse + getDirectoryGroesse(Ordnerpfad + Rec.Name + '\');
          g_pLogFile.Warning('Öffne Ordner ' + Ordnerpfad + Rec.Name + '\');
        end;
        if FileExists(OrdnerPfad + Rec.Name)
        then begin
          Groesse := Groesse + Rec.Size;
          g_pLogFile.Information('Datei ' + Ordnerpfad + Rec.Name + ' : ' + FormatFloat(' #,###.', Rec.Size));
        end;
      end;
    until SysUtils.FindNext(Rec) <> 0;
  finally
    g_pLogFile.Warning('Ordnergröße ' + Ordnerpfad + Rec.Name + ' : ' + FormatFloat(' #,###.', Groesse));
    SysUtils.FindClose(Rec);
  end;
 
  result := Groesse;
end;
Naja aber da scheint der irgendwie auch Dateien zu ignorieren, wenn ich einen Ordner (Bsp: 'C:\Users\Drahcir\' durchsuchen lasse, fehlen knapp 40GB, keine Ahnung wo die verschwinden :D naja ich arbeite noch dran ... Kanns sein dasses die Ordner mit den Namen '.' oder '..' sind, die ich ja bei allem geflissentlich übergehe, was sind die eigentlich? (ich glaub ich bin wieder Off-Topic aber gehört ja zu dem Programm)

Vielen Dank nochmal für die schnellen und tollen Antworten :)

DeddyH 27. Jan 2013 15:03

AW: TFileStream.Create gibt Error
 
Liste der Anhänge anzeigen (Anzahl: 1)
Kannst Du mal ausprobieren, ob das Programm im Anhang die richtige Größe ermittelt?

Drahcir 27. Jan 2013 15:11

AW: TFileStream.Create gibt Error
 
Tut es, jetzt bin ich deprimiert :? Gibt exakt die richtige Bytezahl an ...

DeddyH 27. Jan 2013 15:17

AW: TFileStream.Create gibt Error
 
Das arbeitet mit meiner Komponente, der Main-Quelltext hat gerade einmal 80 Zeilen. Vielleicht solltest Du die Dir tatsächlich einmal genauer anschauen. Mich persönlich interessiert vor allem, ob sie sich unter älteren Delphi-Versionen (< Delphi 7) installieren lässt ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:29 Uhr.
Seite 2 von 4     12 34      

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