1

Konu: Raporda memo alan

İçinde çok satırdan oluşan bilgi bulunan bir memo alanım var. Bu memo alanın raporda aynı formatta yani satır ve sutun düzeni aynı olarak yazdırılmasını istiyorum. rapora ilgili memo alanı ekledim. Ancak sadece memo alanın 1.satırını raporda görebiliyorum.

2

Re: Raporda memo alan

Rapora eklediğin alanın özelliklerinde "Stretch with overflow"onay kutusunu işaretle

/o---------------------o\
     www.haser.com
\o---------------------o/

3

Re: Raporda memo alan

Tarkan bey teşekkür ederim.
Bu arada birkaç soru sormak istiyorum izninizle.
1-Bilgi girişi yaparken form üzerinde textboxa memo alanı ekledim. Kullanım açısından sizce textbox mu yoksa editbox mu daha pratik olur?
1-Memo alana yazılan bilginin sınırı var mı? Yani en fazla kaç karakter bilgi yazabilirim.
2-memo alana bilgi yazarken bir satırdaki karakter sayısını sınırlayabilir miyim?
3-memo alana bilgi yazarken satır sayısını sınırlayabilir miyim?
(rapor çıktısının A4 e uyumlu olması için bir satırda en fazla 80 karakter, satır sayısını da 66 ile sınırlamak istiyorum)

4

Re: Raporda memo alan

1- Memo alanı için en iyisi editbox oluyor
1.1- bildiğim kadarı ile sınır yok veya kullanmayacağımız kadar fazla
2- SET MEMOWIDTH 80
3- satır sayısını sınırlamak için
Form1.Edit1.MaxLength=80*66

eğer Enter (CHR(13)) varsa editbox Valid eventine kod yazmak gerekiyor. kabaca önereyim (kontrol etmedim, düzeltmelerden sonra herhalde çalışır):

Visual Fox Pro
=ALINES(ayarmatriks,This.Value)

FOR M.Xi=1 TO ALEN(ayarmatriks)
  IF LEN(ayarmatriks[M.Xi])>80
    M.Xayarmatriks=ayarmatriks[M.Xi]
    M.Yi=0
    DO WHIL ! ISBL(SUBS(M.Xayarmatriks,M.Yi*80+1,80))
       IF M.Yi=0
         ayarmatriks[M.Xi]=SUBS(M.Xayarmatriks,M.Yi*80+1,80)
       ELSE
         DIME ayarmatriks(ALEN(ayarmatriks)+1)
         =AINS(ayarmatriks,M.Xi+M.Yi+1)
         ayarmatriks[M.Xi+M.Yi+1]=SUBS(M.Xayarmatriks,M.Yi*80+1,80)
       ENDI
       M.Yi=M.Yi+1
    ENDD
  ENDI
ENDF
M.Xi=1
M.Xmemo=""
DO WHIL !VARTYP(ayarmatriks[M.Xi])="L" AND Xi<=66
  M.Xmemo=M.Xmemo+ayarmatriks[M.Xi]+CHR(13)
  M.Xi=M.Xi+1
ENDD
This.Value=M.Xmemo
VFP9 SP2

5

Re: Raporda memo alan

Oluşturduğum memo alana 254 karakter yazabiliyorum. Bu alan 254 le sınırlı mı? Halbuki benim bu memo alanına 10 binin üzerinde karakter yazmam gerekiyor. Bu durumda memo alan dışında ne kullanabilirim. Ya da memo alanı nasıl arttırabilirim?

6 Son düzenleyen, cetinbasoz (05.11.2007 16:06:27)

Re: Raporda memo alan

Memo alan siniri 2Gb. Ancak herhangi bir memo dosyasinin siniri da 2Gb. Yani pratik olarak 2Gb yazamazsin. Ama kesinlikle 254 kadar az da degil. O character field siniri. Memo alana yazdigindan emin ol.

7

Re: Raporda memo alan

Çetin bey, sanırım benim rapor dizaynı ile ilgili bir problemim var. Memo alana bilgi girebiliyorum. rapor yazımını seçtiğimde eğer 254 ten fazla ise memo alandaki bilgi  'string is too long to fit' hata mesajı veriyor. Help inde String is too long to fit (Error 1903) yazıyor.

8

Re: Raporda memo alan

rapor dizaynında ilgili memo alanın style deki Interleave yerine Overlay ı işaretleyince düzeldi. Artık hata vermiyor.

9

Re: Raporda memo alan

Yanlış yazdım. Style bölümünde değil, format bölümünde