برگزیده های پرشین تولز

تبدیل یک عدد به Qword ؟

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
سلام!

یه مشکل برام پیش اومده! من یه همچین عددی دارم "144616277164184700" و باید تبدیلش کنم به Qword. خب اینکار رو توی سی میشه انجام داد ولی در ویبی6 به چه صورت میشه؟

توجه کنید که این عدد 18 رقمیه! اگر توی ماشین حساب ویندوز بزنید، Qword ش رو مینویسه: "201C7BCE51C547C" که من همین عدد رو میخوام.

این کد رو پیدا کردم ولی تا 11 رقم بیشتر جواب نمیده!

کد:
Option Explicit
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (anyDestination As Any, anySource As Any, ByVal lngLength As Long)
Public Sub Main()
    MsgBox LoDWORD(56908316672@)
    MsgBox HiDWORD(56908316672@)
    MsgBox QWORD(13, 1073741824)
End Sub
Private Function LoDWORD(ByVal curQWORD As Currency) As Long
 
  Dim lngLoDWORD As Long
 
    curQWORD = curQWORD / 10000
    CopyMemory lngLoDWORD, curQWORD, 4
 
    LoDWORD = lngLoDWORD
End Function
Private Function HiDWORD(ByVal curQWORD As Currency) As Long
  Dim lngHiDWORD As Long
 
    curQWORD = curQWORD / 10000
    CopyMemory lngHiDWORD, ByVal VarPtr(curQWORD) + 4, 4
 
    HiDWORD = lngHiDWORD
End Function
Private Function QWORD(ByVal lngHiDWORD As Long, ByVal lngLoDWORD As Long) As Currency
  Dim curQWORD As Currency
 
    CopyMemory curQWORD, lngLoDWORD, 4
    CopyMemory ByVal VarPtr(curQWORD) + 4, lngHiDWORD, 4
 
    QWORD = curQWORD * 10000
End Function
 

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
سلام
بلا بلا حان كدشو تو خونه دارم بگذار برم خونه برات مي فرستم
به اميد ديدار
 
بالا