Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ÔÚVB6ÖÐÓÃCopyMemory¿½±´×Ö·û´®µÄÖÖÖÖèÄ壨һ£©

±¾ÎÄÀ´×Ô´ËÌûµÄÈß³¤ÌÖÂÛ£¬¸ÐлTiger_ZhaoµÄÈ«³ÌÖ¸µãºÍ³Â»Ô¡¢°¢Ó¡¢ÂíÔÆ½£µÈºÜ¶àÅóÓѵÄÈÈÐIJÎÓë¡£±¾ÎÄÆäËû²¿·ÖÔÚ£º£¨¶þ£©¡¢£¨Èý£©¡¢£¨ËÄ£©¡£
 
»°ËµVB6ÊǸöºÜÈÏÕæÏ¸ÖµÄÂèÂ裬Ëü»áÇÄûÉùµØ°ïÄã×öºÜ¶àÊ¡£½ñÌìÎÒÃÇÀ´ËµµÄÊÇVB6ÔÚAPIµ÷ÓÃʱ×Ô¶¯¶Ô×Ö·û´®²ÎÊý½øÐÐת»»µÄ“ºÃÈ˺ÃÊ”¡£ 
µÚÒ»½Ú ÌåÌùµÄVBÂèÂè
ÎÒÃÇÖªµÀ£¬ÔÚVB6ÖÐ×Ö·û´®¶¼ÊÇÒÔUnicode±àÂë´æÔڵ쬶øWindows APIº¯ÊýÖкܶàʱºòÓõÄÊÇANSI×Ö·û´®¡£VBÂèÂ躦ųÌÐòÔ±ÃÇÀÛ×Å£¬ËùÒÔÔÚVB³ÌÐòÔ±µ÷ÓÃAPIʱ£¬»á×Ô¶¯µÄ¶ÔÆäÖеÄ×Ö·û´®²ÎÊý×öUnicodeµ½ANSIµÄת»»£¨ÒÔϼò³ÆUAת»»£©£¬ÔÚAPIµ÷ÓýáÊøºó»áÔÙ°Ñ×Ö·û´®²ÎÊý×öANSIµ½UnicodeµÄת»»£¨ÒÔϼò³ÆAUת»»£©¡£ÕâÑù˵¿ÉÄÜÓеã³éÏó£¬ÎÒÃÇÀ´¿´ÏÂÃæµÄÀý×Ó¡£'ÕýÈ·µÄByVal StringµÄÓ÷¨
Option Explicit
Const STR_E = "PowerVB"
Private String1 As String
Private String2 As String
Private pString1 As Long
Sub test7()
Dim String1 As String
Dim String2 As String
' Dim _tmp1 As String, _tmp2 As String

String1 = "PowerVB" '14 bytes
String2 = String$(7, 0) '14 bytes

CopyMemory ByVal String2, ByVal String1, 7

' _tmp1 = StrConv(String1, vbfromUnicode) '7 bytes
' _tmp2 = StrConv(String2, vbfromUnicode) '7 bytes
' CopyMemory ByVal _tmp2, ByVal _tmp1, 7

Debug.Print String2
End Sub
ÈçÉÏͼËùʾ£¬µ±ÎÒÃÇÔÚVBÖе÷ÓÃCopyMemory ByVal String2, ByVal String1, 7µÄʱºò·¢ÉúÁËÈçÏÂÊÂÇ飺
¢ÙÊ×ÏÈVBÂèÂè°ïÎÒÃǶÔString1ºÍString2×Ô¶¯×öÁËUAת»»£¬Ò²¾ÍÊÇÏ൱ÓÚ×öÁËÈçÏÂÊÂÇ飺Dim _tmp1 As String, _tmp2 As String
_tmp1 = StrConv(String1, vbfromUnicode) '7 bytes
_tmp2 = StrConv(String2, vbfromUnicode) '7 bytesÒ²¾ÍÊÇ˵£¬Á½¸ö14×Ö½ÚµÄUnicode×Ö·û´®ÏÖÔÚ±»´æÔÚÁ½¸ö7×Ö½ÚµÄANSI×Ö·û´®ÀïÁË¡£
¢ÚÈ»ºóCopyMemoryº¯Êý¾Í×öʵ¼ÊµÄ¿½±´¶¯×÷¡£×¢Ò⣬ÕâʱCopyMemoryµÃµ½µÄ²ÎÊý²»ÊÇString1, String2ÁË£¬¶øÊÇVBÂèÂè´«¸øËüµÄ_tmp1, _tmp2ÁË¡£ËùÒÔ£¬Êµ¼ÊÉÏ£¬CopyMemoryͬѧÊÇÔÚÕâô¸É»î£ºCopyMemory ByVal _tmp2, ByVal _tmp1, 7¡£Ò²¾ÍÊÇ£¬´Ó_tmp1µÄ»º³åÇø¿½±´7¸ö×Ö½Úµ½_tmp2µÄ»º³åÇø¡£
¢ÛCopyMemoryͬѧ¸ÉÍê»î£¬VBÂèÂèÓÖϸÐĵØ×öÉÆºó¹¤×÷¡£Ëü°Ñ_tmp2µÄÄÚÈÝÔÙת³É14×Ö½ÚµÄUnicode×Ö·û´®£¬²¢°ÑËü¸øString2¡£
PS£º
£¨1£© ÎÄ×ÖÖдøÈ


Ïà¹ØÎĵµ£º

VCµ÷ÓÃVBµÄdll

Óо²Ì¬ºÍ¶¯Ì¬Á½ÖÖ£¬¾²Ì¬µÄÐèÒªlib¶ø¶¯Ì¬µÄÖ»ÐèÒªÒ»¸ödll¾Í¿ÉÒÔÁË£¨µ«ÊÇÒªÖªµÀº¯ÊýµÄ¶¨ÒåÒ»°ãÊÇÍ·ÎÄ
¼þ£©¶¯Ì¬Ïà¶Ô¸´ÔÓÒ»µã£¡µ«ÊÇÕÆÎÕÁËÒ²²»ÊǺÜÄÑ  
  //µÚÒ»²½     ¶¨Ò庯ÊýÖ¸Õë¾ÍÊÇÄãÒªµ÷Óõĺ¯Êý£¬²ÎÊý±ØÐëÒ»Ö£¬²»È»¾ÍÄÚ´æÐ¹Â¶  
  typedef   HANDLE ......

VBÖиù¾ÝÎı¾ÐÐÊýÏÔʾ¹ö¶¯Ìõ(¶¯Ì¬ÏÔʾ¹ö¶¯Ìõ)µÄ·½·¨

ºÜ¶àʱºò,ÎÒÃDz»ÏëÒ»¿ªÊ¼¾ÍÏÔʾ¹ö¶¯Ìõ,µ±Îı¾µ½´ïÖ¸¶¨ÐÐÊýÎı¾¿òÎÞ·¨ÍêÈ«ÏÔʾµÄʱºòÔÙÏÔʾËü,ÓÉÓÚScrollbarÊôÐÔÊÇÖ»¶ÁµÄ,ÎÞ·¨ÔÚÔËÐÐʱµÄ´úÂëÖиıäÕâ¸öÊôÐÔ,Ö»ÄÜʹÓÃÏÂÃæµÄAPIʵÏÖÕâ¸ö¹¦ÄÜ:
Public Declare Function ShowScrollBar Lib "user32" (ByVal hwnd As Long, ByVal wBar As Long, ByVal bShow As Long) As Long
......

C´úÂëÓïÑÔתVB´úÂëµÄÎÊÌ⣺

Ë­ÄܰïÎÒ°ÑÕâ¶Î´úÂëת³ÉVbµÄ´úÂ룬²»Ê¤¸Ð¼¤£¬Ð»Ð»£¡
void CTempDlg::OnOK()
{
  UpdateData(1);
  int nlen=m_edit1.GetLength();
  char *username=m_edit1.GetBuffer(nlen);//¶¨ÒåÒ»¸öÐÂ×Ö·û´®username,³¤¶ÈΪnlen£¬²¢½«m_edit1ÖеÄ×Ö·û´®Ò»¸ö¸ö·ÅÈëµ½usernameÊý×éÖÐ
  char strA[]="90123456 ......

VBÖÐÈçºÎÉùÃ÷¼°Ê¹ÓöàάÊý×é,¶à²ãÊý×é¼°¶¯Ì¬Êý×é

ÉùÃ÷¹Ì¶¨´óСµÄÊý×é  
  ÓÐÈýÖÖ·½·¨ÉùÃ÷¹Ì¶¨´óСµÄÊý×飬ÓÃÄÄÒ»ÖÖ·½·¨È¡¾öÓÚÊý×éÓ¦ÓеÄÓÐЧ·¶Î§£º    
  ½¨Á¢¹«ÓÃÊý×飬ÔÚÄ£¿éµÄÉùÃ÷¶ÎÓà   Public   Óï¾äÉùÃ÷Êý×é¡£  
  ½¨Á¢Ä£¿é¼¶Êý×飬ÔÚÄ£¿éµÄÉùÃ÷¶ÎÓà   Private   Óï¾äÉùÃ÷Êý×é¡£  
  ½¨ ......

VBÖеÄUnicode ºÍ Ansi ¸ñʽ ת»»


 VBÖеÄUnicode ºÍ Ansi ¸ñʽ
    Visual Basic 32-bit °æ±¾µÄ×Ö´®´¦Àí²ÉÓà Unicode£¬Ò²¾ÍÊÇ˵×Ö´®ÔÚ VB ÄÚ²¿ÊÇÒÔUnicode µÄ¸ñʽÀ´´æ·Å¡£ºÎν Unicode£¿¼òµ¥µÄ˵£¬¾ÍÊÇÿһ¸ö×Ö·û¶¼ÊÇÒÔ 2-byte µÄÐÎʽ±íʾ£¬¶øÃ¿¸ö¡¸ÊµÌå×Ö·û¡¹¾ÍÊÇÒ»¸ö¡¸×Ö·û¡¹¡£Òò´Ë£¬
 Len("´ó¼ÒºÃ")
 Len("abc")
& ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ