Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
C++ tan Delphi ye Çevrim
#1
Entegrasyonunu yaptığım EFT-POS yazılımındaki bcd çevrimi aşağıdaki şekilde;

void TransactionInfo( char * buffer, ...)
{
va_list args;
char tmp[512];
CString cs;

va_start(args, buffer);
vsprintf(tmp, buffer, args);
va_end(args);
cs = tmp;

m_listTransaction.AddString(cs);
}

TransactionInfo("DATE            : %02X/%02X/20%02X", pstTicket->bcdTicketDate[2], pstTicket->bcdTicketDate[1], pstTicket->bcdTicketDate[0]);
TransactionInfo("HOUR            : %02X:%02X:%02X" , pstTicket->bcdTicketTime[0], pstTicket->bcdTicketTime[1], pstTicket->bcdTicketTime[2]);

Yukarıdaki C++ kodunu delphiye nasıl çevirebiliriz ya da bu fonksiyonun yaptığı gibi bcd çevrimi yapabileceğimiz fonksiyonu nasıl yazabiliriz?
Cevapla
#2
Çevrimini bilmiyorum ama başka bir yöntem dll'e çevirip kendi uygulamanda kullanabilirsin.
WWW
Cevapla
#3
Başka bir dile çevirmenin pek sağlıklı olacağını sanmıyorum tekrar yazmak daha iyi olabilir
Don't fear the try!
WWW
Cevapla
#4
(09-06-2017, Saat: 10:27)witalihakko Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlÇevrimini bilmiyorum ama başka bir yöntem dll'e çevirip kendi uygulamanda kullanabilirsin.

Dll çevirme gibi bir durumum yok. Aksi Halde Tek Fonksiyon için Dll yazmam gerekecek.

(09-06-2017, Saat: 10:31)cudyfoster Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlBaşka bir dile çevirmenin pek sağlıklı olacağını sanmıyorum tekrar yazmak daha iyi olabilir

Bu fonksiyon Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol konusunda da belittiğim bcd tarih ve saat dizilerini string tipine çeviriyor. Benim de ihtiyacım bu fonksiyonun delphi çevrimi ya da eşdeğerde bir fonksiyon. Uğraştım fakat bir çözüme ulaşamadım. Bcd çevrimi konusunda tecrübeli arkadaşların, hocalarımın yardımlarını bekliyorum. Teşekkür ederim.
Cevapla
#5
(09-06-2017, Saat: 10:32)erkankurtaga Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(09-06-2017, Saat: 10:27)witalihakko Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlÇevrimini bilmiyorum ama başka bir yöntem dll'e çevirip kendi uygulamanda kullanabilirsin.

Dll çevirme gibi bir durumum yok. Aksi Halde Tek Fonksiyon için Dll yazmam gerekecek.

(09-06-2017, Saat: 10:31)cudyfoster Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlBaşka bir dile çevirmenin pek sağlıklı olacağını sanmıyorum tekrar yazmak daha iyi olabilir

Bu fonksiyon Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol konusunda da belittiğim bcd tarih ve saat dizilerini string tipine çeviriyor. Benim de ihtiyacım bu fonksiyonun delphi çevrimi ya da eşdeğerde bir fonksiyon. Uğraştım fakat bir çözüme ulaşamadım. Bcd çevrimi konusunda tecrübeli arkadaşların, hocalarımın yardımlarını bekliyorum. Teşekkür ederim.
Sadece algoritmik bir işlem ise çevirilebilir ama komple bileşenlere dayalı bir kod ise çevirmek zor gibi
Don't fear the try!
WWW
Cevapla
#6
Evet haklısınız sadece bir yöntem dediğim gibi. Tek fonksiyon için dll saçma olur Smile
WWW
Cevapla
#7
Bu fonksiyon, daha önce Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol dönüşüm işlemi ile ilgili değil. Sadece tarih ve saat değerlerinizi düzgün bir şekilde görünmesi için string'e çeviriyor.
There's no place like 127.0.0.1
WWW
Cevapla
#8
(09-06-2017, Saat: 14:30)SimaWB Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlBu fonksiyon, daha önce Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol dönüşüm işlemi ile ilgili değil. Sadece tarih ve saat değerlerinizi düzgün bir şekilde görünmesi için string'e çeviriyor.

Evet haklısınız, ama aslında onun ile alakalı. Üreticinin c++ örneğinde buldum bu fonksiyonu. Bcd çevirimini aynı zamanda önceki konudaki dizileri bu fonksiyon yardımı ile stringe çeviriyor. Taksir edersiniz ki stringe çevrilirse tarih ya da saate çevirmek çok kolay. Fonksiyonu Delphiye çevirmeye çalıştım, fakat c++ örneğindeki gibi çalıştıramadım.

(09-06-2017, Saat: 12:01)cudyfoster Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(09-06-2017, Saat: 10:32)erkankurtaga Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlDll çevirme gibi bir durumum yok. Aksi Halde Tek Fonksiyon için Dll yazmam gerekecek.


Bu fonksiyon Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol konusunda da belittiğim bcd tarih ve saat dizilerini string tipine çeviriyor. Benim de ihtiyacım bu fonksiyonun delphi çevrimi ya da eşdeğerde bir fonksiyon. Uğraştım fakat bir çözüme ulaşamadım. Bcd çevrimi konusunda tecrübeli arkadaşların, hocalarımın yardımlarını bekliyorum. Teşekkür ederim.
Sadece algoritmik bir işlem ise çevirilebilir ama komple bileşenlere dayalı bir kod ise çevirmek zor gibi

Sadece bcd çevirimi yapan bir fonksiyon. Bileşenler ile hiç alakası yok.
Cevapla
#9
Bence bir yerlerde hata yapıyorsunuz.

Burada yazdığınız fonksiyona bakılırsa;
bcdTicketDate[0] yılı gösteriyor (2000'den sonraki yıl). bcdTicketDate[1] ayı, bcdTicketDate[2] de günü gösteriyor. (Tarih formatını DD/MM/YYYY kabul ettim)

Ama sizin önceki sorunuzda bcdTicketDate içindeki değerler 70,119,85,120 olarak verilmiş. 
C++ fonksiyonunda bunlar hexadecimal'a çevrilmiş. Ama hexadecimal'a çevirsenizde DD/MM/YYYY formatına uymuyor. Çünkü 119 değerini gün yada ay kabul edip hexadecimal'a çevirdiğinizde 77 yapıyor ???
There's no place like 127.0.0.1
WWW
Cevapla
#10
(09-06-2017, Saat: 16:08)SimaWB Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlBence bir yerlerde hata yapıyorsunuz.

Burada yazdığınız fonksiyona bakılırsa;
bcdTicketDate[0] yılı gösteriyor (2000'den sonraki yıl). bcdTicketDate[1] ayı, bcdTicketDate[2] de günü gösteriyor. (Tarih formatını DD/MM/YYYY kabul ettim)

Ama sizin önceki sorunuzda bcdTicketDate içindeki değerler 70,119,85,120 olarak verilmiş. 
C++ fonksiyonunda bunlar hexadecimal'a çevrilmiş. Ama hexadecimal'a çevirsenizde DD/MM/YYYY formatına uymuyor. Çünkü 119 değerini gün yada ay kabul edip hexadecimal'a çevirdiğinizde 77 yapıyor ???

bcdTicketDate Dizisi için tarih formatı dd/mm/20yy olarak gösteriyor kendini. Dizideki format YYMMDD. 4 Bytelık dizinin sadece ilk 3 byte ı tarih bilgisi içeriyor.

bcdTicketTime dizisi de HHMMSS . Bu dizi de tarih dizisi gibi ilk 3 byte saat bilgisi içeriyor. Bu iki dizi hakkında bildiğim ve anlatılan bunlar. Başka herhangi bir bilgiye ulaşamadım. Hexadecimale çevirip bir sonuş almaya çalışaym bende.
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi Uygulama Güvenliği hyperxman 12 375 31-03-2018, Saat: 00:29
Son Yorum: mcuyan
  Delphi Sql Tarih Sorunu Pimapen_Nuri 15 544 14-03-2018, Saat: 17:29
Son Yorum: Pimapen_Nuri
  Delphi 10.2.2 Tokyo narkotik 9 374 09-03-2018, Saat: 13:43
Son Yorum: engerex
  Delphi 10.2 Fast Report Install Error narkotik 5 197 01-03-2018, Saat: 15:02
Son Yorum: narkotik
  delphi 10.2 ve ssl canbir 2 180 01-03-2018, Saat: 13:37
Son Yorum: canbir



Konuyu Okuyanlar: 1 Ziyaretçi