Qreport duruma göre değer atama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
feinpus
Üye
Mesajlar: 214
Kayıt: 17 Kas 2003 04:37
Konum: İstanbul
İletişim:

Qreport duruma göre değer atama

Mesaj gönderen feinpus »

Qreport kullanmayın diye ısrar edşyorsunuz ama artık başka çarem kalmadı bunu kullanmam gerek Fast Report ta çıktı üzerinde kayıtlı kullanıcı değil diye bir yazı çıkartıyor bundan da vaz geçtim free reporta baktım bununda Delphi 7 için bir versiyonu yok yine Qr' ye kaldık.

En azından bir süre sonra Rave lisanslı olarak alana kadar bununla idare edeceğim sanırım.

Şimdi gelelim soruya;

Rapora bir koşul koyup Termin verilme tarihi şimdiki tarihten küçük ise bu satırdaki yazıların rengi kırmızı olmasını ve satırın en başında da "Gecikti" yazmasını istiyorum.

Bana bir yardımcı olursanız sevinirim...
Şimdiden Teşekkürler.
Oldeye Software
http://www.oldeye.com
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Yazdırdığın bandın üzerindeki QRLabel veya QRDBText in OnPrint inde Color veya Font.Color özelliklerinden istediğin rengi verebilirsin.
Ayrıca aynı yerde Value değerine de istediğin gibi müdahale edebilirsin.

Kod: Tümünü seç

procedure TForm1.QRLabel1Print(sender: TObject; var Value: String);
begin
  if Şart then 
    Font.Color := clRed
  else
    Font.Color := clBlue;
  Value := 'Gecikti  ' + Value;
end;
Şeklinde yazabilirsin..

Kolay gelsin.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
feinpus
Üye
Mesajlar: 214
Kayıt: 17 Kas 2003 04:37
Konum: İstanbul
İletişim:

Mesaj gönderen feinpus »

Tamam bunu yaptım ama bunda sorunlar var ilk olarak önceki kaydın değerine göre bakıyor. Kendi satırındakilere değil.

Ayrıca bu satırdaki yazıların rengini değiştirmeye çalıştığımda bütün hepsi değişiyor.

şimdi Gecikti yazısı için "QRExpr1" özelliğini kullanıyorum ama bunda da tarih karşılaştırmasında sorunum var mesela eğer

(Tarih <= DATE ) dediğimde doğru hesaplayamıyor. sadece "=" kullandığımda sorun yok ama büyük - küçük işleminde sorun çıkartıyor buna bir çare varmıdır?
Oldeye Software
http://www.oldeye.com
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Hayır bu yazdıracağın satır için geçerlidir. Ayrıca rengi değiştirdiğinde tekrar o şart sağlanmıyorsa olması gereken rengi ataman gerekir. Yoksa ondan sonraki satırlar aynı renkte çıkar..
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
feinpus
Üye
Mesajlar: 214
Kayıt: 17 Kas 2003 04:37
Konum: İstanbul
İletişim:

Mesaj gönderen feinpus »

Bir satırda yaptırıyorum sorun yok şimdilik asıl takıldığım yer;

2 tarih karşılaştırıyorum ve biri birinden küçük olursa bir yazı yazdıracam yada renk değiştireceğim.

Sorun şu ki iki tarihi karşılaştırırken ilk iki karakterine göre karşılaştırıyor.

yani 20.02.2000 > 02.02.2004 gibi bir sonuç çıkmış oluyor bunu nasıl halledebilirim.
Oldeye Software
http://www.oldeye.com
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Tablodaki alanları mı karşılaştırıyorsun? ne ile neyi ve nasıl karşılaştırma yaptığını yazarsan tavsiyede bulunabiliriz..
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
feinpus
Üye
Mesajlar: 214
Kayıt: 17 Kas 2003 04:37
Konum: İstanbul
İletişim:

Mesaj gönderen feinpus »

Tabloda ki bir tarih ile bugünkü tarihi karşılaştırıyorum.
Oldeye Software
http://www.oldeye.com
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

azıcık kodunu yazsan..? yani;

Kod: Tümünü seç

if TableTarih.AsDataTime = now then ...
şeklinde mi?
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
feinpus
Üye
Mesajlar: 214
Kayıt: 17 Kas 2003 04:37
Konum: İstanbul
İletişim:

Mesaj gönderen feinpus »

:roll: Bu kodu yazabileceğim bir yer yok Qr'nin OnPreview prosedürü bozuk bunun için "QRExpr1" bileşenini kullanıyorum bunun içerisine de bu tip fonksiyonlar koyamıyorum.

Standart fonksiyon prosedürlerinin dışına çıkmama izin vermiyor.

Hata bunun içerisinde yazdığım kod şöyle

Kod: Tümünü seç

IF(DevamEdenIsler.Termin  <= DATE,('**Gecikti'),(''))
burada termin alanını string olarak görüyor derdim buradan.
Oldeye Software
http://www.oldeye.com
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

S.A.
Qr nin değilde Expr nin onpreview olayını (onprintte) olabilir olayına
istediğin karşılaştırmaları yap sonucuda value Değişkenine aktar.
Kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
feinpus
Üye
Mesajlar: 214
Kayıt: 17 Kas 2003 04:37
Konum: İstanbul
İletişim:

Mesaj gönderen feinpus »

Expr altına yazınca olmuyor ama bi hatamı buldum şimdi her qrDbtext'in altına yazıyorum ama daha önce ne hata yaptığımı anlayamadım ama şimdi hepsinin altına ayrı ayrı yapıyorum.

Daha önce bunu denemiştim ama anca şimdi oldu.
aaaa sanırım ilk denediğimde tarihi text'e yazanla karşılaştırmıştım şimdi alan ile direkt yaptım oldu.

:D Yardımlarınız için teşekkürler...
Oldeye Software
http://www.oldeye.com
Cevapla