zebra yazıcıya barkod veya etiket bilgilerini göndermek...

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
oguthan
Üye
Mesajlar: 34
Kayıt: 30 May 2005 10:23

zebra yazıcıya barkod veya etiket bilgilerini göndermek...

Mesaj gönderen oguthan »

S.A. kardeşlerim;

Zebra marka yazn kendi kod kütüpaneleri var örnek vermek gerekirse
("^XA^FO180,60^A0R,30,25^FDLUCIANA CIFT 2. KALITE^FS") bir bilgiyi com1 e bağlı bir zebra ya gönderecek olursak yazıcı özel karakterlerini tanıyarak (^XA^) hemen a fontunda bir satır oluşturacak ce 30,25 koordinatına LUCIANA CIFT 2. KALITE yazacak ve ^FS ile bir satır alta geçecek gibi zebra printerler kendi kod kütüpanelerini kullanırlar istenirse ben Vusial basic de
Dim fileWriter As New StreamWriter(outFile) diye bir çıkış dısyası değişkeni tanımlayıp,
fileWriter.Write("^XA^FO180,60^A0R,30,25^FDLUCIANA CIFT 2. KALITE^FS") iel (örneğimdeki satır) bu şekilde satırlarımı dosyaya yazdırıp, barkod yazdırmna olayını da zebra şu şekilde anlıyor:fileWriter.Write("^FO670,60^BCR,80,Y,N,N^FD271000010000093^XZ") bu satırdaki bcr olayı barkod yazacağını 670,70 koordinatları, 271000010000093 yazılacak değer ve XZ de bunu taslak içöerisindekileri yazdır yani satırlarım tamamlandı manasını taşımaktadır. şimdi ben boyle bir yapıyı Delphide nasıl yaparım ?

Not: Turbo power bileşen paketlerinden ASyncPro yüklü ve yazıvcım com1 e bağlı...

Teşekkürler
oguthan
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

Kod: Tümünü seç

var
  cikti:textfile; // burasi önemli
begin
   assign(cikti,'dosya.txt');
  writeln (cikti,Zebra kodları);
 closefile(cikti);
end;
dosya.txt yerine direkt com1 vs de kullanılıyor bildiğim kadarı ile. yada en sağlamı bu dosyaya yazdır sonra dosyayı printerin portuna doğrudan şutla.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
oguthan
Üye
Mesajlar: 34
Kayıt: 30 May 2005 10:23

cevap verdiğin için teşekkürler deneyip deneyimimi sizinle..

Mesaj gönderen oguthan »

evet deneyip sonuçları sizlerle paylaşacağım.
teşekkürler

Allaha Emanet Olun.
oguthan
oguthan
Üye
Mesajlar: 34
Kayıt: 30 May 2005 10:23

bi hata veriyor ama anlayamadım

Mesaj gönderen oguthan »

procedure TForm1.Button1Click(Sender: TObject);
var
cikti:textfile; // burasi önemli
begin
assign(cikti,'dosya.txt');
writeln (cikti,('^FO670,60^BCR,80,Y,N,N^FD271000010000093^XZ'));
closefile(cikti);
end;
end;
bu komut 271000010000093 barkod olarak yazmalı ama yazmadı :(

daha doğrusu derlenirken hata veriyor verdiği hatayı görmek için kodu kopyala yapıştır yaparak görebilirsiniz.

Yardımınızı beklemekteyim.
oguthan
naturelmania
Üye
Mesajlar: 66
Kayıt: 27 Nis 2006 09:29

Mesaj gönderen naturelmania »

Acaba bir procedure yazsan, yani şöyle bişi:
Ve Bileşen olarak Comport kullansan(benim kullandığım basit bir bileşen)

Kod: Tümünü seç

Procedure yazdir(barkod:string);
begin
Comport.WriteStr(^FO670,60^BCR,80,Y,N,N^FD'+barkod+'^XZ');
end;
Böylelikle satır satır istediğin verileri yazdırabilirsin.
Başka bir döngü içinde de

Kod: Tümünü seç

Procedure Yazdır.Click;
begin
for I=1 to satirsayisi do
begin
yazdir(Memo1.Text);
end;
end;
var
sen : sevgili;
ben : aşık;
sevgi: aşk;
if ben aşık sana = True then
execute sevgi between(sen,ben);
:)))))
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Re: bi hata veriyor ama anlayamadım

Mesaj gönderen ikutluay »

oguthan yazdı:procedure TForm1.Button1Click(Sender: TObject);
var
cikti:textfile; // burasi önemli
begin
assign(cikti,'dosya.txt');
writeln (cikti,('^FO670,60^BCR,80,Y,N,N^FD271000010000093^XZ'));
closefile(cikti);
end;
end;
bu komut 271000010000093 barkod olarak yazmalı ama yazmadı :(

daha doğrusu derlenirken hata veriyor verdiği hatayı görmek için kodu kopyala yapıştır yaparak görebilirsiniz.

Yardımınızı beklemekteyim.
assignfile olacak. hep bu fonsiyonu eski pascaldaki ile karıştırıyorum. artyı daga sonra birde rewrite(çıktı ) yapman gerek. bu eski dosyayı siler yenisini yazmak için acar...

helpte textfile diye arasaydın daha hızlı sonuç alır tüm gerekli rutinleri görürdün;

delphi help bu foumdaki herkesten daha hızlıdır.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
oguthan
Üye
Mesajlar: 34
Kayıt: 30 May 2005 10:23

teşekkürler ama malesef istediğim olmadı

Mesaj gönderen oguthan »

evet sen de benim bnulduğum bilgiyi yazmışsın kardeşim teşekkürler yardımların için ama yine olnmadı sebebi dosyayı barkod yazıcıdan yazıyor ama malesef strin olarak yani oradaki komutları olduğu gibi yazıyor olmadı kısacası yazıcım tlp2844 eğer bi fikrin farsa yardımlarını beklerim normalde bu yazıcıya ben rave ile etiket barkod vs yazdırıyrum sorun şu rave veya başka yazdırma araçları ile yazdırınca barkodları image gibi algılıyor ve ona göre yazdırıyor bazan (%10) barkod okuyucu okuyamıyor bu sorunu aşmak için araştırma yapmaktayım..

Yardımların için tekrar teşekkür ederim Allah razı olsun.
oguthan
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Re: teşekkürler ama malesef istediğim olmadı

Mesaj gönderen ikutluay »

oguthan yazdı:evet sen de benim bnulduğum bilgiyi yazmışsın kardeşim teşekkürler yardımların için ama yine olnmadı sebebi dosyayı barkod yazıcıdan yazıyor ama malesef strin olarak yani oradaki komutları olduğu gibi yazıyor olmadı kısacası yazıcım tlp2844 eğer bi fikrin farsa yardımlarını beklerim normalde bu yazıcıya ben rave ile etiket barkod vs yazdırıyrum sorun şu rave veya başka yazdırma araçları ile yazdırınca barkodları image gibi algılıyor ve ona göre yazdırıyor bazan (%10) barkod okuyucu okuyamıyor bu sorunu aşmak için araştırma yapmaktayım..

Yardımların için tekrar teşekkür ederim Allah razı olsun.
code 39 da örmneğin barkodun başına ve sonuna * yazılması gereklidir... bence bu sorun senin yazında.... anlamak için şöyle bir şey yapabiliriz.

ilk önrek verdiğin metin dosyasını doğrudan yazıcıya yazdır bakalım. ne olacak...

Kod: Tümünü seç

copy aa.txt >lpt1 /// bu yazıcıya yazdırır direkt
copy aa.txt >com1 // sanırım buda doğrudan com1 e atar
bunları komut satırından yazman gerek.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Cevapla