LOBJECTS ile TIME değeri nasıl atanır?

Gönderen Konu: LOBJECTS ile TIME değeri nasıl atanır?  (Okunma sayısı 3107 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı tagmacunal

  • Yeni Kullanıcı
  • *
  • Karma: 0
LOBJECTS ile TIME değeri nasıl atanır?
« : 01.07.2009, 16:48 »
Merhaba,

ASP.NET ile LOBJECTS kullanarak "Mal Alım Faturası" oluşturmaya çalışıyorum. Ancak faturanın oluşturulma ZAMANI'nı doğru bir şekilde gönderemiyorum (Örn; "14:29:52 gibi"). UNITY veritabanına baktığımda TIME alanını 9 haneli sayısal değer (Örn; 236794973) olarak sakladığını görüyorum. Yukarıdaki gibi istenilen bir ZAMANı LOBJECTS'in istediği formata nasıl çevirebilirim??

MyData.DataFields.FieldByName("NUMBER").Value = "~"
MyData.DataFields.FieldByName("TYPE").Value = 1
MyData.DataFields.FieldByName("DATE").Value = Now.ToShortDateString
MyData.DataFields.FieldByName("TIME").Value = ?????????

Çevrimdışı ogrenci

  • Yeni Kullanıcı
  • *
  • Karma: 0
Ynt: LOBJECTS ile TIME değeri nasıl atanır?
« Yanıtla #1 : 11.07.2009, 11:06 »
değerlerini aşağıdaki gibi hesaplarsan saati Ftime formatına çevirmiş olursun.

(Saniye * 256) + (Dakika * 65536) + (Saat * 16777216)

Çevrimdışı tagmacunal

  • Yeni Kullanıcı
  • *
  • Karma: 0
Ynt: LOBJECTS ile TIME değeri nasıl atanır?
« Yanıtla #2 : 14.07.2009, 09:00 »
Teşekkür ederim.

Çevrimdışı mdtyazilim

  • Yeni Kullanıcı
  • *
  • Karma: -1
  • Mdt Yazılım Danışmanlık
Ynt: LOBJECTS ile TIME değeri nasıl atanır?
« Yanıtla #3 : 19.08.2009, 15:12 »
Merhaba,

LObjects ile kullanabileceğiniz hazır metod var zaten:

Sub PackTime (h As Long, m As Long, s As Long, tm)

Zaman bilgisi veritabanında bazı alanlarda Long integer değer olarak tutulur. Bu yöntem zaman bilgisinden kaynaklanabilecek sorunları minimize eder. Zaman bilgisini LBS Long integer formatına dönüştürmek için bu metodu kullanırız. Metoda Saat, Dakika ve Saniye bilgilerini geçeriz. Zamanın formatlanmış hali Long integer değer olarak tm parametresinde döner. Aşağıda zaman formatlama işleminde kullanılan formül anlatılmıştır.

Zaman için kullanılan yöntem aşağıdadır ;
Zaman = 2^24*Hour + 2^16*Minute + 2^8*Second + 2^0*Milisecond yani ;
Zaman = Milisaniye + 256 x Saniye + 65536 x Dakika + 16777216 x Saat



Ya da size Delphi'de hazır bir function vereyim siz syntax'i Asp.Net'e çevirirsiniz.


function GetLogoIntTime : integer;
var
  fHour, fMin,
  fSec, fMSec   : word;
begin
   DecodeTime(Time, fHour, fMin, fSec, fMSec);
   result := fMSec + (256*fSec) + (65536*fMin) + (16777216*fHour);
end;

Not: Delphi unit'te uses kısmına DateUtils eklenmeli!

www.mdt.biz.tr

Çevrimdışı ahmetk

  • Yeni Kullanıcı
  • *
  • Karma: 0
Ynt: LOBJECTS ile TIME değeri nasıl atanır?
« Yanıtla #4 : 21.04.2011, 14:09 »
tm parametresi nedir? Bu konuda bilgi verebilir misiniz?

Merhaba,

LObjects ile kullanabileceğiniz hazır metod var zaten:

Sub PackTime (h As Long, m As Long, s As Long, tm)

Zaman bilgisi veritabanında bazı alanlarda Long integer değer olarak tutulur. Bu yöntem zaman bilgisinden kaynaklanabilecek sorunları minimize eder. Zaman bilgisini LBS Long integer formatına dönüştürmek için bu metodu kullanırız. Metoda Saat, Dakika ve Saniye bilgilerini geçeriz. Zamanın formatlanmış hali Long integer değer olarak tm parametresinde döner. Aşağıda zaman formatlama işleminde kullanılan formül anlatılmıştır.

Zaman için kullanılan yöntem aşağıdadır ;
Zaman = 2^24*Hour + 2^16*Minute + 2^8*Second + 2^0*Milisecond yani ;
Zaman = Milisaniye + 256 x Saniye + 65536 x Dakika + 16777216 x Saat



Ya da size Delphi'de hazır bir function vereyim siz syntax'i Asp.Net'e çevirirsiniz.


function GetLogoIntTime : integer;
var
  fHour, fMin,
  fSec, fMSec   : word;
begin
   DecodeTime(Time, fHour, fMin, fSec, fMSec);
   result := fMSec + (256*fSec) + (65536*fMin) + (16777216*fHour);
end;

Not: Delphi unit'te uses kısmına DateUtils eklenmeli!

www.mdt.biz.tr

Çevrimdışı ahmetk

  • Yeni Kullanıcı
  • *
  • Karma: 0
Ynt: LOBJECTS ile TIME değeri nasıl atanır?
« Yanıtla #5 : 24.04.2011, 01:44 »
PackTime kullanımına örnek

            object tmm = 0;
            giris.PackTime(12, 12, 12,ref tmm);
            MessageBox.Show(tmm.ToString());
            object h = 0;
            object m = 0;
            object s = 0;
            giris.UPackTime((int)tmm, ref h, ref m, ref s);
            MessageBox.Show(h.ToString() + ":" + m.ToString() + ":" + s.ToString());

Çevrimdışı blues09

  • Yeni Kullanıcı
  • *
  • Karma: 0
Ynt: LOBJECTS ile TIME değeri nasıl atanır?
« Yanıtla #6 : 28.09.2011, 13:11 »

Teşekkürler.
« Son Düzenleme: 28.09.2011, 13:30 Gönderen: blues09 »