AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Dateigrössen
Thema durchsuchen
Ansicht
Themen-Optionen

Dateigrössen

Ein Thema von busybyte · begonnen am 21. Feb 2008 · letzter Beitrag vom 22. Feb 2008
 
busybyte

Registriert seit: 15. Sep 2006
165 Beiträge
 
#1

Dateigrössen

  Alt 21. Feb 2008, 23:29
Ich habe es satt gehabt immer die unterschiedlichen Dateigrössen vom Windos-Explorer
und den üblichen Methoden zu erhalten und deswegen mal angefangen, das ganze
in eine Function zu packen.
Ihr könnt damit machen, was Ihr wollt, wäre schön wenn Ihr auch was anbieten könntet.

Delphi-Quellcode:
unit MyToolsU;
//V 1.1
//by BusyByte

interface
Type TFSRes=Record
i64Res_:int64;
iRes_:integer;
dRes_:Double;
SRes_1:String;
SRes_2:String;
end;

function MyGetFileSize(const FileName: String): TFSRes;


implementation
Uses Windows,SysUtils;

function MyGetFileSize(const FileName: String): TFSRes;
var FileHandle: Cardinal; var Data: WIN32_FIND_DATA;
Tmp:String;
L1:integer;
begin
 
  Result.iRes_ := -1; Result.i64Res_:=-1; Result.dRes:=-1;
  Result.SRes_1:=''; Result.SRes_2:='';
 
  FileHandle := FindFirstFile(PChar(FileName), Data);
  try
    if FileHandle > 0 then
   with Result do
    begin
    iRes_:=(Data.nFileSizeLow + 1023) div 1024;

   //Werde die Stringumwandlungen später noch in eine Function auslagern=Speedmode
    dRes_:=iRes_;
    Tmp:=Format('%n', [dRes_]);
    L1:=Length(Tmp);
    Delete(Tmp,L1-2,L1);
    SRes_1:=Tmp+' KB';


    Int64Rec(Result.i64Res_).Hi := Data.nFileSizeHigh;
    Int64Rec(Result.i64Res_).Lo := Data.nFileSizeLow;

    dRes_:=Result.i64Res_;
    Tmp:=Format('%n', [dRes_]);
    L1:=Length(Tmp);
    Delete(Tmp,L1-2,L1);
    SRes_2:=Tmp+' Bytes';

    end;
  finally Windows.FindClose(FileHandle);
  end;
end;

end.
//EDIT
dRes wird eigentlich nur für die Umsetzung mit Format() benötigt und könnte auch temporär gehalten werden.
Aufruf z.B. mit

Delphi-Quellcode:
Uses MyToolsU;
.
.
.
with MyGetfileSize(Filename_) do
Label1.Caption:=SRes_1+'(' +SRes_2+')';
22.02.2008 1.30Uhr : Neue Version V1.1 eingestellt
I love DiscCat
  Mit Zitat antworten Zitat
 


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 08:59 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