IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   Delphi (https://www.ircforumlari.net/delphi/)
-   -   Yüzde İşlemleri (https://www.ircforumlari.net/delphi/688197-yuzde-islemleri.html)

Kaf_Dağı 11 Mart 2015 10:56

Yüzde İşlemleri
 
Yüzde İşlemleri


Kod:

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;



Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 10:06.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk