Delphi Can

Orjinalini görmek için tıklayınız: Problem - ZKTeco Cihazlardan Anlık Veri Alma
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Sayfalar: 1 2
Merhaba,

Başta söyleyeyim. https://www.delphican.com/showthread.php?tid=3790 konusu ile ilgisi yok (Burada dbden okunarak alınmış).

Benim takıldığım taraf .net örnekleri olmasına rağmen bunu delphide uygulayamamam. Cihaz ağ üzerinden TCP protokolü ile çalışıyor.  Cihazda anlık okuma zkemkeeper.dll' den oluşturduğum zkemkeeper_TLB.pas sınıfı üzerinde tüm metodlar mevcut. Çoğu komutu (Bağlan, Bağlantıyı Kes, Yeniden Başlat, Kapat, Tüm Kayıtları Oku, Röle Tetikle, vs)  yerine getirebiliyorum. Takıldığım taraf onverify ile (kişi doğrulandığında) anlık olarak veriyi okuyabileceğim sınıfı register edemiyorum. http://desarrollo.zktecolatinoamerica.com/sdk/on_verify sitesinde c# ve VB örnekleri mevcut.

Yardımlarınızı bekliyorum.
Teşekkürler...

Not: zkemkeeper_TLB.pas ektedir. [attachment=1219]
Paylaştığın zkemkeeper_TLB.pas dosyasına baktığımda
procedure OnVerify(ASender: TObject; UserID: Integer);
şeklinde bir prosedür tanımlayıp bunu TCZKEM nesnesinin OnVerify eventine bağlayabileceğin görünüyor. 
Yaşadığın sorun nedir?

Tabi öncesinde
CZKEM1.RegEvent(1, 65535);
yapmak gerekiyormuş.
Merhaba,

Söylediğinizi uygulamamış olmama rağmen çalışmadı.

if zkem.RegEvent(1, 65535) then
   begin
     ShowMessage('a');
     zkem.OnVerify := dkmOnVerify;
     zkem.OnGeneralEvent := dkmOnGeneralEvent;
   end;

procedure TForm1.dkmOnVerify(ASender: TObject; UserID: Integer);
begin
 Memo1.Lines.Add(IntToStr(UserID)+' idli personel doğrulandı...');
end;

procedure TForm1.dkmOnGeneralEvent(ASender: TObject; const DataStr: WideString);
begin
 Memo1.Lines.Add(DataStr);
end;

Teşekkürler bilgi için...
Cihaza bağlantı biçiminizden kaynaklandığını düşünebiliriz.
Cihaza bağlantı satırlarınızı inceleyelim bence.
(08-07-2020, Saat: 22:42)ysfckr Adlı Kullanıcıdan Alıntı: [ -> ]Cihaza bağlantı biçiminizden kaynaklandığını düşünebiliriz.
Cihaza bağlantı satırlarınızı inceleyelim bence.

Merhaba,

Bağlanmakta sorun yok. Bağlanmak için cihazın sdksından oluşan sınıf kullanılıyor.
Sorun canlı veri alabilmekte.

İyi çalışmalar.
(08-07-2020, Saat: 23:48)mad85 Adlı Kullanıcıdan Alıntı: [ -> ]
(08-07-2020, Saat: 22:42)ysfckr Adlı Kullanıcıdan Alıntı: [ -> ]Cihaza bağlantı biçiminizden kaynaklandığını düşünebiliriz.
Cihaza bağlantı satırlarınızı inceleyelim bence.

Merhaba,

Bağlanmakta sorun yok. Bağlanmak için cihazın sdksından oluşan sınıf kullanılıyor.
Sorun canlı veri alabilmekte.

İyi çalışmalar.

Selamlar,
Parmak izi okuyucu tarafındaki sorununuzu tam olarak öğrenebilir miyim.
Merhaba ,
ZK Teko sdk da
GetGeneralLogData
SSR_GetGeneralLogData
fonksiyonları mevcut bunları kontrol eder misiniz birde sdk demoları arasında delphi demosu olması gerekiyor
(04-07-2020, Saat: 14:06)SimaWB Adlı Kullanıcıdan Alıntı: [ -> ]Paylaştığın zkemkeeper_TLB.pas dosyasına baktığımda
procedure OnVerify(ASender: TObject; UserID: Integer);
şeklinde bir prosedür tanımlayıp bunu TCZKEM nesnesinin OnVerify eventine bağlayabileceğin görünüyor. 
Yaşadığın sorun nedir?

Tabi öncesinde
CZKEM1.RegEvent(1, 65535);
yapmak gerekiyormuş.

Teşekkürler arkadaşlar. Hata benden kaynaklı. Yoğunluktan ötürü sender eklemeden procedure oluşturmuşum. 2.hata da onverify metodunda dinlemeye çalışıyordum. OnAttTransactionEx olması gerekiyormuş...
(04-07-2020, Saat: 14:06)SimaWB Adlı Kullanıcıdan Alıntı: [ -> ]Paylaştığın zkemkeeper_TLB.pas dosyasına baktığımda
procedure OnVerify(ASender: TObject; UserID: Integer);
şeklinde bir prosedür tanımlayıp bunu TCZKEM nesnesinin OnVerify eventine bağlayabileceğin görünüyor. 
Yaşadığın sorun nedir?

Tabi öncesinde
CZKEM1.RegEvent(1, 65535);
yapmak gerekiyormuş.

Merhaba.
Aynı şekilde birkaç parmak izi okuyucuya sırası ile bağlanıp,bağlı olan parmak izlerinden seçtiğimin içindeki datalara nasıl ulaşabilirim?
Örneğin,
Listbox ımda kayıtlı cihazlar var
192.168.1.1  4370
192.168.1.2  4370
192.168.1.3  4370
.
.
192.168.1.10  4370 gibi

CZKEM1.Connect_net(ipadres, portno); şeklinde döngü içinde bu 10 cihaza da sırası ile bir kerede bağlanıp, sonrasında atıyorum 192.168.1.5 olan cihazı aktif edip (yalnız zaten connect durumunda, tekrar connect olma değil veri çekmek için bu cihazı aktif etmekten bahsediyorum) içindeki personellere nasıl erişebilirim.?
(18-12-2020, Saat: 10:00)buzmavisi Adlı Kullanıcıdan Alıntı: [ -> ]
(04-07-2020, Saat: 14:06)SimaWB Adlı Kullanıcıdan Alıntı: [ -> ]Paylaştığın zkemkeeper_TLB.pas dosyasına baktığımda
procedure OnVerify(ASender: TObject; UserID: Integer);
şeklinde bir prosedür tanımlayıp bunu TCZKEM nesnesinin OnVerify eventine bağlayabileceğin görünüyor. 
Yaşadığın sorun nedir?

Tabi öncesinde
CZKEM1.RegEvent(1, 65535);
yapmak gerekiyormuş.

Merhaba.
Aynı şekilde birkaç parmak izi okuyucuya sırası ile bağlanıp,bağlı olan parmak izlerinden seçtiğimin içindeki datalara nasıl ulaşabilirim?
Örneğin,
Listbox ımda kayıtlı cihazlar var
192.168.1.1  4370
192.168.1.2  4370
192.168.1.3  4370
.
.
192.168.1.10  4370 gibi

CZKEM1.Connect_net(ipadres, portno); şeklinde döngü içinde bu 10 cihaza da sırası ile bir kerede bağlanıp, sonrasında atıyorum 192.168.1.5 olan cihazı aktif edip (yalnız zaten connect durumunda, tekrar connect olma değil veri çekmek için bu cihazı aktif etmekten bahsediyorum) içindeki personellere nasıl erişebilirim.?





içindeki personellere ayrı ayrı erişemezsin, cihazdan bütün logları alıp bundan sonraki kontrollerini DB üzerinden yapman lazım.

//Baglanti: Boolean; 
Baglanti := CZKEM1.Connect_net('192.168.1.1', 4370);            
           if Baglanti then
              begin 
                 CZKEM1.ReadAllGLogData(1);
                 while CZKEM1.SSR_GetGeneralLogData(1, PerNoSTR, OnayTipi, GirisCikisDurum, Yil, Ay, Gun, Saat, Dakika, Saniye, WorkCode) do
                    begin
                       // veritabanına kaydet                    
                    end;
              end;
           CZKEM1.ClearGLog(1); //cihaz içindeki verileri temizlemezsen her seferinde eski kayıtlarıda alacağından db'de mükerrer kayıtlar oluşacaktır.
           CZKEM1.Disconnect;
Sayfalar: 1 2