PDA

View Full Version : خواندن اطلاعات فایل (اندازه،زمان...) نیاز فوری



golpoo
دوشنبه 25 خرداد 1383, 21:47 عصر
سلام
فایلی را از حافظه search کرده و پس از نمایش آن در برنامه باید نام فایل به همراه اندازه،زمان،تاریخ ایجاد فایل در یک جدول ذخیره شود...
اندازه و... فایل در کجا ثبت شده و چگونه به اطلاعات آن می توان دسترسی پیدا کرد؟
برنامه چگونه نوشته می شود؟
ممنون

vcldeveloper
سه شنبه 26 خرداد 1383, 02:20 صبح
از این تابع برای بدست آوردن اندازه فایل می تونی استفاده کنی:



function File_Size(FileName: string): integer;
// This function uses API to find out a file's size
// Output: "if File doesn't exists" -> -1 , "if file exists -> File size in Bytes
var
FHandle: THandle; // File handle
begin
File_Size := -1;
//CreateFile with OPEN_EXISTING as its parameter opens an existing file and returns its handle
//If file doesn't exists the function will fail
FHandle := CreateFile(PChar(FileName), 0, FILE_SHARE_READ, nil,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);

//GetLastError has the error code of the last API function which was executed
// If createFile is sucessful the GetLastError = 0
// Else GetLastError = INVALID_HANDLE_VALUE
if GetLastError <> INVALID_HANDLE_VALUE then
begin
//If the file exists then we can get file size by calling GetFileSize with file's handle as its parameter
File_Size := GetFileSize(FHandle,nil);
CloseHandle(FHandle);
end;
end;

Mahdi_S_T
سه شنبه 26 خرداد 1383, 11:59 صبح
برای تاریخ و زمان :


//for File Date and Time

function GetFileDate(TheFileName:string):string;
var
FHandle:integer;
begin
FHandle:=FileOpen(TheFileName,0);
try
Result:=DateTimeToStr(FileDateToDateTime(FileGetDa te(FHandle)));
finally
FileClose(FHandle);
end;
end;

موفق باشی.

golpoo
سه شنبه 26 خرداد 1383, 18:44 عصر
HANDLE چیه؟؟
FileAge کجا استفاده میشه؟

vcldeveloper
چهارشنبه 27 خرداد 1383, 01:40 صبح
این توابع که در بالا می بینید همگی با کمک API ویندوز نوشته شدند بهتره راهنمای دلفی و همچنین راهنمای API که با خود دلفی هست رو مطالعه کنید تا بهتر طرز کار توابع بالا رو متوجه بشید.

بطور کلی یک Handle (در مبحث فایلها) یک دستگیره برای اون فایله. ارتباط شما با فایل از طریق این دستگیره که توسط ویندوز به شما اختصاص داده میشه صورت میگیره در واقع یک ارجاع به فایل مرود نظره

Mahdi_S_T
چهارشنبه 27 خرداد 1383, 18:41 عصر
اگر فرضا برای کلمه FileSize در دلفی جستجو کنی می توانی یک مثال راحت تر و قابل فهم تر در دلفی جهت بدست آوردن انداره فایل پیدا کنی

golpoo
چهارشنبه 27 خرداد 1383, 20:18 عصر
ممنون واقعاً کمک کردید :)

vcldeveloper
پنج شنبه 28 خرداد 1383, 02:10 صبح
FileSize از توابعی که در بالا ذکر شد کندتره!