Jump to content
PirateClub.hu

Help


Gaben007
 Share

Recommended Posts

:) Most kezdtem programozni delphiben, és lenne egy olyan kérdésem a fájlkezeléssel kapcsolatban, hogy hogyan lehet egy fájl pontos méretét lekérdzeni. És még érdekelne a renamefile eljárás használata is.

Ha tudna segíteni valaki ebben akkor azt megköszönném. :P

Link to comment
Share on other sites

tyü, na várjálcsak, ehhez tudok sztem adni segédleted

 

File mérete:

 

function Get_File_Size1(sFileToExamine: string; bInKBytes: Boolean): string;
{
for some reason both methods of finding file size return
a filesize that is slightly larger than what Windows File
Explorer reports
}
var
  FileHandle: THandle;
  FileSize: LongWord;
  d1: Double;
  i1: Int64;
begin
  //a- Get file size
  FileHandle := CreateFile(PChar(sFileToExamine),
    GENERIC_READ,
    0, {exclusive}
    nil, {security}
    OPEN_EXISTING,
    FILE_ATTRIBUTE_NORMAL,
    0);
  FileSize   := GetFileSize(FileHandle, nil);
  Result     := IntToStr(FileSize);
  CloseHandle(FileHandle);
  //a- optionally report back in Kbytes
  if bInKbytes = True then
  begin
    if Length(Result) > 3 then
    begin
      Insert('.', Result, Length(Result) - 2);
      d1     := StrToFloat(Result);
      Result := IntToStr(round(d1)) + 'KB';
    end
    else
      Result := '1KB';
  end;
end;

{******************************************************************************
Thanks to Advanced Delphi Systems here's another method which works just as
well returning the same results
*******************************************************************************}
function Get_File_Size2(sFileToExamine: string; bInKBytes: Boolean): string;
var
  SearchRec: TSearchRec;
  sgPath: string;
  inRetval, I1: Integer;
begin
  sgPath := ExpandFileName(sFileToExamine);
  try
    inRetval := FindFirst(ExpandFileName(sFileToExamine), faAnyFile, SearchRec);
    if inRetval = 0 then
      I1 := SearchRec.Size
    else
      I1 := -1;
  finally
    SysUtils.FindClose(SearchRec);
  end;
  Result := IntToStr(I1);
end;



procedure TForm1.Button1Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
    label1.Caption := Get_File_Size(Opendialog1.FileName, True);
end;

{*******************************************************************************
}

function Get_File_Size3(const FileName: string): TULargeInteger;
// by nico
var
  Find: THandle;
  Data: TWin32FindData;
begin
  Result.QuadPart := -1;
  Find := FindFirstFile(PChar(FileName), Data);
  if (Find <> INVALID_HANDLE_VALUE) then
  begin
    Result.LowPart  := Data.nFileSizeLow;
    Result.HighPart := Data.nFileSizeHigh;
    Windows.FindClose(Find);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if (OpenDialog1.Execute) then
    ShowMessage(IntToStr(Get_File_Size3(OpenDialog1.FileName).QuadPart));
end;

{*******************************************************************************
}

function Get_File_Size4(const S: string): Int64;
var
  FD: TWin32FindData;
  FH: THandle;
begin
  FH := FindFirstFile(PChar(S), FD);
  if FH = INVALID_HANDLE_VALUE then Result := 0
  else
    try
      Result := FD.nFileSizeHigh;
      Result := Result shl 32;
      Result := Result + FD.nFileSizeLow;
    finally
      CloseHandle(FH);
    end;
end;

 

a rename dolgorol meg itt találsz okosságot:

http://www.delphibasics.co.uk/RTL.asp?Name=Rename

 

 

Link to comment
Share on other sites

  • 1 month later...

sziasztok!

számológépet kezdtem csinálni borland delphi 7-ben, és a zárójelek alkalmazásánál elakadtam...

valaki tudna segíteni, hogy oldjam meg?! (összeadás, kivonás, szorzás, osztás működik)

bocsi, hogy ide írtam, de ezért nem akartam új topikot nyitni

(ha kell, a dpr-t el tudom küldeni)

Link to comment
Share on other sites

  • 4 weeks later...
  • 1 month later...
:) Most kezdtem programozni delphiben, és lenne egy olyan kérdésem a fájlkezeléssel kapcsolatban, hogy hogyan lehet egy fájl pontos méretét lekérdzeni. És még érdekelne a renamefile eljárás használata is.

Ha tudna segíteni valaki ebben akkor azt megköszönném. :P

 

IDE-ben ird be, hogy

FileSize

áll rá, és nyomj ctrl+f1 -et. A súgóban egy delphi-s példát is kapsz.

Ugyanez igaz a renamefile -ra is!

Link to comment
Share on other sites

  • 3 months later...
  • 4 weeks later...
  • 1 year later...

Sziasztok!

 

Volna egy olyan kérdésem, hogy hová kell registri bejegyzést csinálni, hogy a taskmgr-ben ne mutassa a futó exe-t ?

Haver írt 1 programot amivel a csaja msn naplózását próbálja lenyulni, de a csaj öcse mindig kilövi msconfig-ban a fájl inditását... Vállaszt előre is köszi!!!

Link to comment
Share on other sites

  • 2 months later...
  • 1 month later...
  • 8 years later...

Sziasztok! Turbo Delphiben szeretnék, egy oylan programot csinálni, ami hatványozásra alkalmas, csak elakadtam a for ciklusnál! Változoknak alap, hatvany, kitevo, i-et vetem fel! Valaki segítsen please! Köszi

function hatvany(in:real;n:integer):real;
var j:integer;
      f:real;
begin
f:=1;
for j:=1 to n do f:=f*in;
result := f; 
end
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Hozzászólás a témához...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Jelenleg olvassa   0 members

    • No registered users viewing this page.
×
×
  • Create New...