用VB语言怎么把数字左移?右移? vb中怎么向左或向右移动一段文字,

\u5728vb\u4e2d\u8bbe\u7f6e\u6b22\u8fce\u8bcd\u4ece\u5de6\u79fb\u5411\u53f3\u4fa7\u4ee3\u7801\u53ca\u6ce8\u91ca

Private Sub Form_Load() Label1.AutoSize = True '\u8ba9\u6807\u7b7e\u6839\u636e\u5185\u5bb9\u8c03\u6574\u5927\u5c0f Label1.Caption = "\u6b22\u8fce\u4f7f\u7528vb!" Timer1.Interval = 500 Timer1.Enabled = TrueEnd SubPrivate Sub Timer1_Timer() Label1.Left = Label1.Left + 200 If Label1.Left > Me.ScaleWidth Then Label1.Left = -Label1.Width '\u5982\u679c\u6807\u7b7e\u8d85\u8fc7\u7a97\u4f53\u8303\u56f4\uff0c\u5219\u5728\u5de6\u8fb9\u91cd\u65b0\u51fa\u73b0End Sub

\u9700\u8981\u6dfb\u52a0\u5b9a\u65f6\u5668Timer\u6765\u5b9e\u73b0
\u4ee3\u7801\u53ca\u6ce8\u91ca\u5982\u4e0b\uff1a
private sub Form_load()
timer1.interval=500'\u7a97\u4f53\u51fa\u73b0\u65f6\uff0c\u5b9a\u4e49\u5b9a\u65f6\u5668\u7684\u51fa\u53d1\u95f4\u9694\u4e3a0.5s
timer1.enabled=true'\u5b9a\u65f6\u5668\u542f\u52a8
end sub

private sub timer1_time()
label1.left=label1.left+100'label1\u7684\u5de6\u8fb9\u8ddd\u79bb\uff0c\u6bcf0.5s\u5411\u53f3\u79fb\u52a8100\uff0c\u7531\u4e8e\u6587\u5b57\u4f4d\u4e8eLabel\u4e0a\uff0c\u56e0\u6b64label\u79fb\u52a8\uff0c\u5c31\u4f1a\u770b\u5230\u6587\u5b57\u79fb\u52a8\u7684\u6548\u679c
end sub

第一步,先把整形变量数(有正有负)转化为2进制数存放在一个Byte(0 to 1)中
Dim MyB(1) as byte
if N> =0 then
Myb(0)= N \ 256 //高位
Myb(1)= N mod 256 //低位
else
tmp=N*(-1)
Myb(0)= tmp \256
Myb(1)= tmp mod 256
Myb(0)= Not(Myb(0) and &H80) //将符号位取反
Myb(1)= Not(Myb(1)) +1
//以上两行是先求出正数N的二进制表示方法,然后把最高位置1(这样就是-N的原码了)
//然后把所有位都取反,末尾+1,这样就是-N的补码形式了,在计算机中负数是补码来存放的。
end if

转化好以后就是移位操作了,意味操作代码如下(假定你要移动N位)
For i=1 to N
SaveHi = Myb(0) '保存高位,是为了判断右移时是否向低位字节进1
'以下是右移 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
Myb(0) = Myb(0) \ 2 '右移不会溢出的
Myb(1)= Myb(1) \ 2
If ((SaveHi And &H1) = &H1) Then
Myb(1) = Myb(1) Or &H80
End If
Next

如果是左移,也是一样:
For i=1 to N
SaveLo = Myb(1) '保存低位,是为了判断左移时是否向高位字节进1
'以下是右移 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
Myb(0) = (Myb(0) * 2) mod &HFF '要取余,不然会溢出
Myb(1) = (Myb(1) * 2) mod &HFF
If ((SaveLo And &H80) = &H1) Then
Myb(0) = Myb(0) Or &H01 '高位进一
End If
Next

说详细点

  • VB缂栫▼ 灏涓缁存暟缁勪腑10涓厓绱犲悜鍙冲惊鐜Щn浣
    绛旓細For i = 1 To UBound(arr)arr(i) = i s = s & arr(i) & ","Next Print s RightMove arr, 3 '瀵规暟缁勭Щ浣3娆 s = ""For i = 1 To UBound(arr)s = s & arr(i) & ","Next Print s End SubFunction LeftMove(arr, n) '宸︾Щ浣 Dim temp() As String, i As Long n ...
  • vb涓璼hape绉诲姩绋嬪簭
    绛旓細涓嬮潰灏辨槸浣犳兂瑕佺殑绋嬪簭~~娴嬭瘯閫氳繃~~Dim distance As Integer Private Sub Command1_Click()distance = 10 '姝f暟浠h〃鍙崇Щ 鏁板瓧浠h〃绉诲姩鐨勮窛绂 End Sub Private Sub Command2_Click()distance = -10 '璐熸暟浠h〃宸︾Щ End Sub Private Sub Command3_Click()distance = 0 '涓嶇Щ End Sub Private Sub ...
  • vb涓袱涓垪琛ㄦ,鏈夎繖鏍蜂竴涓寜閽彲浠ユ妸宸﹁竟鐨勫叏閮ㄥ唴瀹绉鍒鍙宠竟,鍙互鐢ˋd...
    绛旓細杩欐槸 鍏ㄩ儴绉诲姩浠g爜 a = List1.ListCount - 1 For i = 0 To a List2.AddItem List1.List(i)Next i List1.Clear 涓涓釜 绉诲姩鏄 If List1.ListIndex >= 0 Then List2.AddItem List1.Text List1.RemoveItem List1.ListIndex End If 鍙互 鐪嬪浘 锛堝彲鑳芥湁浜 涔 command3.caption="宸︾Щ...
  • VB銆傘傘
    绛旓細x + 0.005锛岃嫢灏忔暟鐐瑰悗绗3浣>=5锛屽垯浼氬悜绗2浣嶈繘浣嶏紱鍚﹀垯涓嶄細鍙戠敓杩涗綅銆100 * (x + 0.005)灏嗗皬鏁扮偣鍚戝彸绉2浣嶏紙鍗冲師灏忔暟鐐瑰悗绗3浣嶁濊繘浣嶁滀簡锛塈nt(100 * (x + 0.005)) 灏嗗師灏忔暟鐐瑰悗绗笁浣嶈捣鍚戝彸鐨鏁板瓧鍏ㄤ涪寮冦0.01 * Int(100 * (x + 0.005))灏嗗師灏忔暟鐐归噸鏂板悜宸︾Щ2浣嶃
  • vb瀛椾綋宸﹀彸鍔ㄤ唬鐮 瑕佹眰鏄 瀛椾綋璧扮殑绐楀彛杈逛笉鑳藉嚭鍘诲線鍥炶蛋
    绛旓細閲嶆柊绉诲姩鍥炲乏杈 Direction = False '杞崲鏂瑰悜 End IfElse '濡傛灉鏈濆彸 Label1.Left = Label1.Left + 50 '鍙崇Щ If Label1.Left + Label1.Width > Me.Width Then '濡傛灉瓒呭嚭鍙崇晫闄愶紙.left+.width=鍙宠竟缂橈級 Label1.Left = Me.Width - Label1.Width '褰掍綅鍒板彸杈...
  • VB list 鍜宑ombo 宸︾Щ鍙崇Щ 鏈夌偣涓嶅お鐞嗚В 甯垜瑙i噴涓 鏈夐珮鍒嗗鍔卞摝_鐧惧害...
    绛旓細RemoveItem 鏂规硶 鐢ㄤ互浠 ListBox 鎴 ComboBox 鎺т欢涓垹闄や竴椤癸紝鎴栦粠 MS Flex Grid 鎺т欢涓垹闄や竴琛屻備笉鏀寔鍛藉悕鍙傛暟銆傝娉 object.RemoveItem index RemoveItem 鏂规硶鐨勮娉曞寘鍚笅鍒楅儴鍒嗭細閮ㄥ垎 鎻忚堪 object 蹇呴渶鐨勩備竴涓璞¤〃杈惧紡锛屽叾鍊间负鈥滃簲鐢ㄤ簬鈥濆垪琛ㄤ腑鐨勪竴涓璞°俰ndex 蹇呴渶鐨勩備竴涓暣鏁帮紝瀹冭〃绀鸿...
  • 姹傚姪涓閬VB浣滀笟~~ 灏嗘爣绛句粠宸﹀悜鍙宠嚜鍔ㄦ粴鍔,鍒拌揪鏈鍙宠竟鏃,鍙堜粠鍙宠竟寮...
    绛旓細a = 100 '寮濮嬫椂寰鍙崇Щ+100 End Sub Private Sub Timer1_Timer() '瀹氭椂鍣 Label1.Left = Label1.Left + a '涓嶅仠鍦板乏鍙崇Щ If Label1.Left > Me.Width Then a = -a '鍒拌揪鍙充晶鍚庯紝瑕佹眰宸︾Щ If Label1.Left < 0 Then a = -a '鍒拌揪宸︿晶鍚庯紝瑕佹眰鍙崇Щ End Sub ...
  • VB涓璗IMER璇彞鐨浣跨敤
    绛旓細Private Sub Command1_Click()Timer2.Enabled = False Timer1.Enabled = True End Sub Private Sub Command2_Click()Timer1.Enabled = False Timer2.Enabled = True End Sub Private Sub Command3_Click()Timer2.Enabled = False Timer1.Enabled = False End Sub Private Sub Timer1_Timer()Labe...
  • 鍝綅VB楂樻墜 甯繖缂栬緫涓嬬▼搴忋併
    绛旓細Command1.Caption = "宸︾Щ"Command2.Caption = "鍙崇Щ"Command3.Caption = "鏀惧ぇ"Command4.Caption = "缂╁皬"Command5.Caption = "鏄剧ずForm2"Command6.Caption = "闅愯棌Form2"Command1.Enabled = False Command2.Enabled = False Command3.Enabled = False Command4.Enabled = False End Sub 鍙崇Щ...
  • vb浠g爜闂 鏁扮粍鐨勫惊鐜Щ浣,灏嗗崄涓暟鏀惧叆鏁扮粍涓,鐒跺悗寰幆宸︾Щ涓浣
    绛旓細Rnd * 90) + 10 Print a(i);Next i End SubPrivate Sub Command2_Click()Print Dim temp As Integer, i As Integer temp = a(1)For i = 1 To 9 a(i) = a(i + 1)Next i a(10) = temp Print "寰幆宸︾Щ涓浣嶅悗:"For i = 1 To 10 Print a(i);Next i End Sub 鍥撅細
  • 扩展阅读:vb用按钮输入数字 ... vb编程上下左右移动 ... vb弹出输入框代码 ... vb左右来回滚动字幕代码 ... vb字体单击变大代码 ... vb在文本框中输入数字 ... bios一键还原系统 ... vb文本转数字 ... vb中按钮向上移动代码 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网