O anki saat ile girilen saat arasındaki zamanı hesaplama.. Gönderen: 3L3CTRO Tarih: 13 March 2008 00:31:29
Bir projem gereği lazım eden iki saat arasındaki süreyi saat,dak,sn olarak göstermem gerekiyordu araştırdım ama işime yarayacak istediğim gibi kodlar bulamadım...ama nasıl dönüştürüleceğini bir sitede buldum ve onun üzerinde çalışarak bir algoritma kurdum program gayet iyi çalışıyor sizlere bir örnek vereceğim orada timera yazdım kodları ve bana örneğin"" 1 saat - 25 dakika - 2 saniye"" kaldi gibisinden söylüyor zaman ilerledikçe program kaç saat,dk,sn kaldığını gayet iyi gösteriyor....belki internette vardır veya sizler biliyorsunuzdur ama olsun ben yaptığım için birazda uğraştığım için tabi bana göre çok büyük birşey.. neyse fazla uzatmayayım örneği ekleyeceğim...
Algoritmayı buna göre kurmuştum

-----------------------------------------
örnek(16:40:15) 16*3600 + 40*60 + 15 = 60015sn
örnek(17:20:10) 17*3600 + 20*10 + 10 = 61410sn
1395 /3600 =...sa(tam sayı yap)
(1395 mod 3600)/60 = ....dk(tam sayı yap)
1395 mod 60 = ....sn(aynen kalsın)
-----------------------------------------
Kolay gelsin...
Ynt: O anki saat ile girilen saat arasındaki zamanı hesaplama.. Gönderen: babahayati Tarih: 13 March 2008 09:12:43
Sercan güzel... teşekkür ederiz.
Hazır böyle bir proje yapmışken neden istenilen saatte bilgisayarı resetleyen veya kapatan bir proje geliştirmiyoruz(ruz dediğime bakma sen yapacaksın

)
Aşağıya foksiyonu ekliyorum.
Girilen saate gelindiğinde saniyen -(eksi) oluyor, bir kontrol ifadesi ile saniye - olduğu zaman (saniye<0) veya başka bir algoritma ile işi bitirebilirsin.
function WindowsExit(RebootParam: Longword): Boolean;
var
TTokenHd: THandle;
TTokenPvg: TTokenPrivileges;
cbtpPrevious: DWORD;
rTTokenPvg: TTokenPrivileges;
pcbtpPreviousRequired: DWORD;
tpResult: Boolean;
const
SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';
begin
if Win32Platform = VER_PLATFORM_WIN32_NT then
begin
tpResult := OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,
TTokenHd) ;
if tpResult then
begin
tpResult := LookupPrivilegeValue(nil,
SE_SHUTDOWN_NAME,
TTokenPvg.Privileges[0].Luid) ;
TTokenPvg.PrivilegeCount := 1;
TTokenPvg.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
cbtpPrevious := SizeOf(rTTokenPvg) ;
pcbtpPreviousRequired := 0;
if tpResult then
Windows.AdjustTokenPrivileges(TTokenHd,
False,
TTokenPvg,
cbtpPrevious,
rTTokenPvg,
pcbtpPreviousRequired) ;
end;
end;
Result := ExitWindowsEx(RebootParam, 0) ;
end;
KULLANIMI:WindowsExit(EWX_REBOOT or EWX_FORCE) ; // reset atar
WindowsExit(EWX_POWEROFF or EWX_FORCE) ; // makinayı kapatır
Ynt: O anki saat ile girilen saat arasındaki zamanı hesaplama.. Gönderen: 3L3CTRO Tarih: 13 March 2008 09:19:02
hayati teşekkürler ama benim o dediğim projem buydu zaten bir proje için yapmıştım demiştim ya işte o otomatik kapanma idi...Birde bir ara dediğin gibi (-) eksilere iniyor doğru bir döngüye bağlamak lazım..

Ynt: O anki saat ile girilen saat arasındaki zamanı hesaplama.. Gönderen: babahayati Tarih: 13 March 2008 09:26:26
vicdanı kara

neden projeyi paylaşmıyorun o zaman, heığnn
Ynt: O anki saat ile girilen saat arasındaki zamanı hesaplama.. Gönderen: 3L3CTRO Tarih: 13 March 2008 13:35:18
Paylaşacağım dur biraz.. tam bitmedi diyebilirim..:)Ama Açık Kaynak Değil

Üstü Kapalı Kaynak...