Karekod cihaz bilgisi almak.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1269
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Karekod cihaz bilgisi almak.

Mesaj gönderen ALUCARD »

Arkadaşlar Merhaba XE7 ile barkod okuyucu programı yazıyorum. Buralarda sıkıntı yok. Bilgisayara bağlı 3 adet kablosuz karekod okuyucu var. üçüde bilgi gönderiyor. ben gelen bilginin hangi cihazdan geldiğini öğrenmek istiyorum. Daha önce böyle bir çalışma yapan oldumu acaba. bana bu konuda yardımcı olabilecek varsa çok minnettar olalım.
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Karekod cihaz bilgisi almak.

Mesaj gönderen mkysoft »

Barkod ya da karekod cihazlarında prefix tanımlaması yapılabiliyor, en kolayı her birine ayrı prefix tanımlamanız.
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1269
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Re: Karekod cihaz bilgisi almak.

Mesaj gönderen ALUCARD »

mkysoft yazdı: 20 Mar 2020 01:45 Barkod ya da karekod cihazlarında prefix tanımlaması yapılabiliyor, en kolayı her birine ayrı prefix tanımlamanız.
bununla ilgili herhangi bir örnek varmı hocam nasıl yapacağım konusunda
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Karekod cihaz bilgisi almak.

Mesaj gönderen mkysoft »

Kullanma kılavuzlarında olur cihazların. Genelde özel bir barkod okutularak yapılır.
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1269
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Re: Karekod cihaz bilgisi almak.

Mesaj gönderen ALUCARD »

mkysoft yazdı: 20 Mar 2020 03:46 Kullanma kılavuzlarında olur cihazların. Genelde özel bir barkod okutularak yapılır.
Hocam çok teşekkür ederim. İthalatcı firma ile görüştüm. Öyle bir özellikleri varmış dökümanları yollayacaklar.
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
ertank
Kıdemli Üye
Mesajlar: 1651
Kayıt: 12 Eyl 2015 12:45

Re: Karekod cihaz bilgisi almak.

Mesaj gönderen ertank »

Merhaba,

İstediğinizi kod ile yapmak isterseniz eğer;
Burada https://forums.embarcadero.com/thread.j ... eID=930545 Remy Lebeau cevabında belirttiği gibi Raw Input API kullanmanız gerekli.

Daha önce ihtiyacı olup bu APIleri kullanan ve kodlarını paylaşan Larry Hengen'in buradaki https://github.com/lhengen/RawInput
projesini başangıç için kullanmanız mümkün.

Orjinal değiştirilmemiş kodlar SendMessage() kullanarak sadece barkod bilgisi iletiyor idi. Sizin için kodları düzenleyerek ilgili barkod okuyucu seri numarası ve okunan barkod bilgisini ileten, ekranı Türkçe açıklamalı, kodları ingilizce açıklamalı örnek projeyi ekte bulabilirsiniz.

Ayrıca orjinal kod içinde belli durumlarda barkodu algılamama hatası vardı. Bu hata ekteki projede giderilmiş durumdadır.

Kendi projeniz içinde barkod okuyucuları tanıtan bir ekran tasarlayarak (mevcut proje ekranı düzenlenerek kullanılabilir) tanımlı 3 adet barkodu her barkod okutma ekranı açıkdığında otomatik olarak capture edilen cihazlar içine eklemeniz mümkün.

Bundan sonrası sadece ilgili OnBarcodeRead() olayında kontroller sağlayıp hangi barkod okuyucudan gelen bilgi ne yapılacak ise ayrıştırmasını yapmak olacaktır.

Proje aslen Delphi 10.2 ile geliştirilmiş. Ben Delphi 10.3.3 ile bir sorun yaşamadan çalıştırıp düzenlemelerini yaptım.
Dosya ekleri
RawInput-barkod_okuma.7z
(18.94 KiB) 185 kere indirildi
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1269
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Re: Karekod cihaz bilgisi almak.

Mesaj gönderen ALUCARD »

ertank yazdı: 23 Mar 2020 11:15 Merhaba,

İstediğinizi kod ile yapmak isterseniz eğer;
Burada https://forums.embarcadero.com/thread.j ... eID=930545 Remy Lebeau cevabında belirttiği gibi Raw Input API kullanmanız gerekli.

Daha önce ihtiyacı olup bu APIleri kullanan ve kodlarını paylaşan Larry Hengen'in buradaki https://github.com/lhengen/RawInput
projesini başangıç için kullanmanız mümkün.

Orjinal değiştirilmemiş kodlar SendMessage() kullanarak sadece barkod bilgisi iletiyor idi. Sizin için kodları düzenleyerek ilgili barkod okuyucu seri numarası ve okunan barkod bilgisini ileten, ekranı Türkçe açıklamalı, kodları ingilizce açıklamalı örnek projeyi ekte bulabilirsiniz.

Ayrıca orjinal kod içinde belli durumlarda barkodu algılamama hatası vardı. Bu hata ekteki projede giderilmiş durumdadır.

Kendi projeniz içinde barkod okuyucuları tanıtan bir ekran tasarlayarak (mevcut proje ekranı düzenlenerek kullanılabilir) tanımlı 3 adet barkodu her barkod okutma ekranı açıkdığında otomatik olarak capture edilen cihazlar içine eklemeniz mümkün.

Bundan sonrası sadece ilgili OnBarcodeRead() olayında kontroller sağlayıp hangi barkod okuyucudan gelen bilgi ne yapılacak ise ayrıştırmasını yapmak olacaktır.

Proje aslen Delphi 10.2 ile geliştirilmiş. Ben Delphi 10.3.3 ile bir sorun yaşamadan çalıştırıp düzenlemelerini yaptım.
Hocam Çok sağol teşekkür ederim. Biraz daha gelişririrsem çok işime yarayacak
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
aegean
Üye
Mesajlar: 41
Kayıt: 24 Tem 2019 09:32

Re: Karekod cihaz bilgisi almak.

Mesaj gönderen aegean »

ertank yazdı: 23 Mar 2020 11:15 Merhaba,

İstediğinizi kod ile yapmak isterseniz eğer;
Burada https://forums.embarcadero.com/thread.j ... eID=930545 Remy Lebeau cevabında belirttiği gibi Raw Input API kullanmanız gerekli.

Daha önce ihtiyacı olup bu APIleri kullanan ve kodlarını paylaşan Larry Hengen'in buradaki https://github.com/lhengen/RawInput
projesini başangıç için kullanmanız mümkün.

Orjinal değiştirilmemiş kodlar SendMessage() kullanarak sadece barkod bilgisi iletiyor idi. Sizin için kodları düzenleyerek ilgili barkod okuyucu seri numarası ve okunan barkod bilgisini ileten, ekranı Türkçe açıklamalı, kodları ingilizce açıklamalı örnek projeyi ekte bulabilirsiniz.

Ayrıca orjinal kod içinde belli durumlarda barkodu algılamama hatası vardı. Bu hata ekteki projede giderilmiş durumdadır.

Kendi projeniz içinde barkod okuyucuları tanıtan bir ekran tasarlayarak (mevcut proje ekranı düzenlenerek kullanılabilir) tanımlı 3 adet barkodu her barkod okutma ekranı açıkdığında otomatik olarak capture edilen cihazlar içine eklemeniz mümkün.

Bundan sonrası sadece ilgili OnBarcodeRead() olayında kontroller sağlayıp hangi barkod okuyucudan gelen bilgi ne yapılacak ise ayrıştırmasını yapmak olacaktır.

Proje aslen Delphi 10.2 ile geliştirilmiş. Ben Delphi 10.3.3 ile bir sorun yaşamadan çalıştırıp düzenlemelerini yaptım.
Tesekkür ederim gercekten cok faydalı oldu bunu bayagıdır arıyordum denemediğim component kalmadı hic biri bunu yaptıgını yapamamıstı
aegean
Üye
Mesajlar: 41
Kayıt: 24 Tem 2019 09:32

Re: Karekod cihaz bilgisi almak.

Mesaj gönderen aegean »

ertank yazdı: 23 Mar 2020 11:15 Merhaba,

İstediğinizi kod ile yapmak isterseniz eğer;
Burada https://forums.embarcadero.com/thread.j ... eID=930545 Remy Lebeau cevabında belirttiği gibi Raw Input API kullanmanız gerekli.

Daha önce ihtiyacı olup bu APIleri kullanan ve kodlarını paylaşan Larry Hengen'in buradaki https://github.com/lhengen/RawInput
projesini başangıç için kullanmanız mümkün.

Orjinal değiştirilmemiş kodlar SendMessage() kullanarak sadece barkod bilgisi iletiyor idi. Sizin için kodları düzenleyerek ilgili barkod okuyucu seri numarası ve okunan barkod bilgisini ileten, ekranı Türkçe açıklamalı, kodları ingilizce açıklamalı örnek projeyi ekte bulabilirsiniz.

Ayrıca orjinal kod içinde belli durumlarda barkodu algılamama hatası vardı. Bu hata ekteki projede giderilmiş durumdadır.

Kendi projeniz içinde barkod okuyucuları tanıtan bir ekran tasarlayarak (mevcut proje ekranı düzenlenerek kullanılabilir) tanımlı 3 adet barkodu her barkod okutma ekranı açıkdığında otomatik olarak capture edilen cihazlar içine eklemeniz mümkün.

Bundan sonrası sadece ilgili OnBarcodeRead() olayında kontroller sağlayıp hangi barkod okuyucudan gelen bilgi ne yapılacak ise ayrıştırmasını yapmak olacaktır.

Proje aslen Delphi 10.2 ile geliştirilmiş. Ben Delphi 10.3.3 ile bir sorun yaşamadan çalıştırıp düzenlemelerini yaptım.
Merhaba ;
Burada verilen örnek usbhid barkod okuyucu için cok guzel calısıyor ve proje ıcerısıne konmak ıcınde oldukca elverisli bir yapıda ama malesef bu Rawinput olarak tanımlanan api okunan barkodu klavye bufferinden dogru olarak verilerini alamıyor sadece sayılardan olusan bir barkod da sorun yok ama sayı dısı bosluk harf ve işaret olan bir barkod okunursa bu api o karakterlerin arasına kontrol karakterleri olarak print edilemeyen karakterler de ekleyerek geri donduruyor
ben de bu karakterleri yok etmek için sayın hocamın verdigi son Türkçe örnekteki barkodu getirip ekrana yazan bölüme kendimce küçük bir ekleme yaptım bu işi yapacak daha hızlı calısacak önerisi olanlar varsa sevinirim herkese kolay gelsin iyi calısmalar

Kod: Tümünü seç

procedure TForm1.OnBarcodeRead(Sender: TObject; const Barcode, KeyboardName: string);
var
  ames     :string;
  bmes     :string;
  I        : integer;
begin
  ames:=barcode;
  bmes:='';
  for I := 0 to length(ames)-1 do
  begin
    if ames[I] in [chr(32)..chr(125)]  then begin
       bmes:=bmes+ames[I];
    end;
  end;
  laBarCode.Caption := bMes;
 // showmessage(ames);
 // laBarCode.Caption := Barcode;
  memo1.Lines.Add(KeyboardName+'    '+bmes);
end;
Cevapla