Çalışma anında Fastreport barkod tipi değiştirme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
mmg
Üye
Mesajlar: 120
Kayıt: 20 Haz 2014 12:47

Çalışma anında Fastreport barkod tipi değiştirme

Mesaj gönderen mmg »

Merhaba, herkese kolay gelsin.

Etiket yazdırma formunda çalışma anında Fastreport üzerindeki barkod tipini değiştiremiyorum, aşağıda görülen hatayı veriyor. Bununla ilgili nasıl bir hata yapıyorum acaba, yardımlarınızı rica ediyorum.

"T_TEMPBARKOD_TIPI.Value" Temp dosyada string olarak tanımlı alan, bu alana çalışma anında combobox'tan bcCode128, bcCode39 veya
bcCodeEAN128 değerleri seçiliyor. Bu seçilen değeri aşağıdaki kod ile fastreporttaki barkod alanının tipine göndermek istiyorum.

Kod: Tümünü seç

    (ETIKET_TR.FindObject('BARKOD_TXT') as TfrxBarCodeview).BarType:= T_TEMPBARKOD_TIPI.Value;
Verdiği hata :

Kod: Tümünü seç

     [dcc32 Error] ETIKET_TR.pas(1483): E2010 Incompatible types: 'TfrxBarcodeType' and 'string'
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2356
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: Çalışma anında Fastreport barkod tipi değiştirme

Mesaj gönderen freeman35 »

Hata dan anlaşılıyor. BarType property tipi string değil. Muhtemelen "set" tir. en basit çözüm, 0 base li sayı olarak atama yapabilirsin. BarType ı editör içinde ctrl + LClick ile source içinde takip edip Set değerlerini bulabilirsin.
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
mmg
Üye
Mesajlar: 120
Kayıt: 20 Haz 2014 12:47

Re: Çalışma anında Fastreport barkod tipi değiştirme

Mesaj gönderen mmg »

Merhaba,

Sorunu aşağıda görüldüğü gibi çözebildim, barkod tipini kullanıcının çalışma anında combobox'tan seçtiği barkod tipine göre kontrol ederek ayarlayacağım. Bu arada uses'a "frxBarcod" eklemek gerekiyormuş, bunu öğrendim. Bu şekilde hata vermiyor. Yardımcı olan arkadaşlara teşekkür ediyorum.

Kod: Tümünü seç

uses frxBarcod;

if T_TEMPBARKOD_TIPI.Value= 'bcCode39' then
   (ETIKET_TR.FindObject('BARKOD_TXT') as TfrxBarCodeview).BarType:= bcCode39; //T_TEMPBARKOD_TIPI.Value;
if T_TEMPBARKOD_TIPI.Value= 'bcCode128' then
   (ETIKET_TR.FindObject('BARKOD_TXT') as TfrxBarCodeview).BarType:= bcCode128; //T_TEMPBARKOD_TIPI.Value;
if T_TEMPBARKOD_TIPI.Value= 'bcCodeEAN128' then
   (ETIKET_TR.FindObject('BARKOD_TXT') as TfrxBarCodeview).BarType:= bcCodeEAN128; //T_TEMPBARKOD_TIPI.Value;
   
Cevapla