🔔 Çevrimdışı bildirim almak ister misiniz?
Bir konuya etiketlendiğinizde, özel mesaj aldığınızda, bir mesajınız alıntılandığında forumda olmasanız bile anlık bildirim almak için lütfen izni verin.
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.