quick report

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
hacikisi
Üye
Mesajlar: 64
Kayıt: 24 Şub 2004 07:29
Konum: Gaziantep

quick report

Mesaj gönderen hacikisi »

quick reportta detay banda koyduğum bir qrdbtext in yerini programı derleyip çalıştırdıktan sonra bu qrdbtextin yerini değiştirebilirmiyim. 3 satır aşağı 2 satır yukarı gibisinden. yada bunu başka ne şekilde yapabilirim. saygılar sunuyorum.
Siz İman Etmedikçe Cennete Giremezsiniz. Birbirinizi Sevmedikçede İman Etmiş Olamazsınız.

Hz.Muhammed (S.A.V.)
Resim
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

sanırım değiştirebilirdin mesala qrdbtext in left top rihgt bottom gibi konum ayarlarını yapabileceğin özellikler olması lazım bu özellikler ideğiştirmek için spineditler kullan ilk etapta qrdbtext in bu değerlerini spineditlere ver ve daha sonra spineditler deki rakamlar değiştiği zaman bu yeni rakamlar ıqrdbtextin bu özelliklerine aktar.Denemedim ama olması lazım.saygılar

kolay gelsin...siz buşekilde deneyin olmasa ben size kodu iletirim.
mcihad
Üye
Mesajlar: 283
Kayıt: 18 Tem 2003 03:28
Konum: Sivas

Mesaj gönderen mcihad »

Pozisyonlarını ini dosyasına kaydederek halledebilirsin zannediyorum
ReleseCapture();
Nesne.perform(WM_SYSCOMMAND,$f012,0)
komutuda sürüklemeye yarar ama QReport nesneleri üzerinde hiç denemedim

//OnMouseDown Olayına Yazmalısın
Bize iyilik yaraşır.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

eğer yanlış anlamadıysam :

QrDbText1.Left := 110;
QrDbText1.Top := 10;

gibi Left ve Top özelliklerini kodla değiştirerek yerini değiştirebilirsin.

Kolay gelsin.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Band ın BeforePrint olayında yada QuickRep in BeforePreview / BeforePrint olaylarından birinde istediğin değeri satır olarak değilde pixel olarak verip, Mustafa'nın dediği şekilde istediğin poziysona ayarlıyabilirsin.

Vereceğin değerleri formdan girebileceğin gibi bir dosyadan da okutup alabilirsin.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
hacikisi
Üye
Mesajlar: 64
Kayıt: 24 Şub 2004 07:29
Konum: Gaziantep

bu noktada bir soru

Mesaj gönderen hacikisi »

Burayı hallettim ancak bu noktada başka bir soru sormak istiyorum. burayla alakalı. burdaki QrDbText1 in fontlarıyla runtime anında oynayabilirmiyim. eğer yapılıyorsa nasıl yapabilirim. saygılar sunuyorum.
Siz İman Etmedikçe Cennete Giremezsiniz. Birbirinizi Sevmedikçede İman Etmiş Olamazsınız.

Hz.Muhammed (S.A.V.)
Resim
Kullanıcı avatarı
akgun83
Üye
Mesajlar: 106
Kayıt: 26 Eyl 2003 11:34

Mesaj gönderen akgun83 »

Kod: Tümünü seç

QrDbText1.Font.Name := 'TimesNewRoman';
QrDbText1.Font.Size:=14;
QrDbText1.Font.Style:= [fsBold,fsItalic];
Kolay Gelsin, saygılar.
//syntaxlarda sorun olabilir.
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

Merhaba arkadaşlar.

Bizim dertlerimizden biride bu. Yaptığımız çalışmada girilen verileri üç ayrı çeşitte matbu olan evraklara girmemiz gerekiyor. Bunu Quickreport ta hazırladım ve sorunsuz yazdırıyor. Fakat yazıcının değişmesi veya matbu evrakların çizili alanlarının değişmesinden dolayı qrdbtext lerin yerlerini değiştirmemiz gerekiyor. Bu durumdan dolayı prog. setup haline getiremiyorum. Yukarıda bu konu hakkında konuşulmuş fakat acemilikten tam olarak anlayamadım. Setup haline getirilen prg. da bu qrdbtext lerin yerlerini kullanıcı o an kağıt veya yazıcı durumuna göre nasıl değiştirebilir? konuyu biraz daha açarak anlatabilirmisiniz.
VT Frebird/ibexpert, delphi7

Teşekkür ve saygılarla.
Kolay gelsin.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

önceden kaydedilmis sablonlar olusturun kagıt ve yazıcı durumuna gore
mesela bunları bir inifile da saklayabilirsiniz...
hepsi icin deneme yanılma yolu ile sablonları olusturabilirsiniz...

ornegin matbu1 icin

dbtext1 left=15,top=10
dbtext2 left=45,top=10
dbtext3 left=85,top=10

olsun matbu2 icin textlerin 10 pix kaydıgını varsayalım

dbtext1 left=15,top=20
dbtext2 left=45,top=20
dbtext3 left=85,top=20

bunun gibi hazır sablonlar olustur yazdırma oncesi ini filedan bunlar okunur
yukarıdaki yontemlede oldugu gibi uygulanır...

kolay gelsin
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
TRSoft
Kıdemli Üye
Mesajlar: 636
Kayıt: 13 Şub 2004 11:39
Konum: Konya
İletişim:

Mesaj gönderen TRSoft »

Ek olarak belirtmek isterim ki QRDbText lerin yerlerini pixel cinsinden kullanıcının hesaplayıp düzeltmesi biraz problem olabilir.

Bunun için QRDbText.Size.Left veya QrDbText.Size.Top özelliklerini kullanarak mm cinsinden konum belirleyebilirsiniz.. Tabi bende QR4 var ama önceki sürümlerinde de bu özellik vardı diye hatırlıyorum..
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır.
HZ. MUHAMMED (S.A.)
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

merhabalar,

biliyorum çok geç bi cevap ama yinede geç olsada teşekkür etmek istedim, zira bu konu üzerinde yeni çalışabildim ve yardımlarınız sayesinde başardım.

takip ettiğim yol ise qrdbtext ve diğer bileşenlerin left ve top özelliklerini bi tablodan almasını sağlamak oldu.

formxxx.qrdbtext1.size.left:=ibdataset1.fieldbyname('xxx').asfloat;

şeklinde. kullanıcı buradan veri giriş formu ile ayarları yapıyor ve düzenlemeyi yapıyor.

teşekkür ve saygılarımla.
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

Tekrar merhabalar,

şimdi denemeler yapıyordum da farkına vardım. bu ayarları tablodan almasını sağlayarak düzenleme yapabiliyorum fakat kalıcı olmuyor o an ayarlarda değişiklik yapıyorum ama sonra projeyi kapatıp açtığımda qrdbtext lerin durumları eski haline döndüğünü görüyorum.

ayarları tablodan alam işini form üzerine bir button koydum ve onun onclick olayında yukarıda yazdığım kod satırı ile uygulatıyorum. önce kullanıcı mesafe ayarlarını yapıyor ve tabloya kaydediyor daha sonra forma uygula buttonu ile qr üzerindeki değişikliği yapıyor.

bu ayarların kalıcı olması için yukarıdaki kod satırını nereye yazmalıyım acaba? yoksa ini dosyasımı kullanmalıyım?

teşekkür ve saygılarımla
Kullanıcı avatarı
TRSoft
Kıdemli Üye
Mesajlar: 636
Kayıt: 13 Şub 2004 11:39
Konum: Konya
İletişim:

Mesaj gönderen TRSoft »

Yazdırma işleminden önce her seferinde QRdbText lerin yerini tablondaki değerlere göre yerleştir.
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır.
HZ. MUHAMMED (S.A.)
Kullanıcı avatarı
tuanna
Üye
Mesajlar: 582
Kayıt: 06 Ara 2004 05:01
Konum: Ankara
İletişim:

Mesaj gönderen tuanna »

bunu şu şelilde yapabilirsin ....yayarlar diye bir tablon olsun ....

qreeportun onprewiev diye events ne (veya kendinde bir procedure yazabilirsin) ön izleme ayarlarını kenan ve nesnelerin ayarlarının tablondan aldır her defasında özizleme yapmadan önce tablona bakacağı için en ayarları ne şekilde kaydetmişsen o şekilde kalacaktır....

trsoft arkadaşın demek istediğinide onprewiev olayına yazmalısın....

"Yazdırma işleminden önce her seferinde QRdbText lerin yerini tablondaki değerlere göre yerleştir.
"


kolay gelsin
Siz hayal edin...Biz yapalım TuannaSoft...
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

merhabalar,

teşekkür etmekle başlamak istiyorum. sorunu sizin dediğinize yakın çözdüm diyebilirim.

veri giriş formlar üzerinde bulunan buttonlar ile bu quickreport lara ulaşıyordum. kullanıcı yazdırmak isteyince mutlaka yazdıracağım matbu forma uygun olan quick reportu açan düğmeye basması gerekiyordu. bende düşündüm kaşındım aklıma bu geldi madem her yazdırma isteğinde bu düğmeye basıyor qrdbtextlerin değerlerini alacağı kodu buraya yazayım ki her seferinde ayarlamayı ilgili tabloya bakarak yapsın.

çok karışık oldu dimi ben bilem anlamadım kısacası quickrep1.preview i gösteren formu açan buttonun onclick olayına yazdım.

burada trsoft ustamın bi uyarısına istinaden qrdbtext türü bileşenlerin size larında bulunan top ve left ler ile mm cinsinden yapmak istedim başaramadım. kod satırları hata vermeye başladı. ilk hata integer olan alan değerini float olarak değiştirince alt satıra geçti ve bende tüm alanları floata çevirdim çünki hiç run olmadan direkt satır kırmızı yanıp run duruyordu. floata çevirdikten sonra ise run başladı fakat daha ana form açılmasına yakın tekrar aplication access hatası ve içinde anladığım kadari ile alan uyuşmazlığı geçen hata satırını verdi bunlara tamam anlaşıldı deyince run devam etti fakat ayarlarda yapılan değişiklikler etkili olmadı. bende tekrar eskiye yani pixsel olarak girilen duruma döndüm.
denediğim kod şöle idi

Kod: Tümünü seç

formadfisiarkamtb.qrdbtext1.size.left:=formayarlar1.ibdataset1.fieldbyname('CERAIMNO_LEFT').asfloat;
..............
bu satırlar ile access alan uyuşmazlığı hatası alınca

Kod: Tümünü seç

formadfisiarkamtb.qrdbtext1.left:=formayarlar1.ibdataset1.fieldbyname('CERAIMNO_LEFT').asinteger;
bu eski duruma döndüm. tablolarımda alanlarımı düzenliyorum. burada alanları düzenlemeyi unutsam neyse.

gerçi şimdi durum iş görüyor sadece pixsel olarak biraz kafa karıştıracak okadar.

teşekkür ve saygılarımla.
kolay gelsin
Cevapla