Jump to content
Gaben007

Help

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

Téma megosztása


Link to post
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

 

 

Téma megosztása


Link to post
Share on other sites

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)

Téma megosztása


Link to post
Share on other sites

nézz utána a lengyelformának! Vagy megpróbálhatod felépíteni a kifejezés gráfját, ami viszonylag gyorsan és rugalmasan kiértékelhető!

Téma megosztása


Link to post
Share on other sites
:) 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!

Téma megosztása


Link to post
Share on other sites

Sziasztok! Most kezdek programozni turbo delphiben, és kellene nekem valami féle ebook, vagy tutorial! Ha tudtok valami ilyesmit, megköszönném!

Téma megosztása


Link to post
Share on other sites

1: tanár

2: rendes konyv

 

Ezek nélkül el se kezd.

Téma megosztása


Link to post
Share on other sites
hehe most nézem hogy ez ugyanaz mint a pascal megprobálkozok vele én is :)

 

Mintha nem azt mondanád hogy visual c hanem hogy "visual pascal" :) csak ezt delphinek hivják :)

Téma megosztása


Link to post
Share on other sites

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

Téma megosztása


Link to post
Share on other sites

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!!!

Téma megosztása


Link to post
Share on other sites

Nem, a Delphi-d fertözött!

http://computerworld.hu/delphi-s-szoftverekben-terjed-az-induc-virus.html

Itt olvashatsz utána

Téma megosztása


Link to post
Share on other sites

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

Téma megosztása


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Jelenleg olvassa   0 members

    No registered users viewing this page.

A letöltési témákba írt köszönetekért és tárhely kérésekért azonnali figyelmeztetés jár!

×