الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

قراءه التاريخ و الوقت من جهاز السيرفر او اي جهاز تحدده انت

مغلق
بدأه eng_ashraf في 29 أبريل 2007 · 2 رد · 525 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هذا الكود يقوم بقراءه التاريخ و الوقت من جهاز السيرفر او اي جهاز تحدده انت و تلزم في العديد من التطبيقات مثل عمل برامج الحضور و الغياب ا و اي برامج لا تريد من المستخدم اللعب في التاريخ

API DECLARTIONS
Option Explicit

'API Structures
Type TIME_OF_DAY_INFO
	tod_elapsed As Long
	tod_msecs As Long
	tod_hours As Long
	tod_mins As Long
	tod_secs As Long
	tod_hunds As Long
	tod_timezone As Long
	tod_tinterval As Long
	tod_day As Long
	tod_month As Long
	tod_year As Long
	tod_weekday As Long
End Type

'NetAPI Calls
Public Declare Function NetRemoteTOD Lib "netapi32.dll" (yServer As Any, pBuffer As Long) As Long
Private Declare Function NetApiBufferFree Lib "netapi32.dll" (ByVal pBuffer As Long) As Long
'Kernel API Calls
Private Declare Sub CopyMem Lib "kernel32.dll" Alias "RtlMoveMemory" (pTo As Any, uFrom As Any, ByVal lSize As Long)
MODULE
'Return the Time and Date of a specified Machine on the Net
Public Function GetRemoteTime(ServerName As String) As Date
	Dim lpBuffer As Long
	Dim t_struct As TIME_OF_DAY_INFO
	Dim ret As Long
	Dim bServer() As Byte

	If Trim(ServerName) = "" Then
		'Local machine
		ret = NetRemoteTOD(vbNullString, lpBuffer)
	Else
		'Check the syntax of the ServerName string
		If InStr(ServerName, "\\") = 1 Then
			bServer = ServerName & vbNullChar
		Else
			bServer = "\\" & ServerName & vbNullChar
		End If
		ret = NetRemoteTOD(bServer(0), lpBuffer)
	End If
	CopyMem t_struct, ByVal lpBuffer, Len(t_struct)
	If lpBuffer Then
		Call NetApiBufferFree(lpBuffer)
	End If
	GetRemoteTime = DateSerial(t_struct.tod_year, t_struct.tod_month, t_struct.tod_day) + TimeSerial(t_struct.tod_hours, t_struct.tod_mins - t_struct.tod_timezone, t_struct.tod_secs)
End Function
Usage

'Get the time and date of the local machine
Private Sub Command1_Click()
	MsgBox GetRemoteTime("")
End Sub

'Get the time and date a remote Workstation
Private Sub Command2_Click()
	MsgBox GetRemoteTime("\\MYWORKSTATION")
End Sub

تم تعديل هذه المشاركة بواسطة HnHn في 29 أبريل 2007 في 02:51

المهندس

#2

جميل جداً ..

بارك الله أخي الكريم .

#3

الأخ الفاضل ...

ماشاء الله عليك :)، طريقة جديده وسهلة وبأستخدام API

فى هذا الموضوع شرح لجعل الجهاز يعمل كخادم للوقت (فى حالة أن الخادم أو XP غير مهيئ لذلك): مطلوب كود استخدام توقيت السيرفر لكل الاجهزة المرتبطة

تمنياتى بالتوفيق، وفى إنتظار المزيد ،،،

شكراً

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…