Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Fehler beim ermitteln der Dateigröße (https://www.delphipraxis.net/64671-fehler-beim-ermitteln-der-dateigroesse.html)

ferby 6. Mär 2006 21:09


Fehler beim ermitteln der Dateigröße
 
Hallo,

ich will eine Funktion in einer eigene Unit schreiben, die ich bei bedarf einbinden kann.
Diese Funktion soll mir die Dateigröße einer Datei bestimmen.

Hier die Funktion

Delphi-Quellcode:
function FileSize(fn: TFileName): Integer;
var
  Datei: Textfile;
begin
  AssignFile(Datei, fn);
  Reset(Datei);
  result:=FileSize(Datei);
  CloseFile(Datei);
end;
Jetzt die Fehlermeldung:

[Fehler] Datei.pas(19): Inkompatible Typen: 'String' und 'Text'

Ich verstehe die Meldung nicht ganz. Es kommt weder ein String noch ein Text vor???
Kann mir wer das erklären?

Ferby

[edit=SirThornberry]Threadtitel geändert. Mfg, SirThornberry[/edit]

Oxmyx 6. Mär 2006 21:14

Re: Hilfe: Komischer Fehler
 
Vermutlich musst du TFileName auf string casten.

Hawkeye219 6. Mär 2006 21:18

Re: Hilfe: Komischer Fehler
 
Hallo ferby,

bei der Zuweisung zu result rufst Du Deine Routine rekursiv auf!
Ändere die Zeile in

Delphi-Quellcode:
result := System.FileSize(Datei);
dann klappt's vielleicht.

Christian Seehase 6. Mär 2006 22:29

Re: Hilfe: Komischer Fehler
 
Moin Ferby,

übrigens schlägt Deine Funktion fehl, wenn Du eine Datei > 2GB übergibst.

inherited 7. Mär 2006 15:07

Re: Hilfe: Komischer Fehler
 
Wobei er nur Textdateien öffnen will und wehr jhat schon Textfiles mit SINNVOLLEN 2 gb text?

€dit das erinnert mich an ein krankes japanisches video: da sitzt das Windows ME-Männchen und sortiert dateien. Kommt ne datei größer als 2 gb an und schmeisst sie in den papierkorb....is schlecht zu beschreiben ich poste irgendwann mal den link

ferby 7. Mär 2006 18:31

Re: Hilfe: Komischer Fehler
 
Hallo,

danke für die Antwort

die Lösung von Hawkeye219:

Delphi-Quellcode:
result := System.FileSize(Datei);
hat funktioniert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 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