Tekrar merhaba arkadaşlar. Sizlere lazım olacağını düşündüğüm
bir kod daha paylaşıyorum.
Bir Program yazdınız ve yüzde hesabı yapmanız gerekti. Örnek veriyorum ;
Bir otel deki odaların kaçta kaçı dolu kaçta kaçı boş. şimdi başlıyorum.
// Var bloğumuzda değişken tanımlayalım
var
odalar:integer;
kullanilan,kalan: integer;
kalyuzdem,kulyuzdem:double;
// Bir Procedure tanımlama yapıyorum
procedure TForm1.odakontrol();
begin
kullanilan:=0;
kalan:=0;
odalar:=0;
with dm.verialquery do
begin
Close;
SQL.Clear;
SQL.Add ('SELECT * FROM odalar');
Open;
*******;
end;
odalar:= dm.verialquery.recordcount;
with dm.verialquery do
begin
Close;
SQL.Clear;
SQL.Add ('SELECT * FROM odalar where durum='+chr(34)+ 'Dolu' +chr(34));
Open;
*******;
end;
dm.verialquery.first;
while not dm.verialquery.Eof do
begin
kullanilan:=kullanilan + 1;
dm.verialquery.next;
end;
kalan:=odalar - kullanilan;
end;
end;
// şimdi virgüllü çıkarsaki diye düşünüyoruz ve virgül olayını çözüyoruz Function alıntıdır
function Split(Input: string; Deliminator: string; Index: integer): string;
var
StringLoop, StringCount: integer;
Buffer: string;
begin
StringCount := 0;
for StringLoop := 1 to Length(Input) do
begin
if (Copy(Input, StringLoop, 1) = Deliminator) then
begin
Inc(StringCount);
if StringCount = Index then
begin
Result := Buffer;
Exit;
end
else
begin
Buffer := '';
end;
end
else
begin
Buffer := Buffer + Copy(Input, StringLoop, 1);
end;
end;
Result := TrimRight(Buffer);
end;
// şimdi Formun Show olayına yazdırtıyoruz
procedure TForm1.FormShow(Sender: TObject);
begin
odakontrol;
kulyuzdem:=(kullanilan*100)/odalar;
kalyuzdem:=(kalan*100)/odalar;
rzlabel1.caption:= inttostr(alanim)+' MB';
rzlabel2.caption:= inttostr(kullanilan)+' MB';
rzlabel3.caption:= inttostr(kalan)+' MB';
ProgressBar1.Position :=100; // Tüm oda toplamımız 100% eder
ProgressBar2.Position:=StrToInt( Split(floattostr(kulyuzdem), ',', 1) ); // Kullanılan oda sayısı
ProgressBar3.Position:=StrToInt( Split(floattostr(kalyuzdem), ',', 1) ); // Kalan oda Sayısı
end;
__________________
SusKun ve Sessiz Mürekkep...
Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir.