Tekil Mesaj gösterimi
Alt 11 Mart 2015, 10:56   #1
Çevrimiçi
Kaf_Dağı Doğrulanmış Üye
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Yüzde İşlemleri




Yüzde İşlemleri


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
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.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklamver bizimmekan