Forum

Crystal Reports - ...
 
Bildirimler
Hepsini Temizle

Crystal Reports - Metin text alanı uzunluğu belirleme - karakter sayısını belirleme

3 Yazılar
2 Üyeler
0 Reactions
2,367 Görüntüleme
(@emredadas)
Gönderiler: 20
Trusted Member
Konu başlatıcı
 
[#430267]

crystal reports da text alanı uzunluğunu belirlemek istiyorum. text alanı değeri ne olursa olsun raporda görünümde uzunluğu 26 karakter yer kaplasın. Amacım crtystalı .txt çevirdiğimde bankanın istediği formatı yakalamak. 

örnek: 20140505                  TEXT2  

 örnekteki gibi text1 alanın değeri (20140505) ne olursa olsun uzunluğu 26 karakter olsun TEXT2 bu 26 karakterden sonra başlasın.

Acil yardımlarınızı bekliyorum. 


 
Gönderildi : 31/05/2014 23:29
(@hasantayyar)
Gönderiler: 35
Trusted Member
 

MERHABA

Anladığım kadarıyla cevaplayayım.

 

1- Dizaynın içine bir tane Formül ekle .(field Explorer içinde Formule Fields e  Sağ Tıkla new e bas)

2-bir isim ver ve ok tıklat. Gelen pencerede  şunu yaz

Mid ({TBLCASABIT.CARI_ISIM},1 ,27)

 (TBLCASABIT.CARI_ISIM yerine bağlamak istediğin veriyi yerleştir. ve formülü kaydet )

3- Kaydetmiş olduğun formülü dizayna ekle (Sürükle Bırak)

 bu sana 26 karaktere kadar veriyi sabit bir şekilde eklemeni sağlar. istediğin karakter aralıklarında . (1-27 arası) 

Not : Eğer Sağ baştan yada sol baştan diye almak istiyorsan formülün içine aşağıdaki değerleri gir  

 Sol için : 

Left ({TBLCASABIT.CARI_ISIM},26 )

sağ için :

Right ({TBLCASABIT.CARI_ISIM},26 ) 

 

Bu formül verisini  başka bir text içinde başka bir veriyle birleştirebilirsin.

Şöyleki;

1-bir tane text ekle  

2- eklediğin Textin  üzerine formülü sürükle ve bırak . Böylece Textin içine formül verisi eklenmiş olacak.

3- daha sonra yine bu textin içine formül verisinden sonra eklemek istediğin veriyide sürükle bırak yaparsan textin içinde hem formülüze etmiş olduğun veri hemde sonraki eklemiş olduğun veri  birleşmiş olur .

 

Buna ek olarak Eğer Ekleyeceğin veri 26 karakterden az ise ve bunu crystal reporta boşluk olarak tamamlatmak istiyorsan ,

sana örnek olsundiye hazırladığım kodu kullanabilirsin. Tamamla adında bir formül içine şu kodu ekle. Kod içindeki cari isim olan yere sen kendi verini ekle. ve dizayna dahil ettiğinde anlarsın zaten .

 

if Length ({TBLCASABIT.CARI_ISIM})=0 then {TBLCASABIT.CARI_ISIM} &  "                          " & "26 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=1 then {TBLCASABIT.CARI_ISIM} & "                         " & "25 Karakter Boşluk Ekledi" else

if Length ({TBLCASABIT.CARI_ISIM})=2 then {TBLCASABIT.CARI_ISIM} & "                        " & "24 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=3 then {TBLCASABIT.CARI_ISIM} & "                       " & "23 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=4 then {TBLCASABIT.CARI_ISIM} & "                      " & "22 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=5 then {TBLCASABIT.CARI_ISIM} & "                     " & "21 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=6 then {TBLCASABIT.CARI_ISIM} & "                    " & "20 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=7 then {TBLCASABIT.CARI_ISIM} & "                   " & "19 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=8 then {TBLCASABIT.CARI_ISIM} & "                  " & "18 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=9 then {TBLCASABIT.CARI_ISIM} & "                 " & "17 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=10 then {TBLCASABIT.CARI_ISIM} & "                " & "16 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=11 then {TBLCASABIT.CARI_ISIM} & "               " & "15 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=12 then {TBLCASABIT.CARI_ISIM} & "              " & "14 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=13 then {TBLCASABIT.CARI_ISIM} & "             " & "13 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=14 then {TBLCASABIT.CARI_ISIM} & "            " & "12 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=15 then {TBLCASABIT.CARI_ISIM} & "           " & "11 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=16 then {TBLCASABIT.CARI_ISIM} & "          " & "10 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=17 then {TBLCASABIT.CARI_ISIM} & "         " & "9 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=18 then {TBLCASABIT.CARI_ISIM} & "        " & "8 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=19 then {TBLCASABIT.CARI_ISIM} & "       " & "7 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=20 then {TBLCASABIT.CARI_ISIM} & "      " & "6 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=21 then {TBLCASABIT.CARI_ISIM} & "     " & "5 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=22 then {TBLCASABIT.CARI_ISIM} & "    " & "4 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=23 then {TBLCASABIT.CARI_ISIM} & "   " & "3 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=24 then {TBLCASABIT.CARI_ISIM} & "  " & "2 Karakter Boşluk Ekledi" else 

if Length ({TBLCASABIT.CARI_ISIM})=25 then {TBLCASABIT.CARI_ISIM} & " " & "1 Karakter Boşluk Ekledi" else  

if Length ({TBLCASABIT.CARI_ISIM})>25 then {TBLCASABIT.CARI_ISIM} & "" & "0 Karakter Boşluk Ekledi"   

iyi çalışmalar..

 

 


 
Gönderildi : 01/06/2014 03:56
(@emredadas)
Gönderiler: 20
Trusted Member
Konu başlatıcı
 

Cevabın için çok teşekkür ederim. alttaki yazmış olduğun uzun kod için kısa bir çözüm buldum. paylaşmak istedim.

mid( ({VB.HESAP_NO} + space(26)), 1, 26) 

bu kod ile hesap_no uzunluğu ne olursa olsun sistem text uzunluğunun 26 karakter olması için boşluk bırakıyor ve text uzunluğu her zaman 26 karakter oluyor.  


 
Gönderildi : 02/06/2014 21:18
Paylaş: