Функция RND - VB
Формулировка задачи:
Добрый день! На одном компьютере при загрузке формы получаем случайно число:
Int(Rnd * 1000000)
На другом компьютере при открытии этой же формы получаем случайное число. Вопрос почему на 2 разных компьютерах числа синхронно совпадают хоть 2 разных ПК, но считает получается одинаково, как избежать данной ситуации?
Решение задачи: «Функция RND»
textual
Листинг программы
Option Explicit
Private Declare Function GetTempPath Lib "kernel32" _
Alias "GetTempPathA" (ByVal nBufferLength As Long, _
ByVal lpBuffer As String) As Long
Private Declare Function GetTempFileName Lib "kernel32" _
Alias "GetTempFileNameA" (ByVal lpszPath As String, _
ByVal lpPrefixString As String, ByVal wUnique As Long, _
ByVal lpTempFileName As String) As Long
Private Function CreateTempFile(sPrefix As String) As String
Dim sTmpPath As String * 512
Dim sTmpName As String * 576
Dim nRet As Long
nRet = GetTempPath(512, sTmpPath)
If (nRet > 0 And nRet < 512) Then
nRet = GetTempFileName(sTmpPath, sPrefix, 0, sTmpName)
If nRet <> 0 Then
CreateTempFile = Left$(sTmpName, _
InStr(sTmpName, vbNullChar) - 1)
End If
End If
End Function
Private Sub Command1_Click()
Dim sTmpFile As String
Dim sMsg As String
Dim hFile As Long
sTmpFile = CreateTempFile("VBT")
hFile = FreeFile
Open sTmpFile For Binary As hFile
Put #hFile, , "This is a test. 1234"
Close hFile
sMsg = "Temp FileName: " & sTmpFile & vbCrLf
sMsg = sMsg & "File Length: " & FileLen(sTmpFile) & vbCrLf
sMsg = sMsg & "Time Created: " & _
Format$(FileDateTime(sTmpFile), "long time") & vbCrLf
MsgBox sMsg, vbInformation, "TempFile"
Kill sTmpFile
End Sub