Yorumları: 5
Konuları: 0
Kayıt Tarihi: 01-07-2020
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 0 Başlangıç
(18-12-2020, Saat: 10:27)MosCom Adlı Kullanıcıdan Alıntı: (18-12-2020, Saat: 10:00)buzmavisi Adlı Kullanıcıdan Alıntı: 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(MakineNo); //cihaz içindeki verileri temizlemezsen her seferinde eski kayıtlarıda alacağından db'de mükerrer kayıtlar oluşacaktır.
CZKEM1.Disconnect;
Verdiğiniz cevap için teşekkür ederim.
Ama elimde bu cihazlara personel kaydı gönderme,silme, yönetme vs tarzı terminal programı var.ZKTime isminde.ZKTECO
Burada cihazları ekliyorsunuz.atıyorum 5-6 tane seçip bağlan diyorsunuz.İlgili cihazların hepsi sorun yoksa connect oluyor. (bağlanma süresi biraz uzun olabiliryor makina modeline göre)
Sonra bağlı cihazı seçip "cihazdaki kullanıcılara bak" diyorsunuz anında seçtiğiniz cihazın içindeki personel kayıtlarını gösteriyor.(okutulmuş datalardan bahsemiyorum-cihazdaki kayıtlı kullanıcı personel listesi - kodu-adı-kartno vs bilgileri)
Yani seçtiğim cihaza tekrar connect olmakla uğraşmıyor.O cihaz zaten bağlı.siz seçip içindeki kullanıcılara erişebiliyorsunuz.seçtiğiniz kullanıcıları silebiliyorsunuz.
CZKEM1.Connect_net('192.168.1.1', 4370); bu komut tamam.connect olmak için.ben döngüde bunu birden fazla makinada yapıyorum ya da yaptığımı düşünüyorum.ya da bunu bir dizi mantığı ile mi yapmak gerekiyor?.aynı anda birden fazla makinaya bağlısınız ama hangisinin içindeki kullanıcılara erişmek istiyorsanız ilgili bağlandığınız cihazı nasıl seçeceksiniz.?
Bunu yapan programlar var.Hepsine her seferinde connect olmak mantıklı değil.çünkü zaman alan bir durum.
Yorumları: 37
Konuları: 7
Kayıt Tarihi: 29-11-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 149 Başlangıç
Kendi sistemimi anlatayım,
elimde 13 tane bu cihazdan var. Bu cihazlar veritabanına kayıtlı ve listbox ile bunları kullanıcıya gösteriyorum. İnsan kaynakları hangi cihazdan parmak izi kaydı alacaksa listeden onu seçiyor ve connect oluyor. Önce personel bilgilerini gönderiyorum cihaza, sonrasında o personele ait parmak izi kaydını alıyorum. kaydı cihaza aldıktan sonra tekrar cihazdan aldığım izleri tmp tabloya kayıt edip o kayıtları sırası ile tüm cihazlara gönderiyorum ve tmp tablomu boşaltıyorum.
sonrasında 2 saatte bir döngü içerisinde log kayıtlarını cihazlardan alıyorum.
aynı anda birden fazla makineye bağlanmana gerek yok. listeden ilgili cihaza bağlanır işlemlerini halleder sonrasında bağlantını kesersin.
Yorumları: 5
Konuları: 0
Kayıt Tarihi: 01-07-2020
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 0 Başlangıç
(18-12-2020, Saat: 10:54)MosCom Adlı Kullanıcıdan Alıntı: Kendi sistemimi anlatayım,
elimde 13 tane bu cihazdan var. Bu cihazlar veritabanına kayıtlı ve listbox ile bunları kullanıcıya gösteriyorum. İnsan kaynakları hangi cihazdan parmak izi kaydı alacaksa listeden onu seçiyor ve connect oluyor. Önce personel bilgilerini gönderiyorum cihaza, sonrasında o personele ait parmak izi kaydını alıyorum. kaydı cihaza aldıktan sonra tekrar cihazdan aldığım izleri tmp tabloya kayıt edip o kayıtları sırası ile tüm cihazlara gönderiyorum ve tmp tablomu boşaltıyorum.
sonrasında 2 saatte bir döngü içerisinde log kayıtlarını cihazlardan alıyorum.
aynı anda birden fazla makineye bağlanmana gerek yok. listeden ilgili cihaza bağlanır işlemlerini halleder sonrasında bağlantını kesersin.
aynı anda birden fazla cihaza bağlanıp,işten ayrılan bir personelin kaydını tüm cihazlardan silmek istiyorum.Ya da birden fazla personelin.programda her cihaza tek tek bağlanıp silmek yerine,tüm cihazlara önce bağlanıp sonra bu cihazları tek tek aktif edip içindeki personel kaydını silmek istemiştim.
Kullanıcıyı cihazlara bağlanmak için ilk etapta bir sefer bekletmek maksadım.sonrasında tek tek bağlan sil,bağlan sil daha çok bekletmiş olacağım.
Bunun yine de bir yolunun olabileceğini düşünüyorum.
İlginiz ve yardımınız için teşekkür ederim.
Belki benim istediğim hakkında bilgisi olan varsa,cevap verirse sevinirim.
Yorumları: 37
Konuları: 7
Kayıt Tarihi: 29-11-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 149 Başlangıç
18-12-2020, Saat: 11:23
(Son Düzenleme: 18-12-2020, Saat: 12:06, Düzenleyen: MosCom.)
queryCIHAZ.First;
for i := 0 queryCihaz.RecordCount - 1 do
begin
Baglanti := CZKEM1.Connect_net(queryCihazIPADRESI.AsString, 4370);
if Baglanti then
begin
// 1-Tabloda kayıtlı olarak cihazlara bu döngü yardımı ile bağlandın
// 2-Personele ait işlemleri yaptın ya da bağlandığın cihazdan kayıtları çektin
CZKEM1.Disconnect; // 3-bağlandığın cihazdan bağlantını kestin
queryCihaz.Next; // 4-bir sonraki cihaza bağlanmak için sıradaki kayda geçtin ve 1 nolu işleme döndün başka kayıt yoksa döngünden çıktın ve işin bitti
end;
end;
umarım yardımı olur ya da ben seni tam olarak anlayamadım. İyi çalışmalar dilerim.
Yorumları: 56
Konuları: 11
Kayıt Tarihi: 16-08-2017
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.2
- Delphi XE
- Delphi 7
- Lazarus / FPC
Rep Puanı: 86 Başlangıç
(18-12-2020, Saat: 10:27)MosCom Adlı Kullanıcıdan Alıntı: (18-12-2020, Saat: 10:00)buzmavisi Adlı Kullanıcıdan Alıntı: 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;
Merhaba,
Hocam CZKEM1 nesnesini create etmeden direk bu şekildemi kullanıyorsunuz nasıl oluyor? Açıklayabilirmisiniz.
Yorumları: 56
Konuları: 11
Kayıt Tarihi: 16-08-2017
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.2
- Delphi XE
- Delphi 7
- Lazarus / FPC
Rep Puanı: 86 Başlangıç
Cevap gelmeyince iş başa düştü diyip biraz araştırınca https://www.delphican.com/showthread.php?tid=3803 linkte örnek kodların paylaşıldığını gördüm, paylaşan arkadaşımıza teşekkür ederim. Ayrıca dll dosyalarını da register edip component olarak import etmek gerekiyor, daha sonrasında zkemkeeper_TLB.pas dosyasını projeye ekleyip fonksiyonları ile işlemler yapılabiliyor.
Yorumları: 32
Konuları: 8
Kayıt Tarihi: 08-02-2017
Rep Puanı: 16 Başlangıç
(18-12-2020, Saat: 11:23)MosCom Adlı Kullanıcıdan Alıntı:
queryCIHAZ.First;
for i := 0 queryCihaz.RecordCount - 1 do
begin
Baglanti := CZKEM1.Connect_net(queryCihazIPADRESI.AsString, 4370);
if Baglanti then
begin
// 1-Tabloda kayıtlı olarak cihazlara bu döngü yardımı ile bağlandın
// 2-Personele ait işlemleri yaptın ya da bağlandığın cihazdan kayıtları çektin
CZKEM1.Disconnect; // 3-bağlandığın cihazdan bağlantını kestin
queryCihaz.Next; // 4-bir sonraki cihaza bağlanmak için sıradaki kayda geçtin ve 1 nolu işleme döndün başka kayıt yoksa döngünden çıktın ve işin bitti
end;
end;
umarım yardımı olur ya da ben seni tam olarak anlayamadım. İyi çalışmalar dilerim.
// 2-Personele ait işlemleri yaptın ya da bağlandığın cihazdan kayıtları çektin
cihazdan kayıtları çekemedim bu kodlar lazım cihaza bağlanıyorum fakat içindeki giriş çıkış kayıtlarını alamıyorum.
|