dosya boyutu kontrolu
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
dosya boyutu kontrolu
merhaba
asagidaki gibi bir kod yazdim. firma.dll bulunamsazsa program kapatilacak diye.
if FileExists('firma.dll')=false then begin
ShowMessage(Dosyasi bulunamadı!');
close;
1-istiyorum ki firma.dll boyutu 71.340 bytan farkli ise gene kapatilsin. bunun icin nasil bir komut verebilirim.
2-close ile tam olarak kapatilmiyor.
3-windir\system32\firma.dll gosteremedim. windir directory i nasil gosteririm.
asagidaki gibi bir kod yazdim. firma.dll bulunamsazsa program kapatilacak diye.
if FileExists('firma.dll')=false then begin
ShowMessage(Dosyasi bulunamadı!');
close;
1-istiyorum ki firma.dll boyutu 71.340 bytan farkli ise gene kapatilsin. bunun icin nasil bir komut verebilirim.
2-close ile tam olarak kapatilmiyor.
3-windir\system32\firma.dll gosteremedim. windir directory i nasil gosteririm.
- hi_selamlar
- Üye
- Mesajlar: 523
- Kayıt: 05 May 2005 03:24
- Konum: DelphiTürkiye.COM
Re: dosya boyutu kontrolu
S.A.
Boyu tespiti.
system dizin tesbiti
kolay gelsin.
Boyu tespiti.
Kod: Tümünü seç
Function FileSize(FileName : String) : Int64;
var
SearchRec : TSearchRec;
begin
if FindFirst(FileName, faAnyFile, SearchRec ) = 0 then // dosya mevcut ise
Result := Int64(SearchRec.FindData.nFileSizeHigh) shl Int64(32) + // boyutu hesapla
Int64(SearchREc.FindData.nFileSizeLow)
else
Result := 0;
FindClose(SearchRec); // arama sonu
end;
system dizin tesbiti
Kod: Tümünü seç
function GetSystemDir: TFileName;
var
SysDir: array [0..MAX_PATH-1] of char;
begin
SetString(Result, SysDir, GetSystemDirectory(SysDir, MAX_PATH));
if Result = '' then
raise Exception.Create(SysErrorMessage(GetLastError));
end;

kolay gelsin.
Herkes cahildir, bazi konularda.
Re: dosya boyutu kontrolu
a.s
tesekkur ederim.
hocam bir de bu fonksiyonu nasil kullancagim bir ornek verirsen seivinirim.
dosya ismi ve boyutu belirterek.
eger firma.dll 7.345 kb den buyuk ve kucuk ise gibi
bir de sistemdir klasorune kopya etmek icin bir ornek kullanim icin
tekara tesekkur ederim.
tesekkur ederim.
hocam bir de bu fonksiyonu nasil kullancagim bir ornek verirsen seivinirim.
dosya ismi ve boyutu belirterek.
eger firma.dll 7.345 kb den buyuk ve kucuk ise gibi
bir de sistemdir klasorune kopya etmek icin bir ornek kullanim icin
tekara tesekkur ederim.
Re: dosya boyutu kontrolu
Bilmiyorum ama açıklayıcı olur umarım dosya boyutunu bir label e yazdırıp ordan şu şekilde kullanabilirsin
Kod: Tümünü seç
if label1.caption<=380 byte then
application.terminate
UWESIS CORPORATION
Re: dosya boyutu kontrolu
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var
srFileSR: TSearchRec;
sFileName, sFileSize ,kfs: string;
kbfs: integer ;
kb: Currency;
begin
if OpenDialog1.Execute then
begin
sFileName := OpenDialog1.FileName; // veya dosyanın yolu
FindFirst(sFileName,faAnyFile,srFileSR);
sFileSize := IntToStr(srFileSR.Size);
kbfs := (srFileSR.Size);
kb:=kbfs/1024;
kb:=RoundTo(kb,0);
kfs:= FloatToStr(kb);
Showmessage('bayt olarak dosya boyu='+sFileSize+' kb olarak dosya boyu=' + kfs);
if kb<> 7345 then // burada byte olarak bak kb de tutmayabilir.
//Application.Terminate; // burayı aktif hale getirince kendini kapatır dosya boyu tutmazsa
ShowMessage('uygulama kapatılıyor');
end
end;
Re: dosya boyutu kontrolu
yardimlarin icin tesekkur ederim.
asagidaki satir hata verdi bende bu satiri iptal ettim. fakat byte ve kb olarak mesajda gosterilen her iki degeri girmeme ragmen programi kapatiyor. deger dogru ise kapatmamasi lazim. acaba bu satiri iptal ettigimden dolayi mi bir problem oluyor.
kb:=RoundTo(kb,0);
[Error] Unit3.pas(1190): Undeclared identifier: 'RoundTo'
asagidaki satir hata verdi bende bu satiri iptal ettim. fakat byte ve kb olarak mesajda gosterilen her iki degeri girmeme ragmen programi kapatiyor. deger dogru ise kapatmamasi lazim. acaba bu satiri iptal ettigimden dolayi mi bir problem oluyor.
kb:=RoundTo(kb,0);
[Error] Unit3.pas(1190): Undeclared identifier: 'RoundTo'
Re: dosya boyutu kontrolu
math unitine ihtiyaç duymuş olabilirmi.
Re: dosya boyutu kontrolu
farkli bir yoldan hallettim tesekkur ederim yardimlariniz icin.
Re: dosya boyutu kontrolu
sr1111 yazdı:farkli bir yoldan hallettim tesekkur ederim yardimlariniz icin.
nasıl çözdüğünü yazarsan daha iyi paylaşım olur daha sonra bakanlara ilave fikir verebilir.
Re: dosya boyutu kontrolu
iki button 1 label ekleyip
kodları gerekli yerlere monte edin, dialoga gerek kalmaz
kodları gerekli yerlere monte edin, dialoga gerek kalmaz
Kod: Tümünü seç
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Label1: TLabel;
OpenDialog1: TOpenDialog;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if FileExists('firma.dll')=false then begin
ShowMessage('Dosyasi bulunamadı!');
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
srFileSR: TSearchRec;
sFileName, sFileSize ,kfs: string;
kbfs: integer ;
kb: Currency;
//begin
//if OpenDialog1.Execute then
begin
sFileName := pchar('firma.dll') ;//OpenDialog1.FileName; // veya dosyanın yolu
FindFirst(sFileName,faAnyFile,srFileSR);
sFileSize := IntToStr(srFileSR.Size);
kbfs := (srFileSR.Size);
kb:=kbfs/1024;
//kb:=RoundTo(kb,0);
kfs:= FloatToStr(kb);
label1.Caption:=sFileSize;
//Showmessage('bayt olarak dosya boyu='+sFileSize+' kb olarak dosya boyu=' + kfs);
if kb<> 7345 then // burada byte olarak bak kb de tutmayabilir.
//Application.Terminate; // burayı aktif hale getirince kendini kapatır dosya boyu tutmazsa
//ShowMessage('uygulama kapatılıyor');
//end
end;
end.
En son Commandx tarafından 27 Mar 2008 07:34 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
http://www.delphibasics.co.uk/RTL.asp?Name=DaysBetween
http://www.neonhaber.com/Static/mega-co ... index.html
www.delphican.con
Function PARSE( text, ilk, son:String ): String; //
begin
Delete(Text, 1, pos(ilk, Text) + Length(ilk)-1);
Result := Copy(Text, 1, Pos(Son, Text)-1);
end;
http://www.neonhaber.com/Static/mega-co ... index.html
www.delphican.con
Function PARSE( text, ilk, son:String ): String; //
begin
Delete(Text, 1, pos(ilk, Text) + Length(ilk)-1);
Result := Copy(Text, 1, Pos(Son, Text)-1);
end;
Re: dosya boyutu kontrolu
merhaba
asagidaki gibi bir kod yazdim. firma.dll bulunamsazsa program kapatilacak diye
1 programın kapanması için Application.Terminate; satırı açık olmalı ben örnekte kapatmayı engelledim mesaj verdirdim.
2 open dialog bende dediğin isimde dosya olmadığından her hangi br uzantıya sahip tüm dosyalarda çalışıp çalışmadığını kontrol etmek için fazladan konulmuştu işlem için projede buna gerek yok.
3 yazdığın örnektede button1 de mesaj verdikten sonra Application.Terminate;satırı kullanmalısın .
4 projede bunlar butonla değil başlangıçta yapılmalı.
iyi çalışmalar.
asagidaki gibi bir kod yazdim. firma.dll bulunamsazsa program kapatilacak diye
1 programın kapanması için Application.Terminate; satırı açık olmalı ben örnekte kapatmayı engelledim mesaj verdirdim.
2 open dialog bende dediğin isimde dosya olmadığından her hangi br uzantıya sahip tüm dosyalarda çalışıp çalışmadığını kontrol etmek için fazladan konulmuştu işlem için projede buna gerek yok.
3 yazdığın örnektede button1 de mesaj verdikten sonra Application.Terminate;satırı kullanmalısın .
4 projede bunlar butonla değil başlangıçta yapılmalı.
iyi çalışmalar.