PDA

View Full Version : Cách nhập văn bản trong Label, Textbox



thuyhang987
09-08-2008, 19:56
Bình thường khi mình nậhp văn bản vào label hay tetbox thì con trỏ nhảy theo chiều từ trái qua phải. Nhưng mình muốn con trỏ nhảy theo chiều phải qua trái. Mong các bạn giúp mình với!
Vì mình đang viết chương trình tính
VD:
23567
+ 123
------
+Thì phải cộng từ hàng đơn vị, hàng chục rồi tới hàng trăm....(dấu nháy đi từ sau ra trước)
+Còn bậy giờ thì ngược lại

huytranaz
11-08-2008, 16:01
Bình thường khi mình nậhp văn bản vào label hay tetbox thì con trỏ nhảy theo chiều từ trái qua phải. Nhưng mình muốn con trỏ nhảy theo chiều phải qua trái. Mong các bạn giúp mình với!
Vì mình đang viết chương trình tính
VD:
23567
+ 123
------
+Thì phải cộng từ hàng đơn vị, hàng chục rồi tới hàng trăm....(dấu nháy đi từ sau ra trước)
+Còn bậy giờ thì ngược lại
Chưa hiểu rõ ý bạn lắm. Có phải bạn muốn con trỏ luôn ở vị trí đầu tiên trong Text khi gõ không? nếu phải thử bắt event Change của Textbox rồi đặt lại vị trí con trỏ = 0 thử xem.

Ví dụ (ở đây điều khiển Textbox tên là Text1):


Private Sub Text1_Change()
Text1.SelStart = 0
End Sub

thuyhang987
11-08-2008, 21:37
Mình vướng ngay phần tính kết quả. Vì tính kết quả phải tính từ hàng đơn vị, tới hàng chục...Như vậy dấu nháy sẽ đi từ sau ra trước. Còn như bây giờ muốn tính thì mình phải tính từ bên ngoài rồi nhập kết quả vào thì mất ý nghĩa của việc tính toán. Mong các bạn giúp mình với.

huytranaz
12-08-2008, 09:59
Mình vướng ngay phần tính kết quả. Vì tính kết quả phải tính từ hàng đơn vị, tới hàng chục...Như vậy dấu nháy sẽ đi từ sau ra trước. Còn như bây giờ muốn tính thì mình phải tính từ bên ngoài rồi nhập kết quả vào thì mất ý nghĩa của việc tính toán. Mong các bạn giúp mình với.

Nếu chỉ là tính toán thì liên quan gì đến con trỏ nhỉ? bạn chỉ cần dùng vòng lặp chạy từ vị trí cuối chuỗi về đầu chuỗi rồi tính thôi mà?
Ví dụ:


For I=Len(txtNumber.Text) To 1 Step -1
'Tinh toan
Next

thuyhang987
12-08-2008, 16:00
Kô phải thế. Mình viết chương trình Học toán lớp 3. Nên mình cho số còn phần Kết quả là người dùng nhập vào. Nên khi thực hiện phép tính thì người làm phải cộng từ sau ra trước chứ. còn như bây giờ người dùng fải tính nháp bên ngoài trước rồi gõ số vào.

_River_
12-08-2008, 16:08
Kô phải thế. Mình viết chương trình Học toán lớp 3. Nên mình cho số còn phần Kết quả là người dùng nhập vào. Nên khi thực hiện phép tính thì người làm phải cộng từ sau ra trước chứ. còn như bây giờ người dùng fải tính nháp bên ngoài trước rồi gõ số vào.

Nói làm toán lớp 3 là hiểu rồi!

Có thể làm như sau: Sự kiện Keyup, cho con trỏ về vị trí đầu.

kito1986
12-08-2008, 21:58
người ta muốn nói cặn kẽ thì mới nói vậy
làm j mà River nặng lời thế
vậy cho hỏi sao đoạn code này lại báo lỗi
Private Sub cmdNHAP_Click()
If txtmanv.Text = "" Then
MsgBox " hay nhap ma nv"
Exit Sub
End If
If txtTENNV.Text = "" Then
MsgBox " hay nhap ten nv"
Exit Sub
End If
If txtNGAYSINH.Text = "" Then
MsgBox " hay nhap nam sinh "
Exit Sub
End If
If txtNHAPQUE.Text = "" Then
MsgBox " hay nhap que quan"
Exit Sub
End If
If txtNHAPDIACHI.Text = "" Then
MsgBox " hay nhap dia chi"
Exit Sub
End If
If txtNHAPSDT.Text = "" Then
MsgBox " hay nhap SDT"
Exit Sub
End If
If txtNHAPPB.Text = "" Then
MsgBox " hay nhap Pb cua nv"
Exit Sub
End If
If rs.RecordCount > 0 Then
rs.MoveFirst
End If
rs.Find "MANV = '" & txtmanv.Text & "'" <--------- lỗi
If rs.EOF = False Then
MsgBox " da co nhan vien nay" & rs!MANV
End If
rs.AddNew
rs!MANV = txtmanv.Text
rs!TENNV = txtTENNV.Text
rs!NGAYSINH = txtNGAYSINH.Text
rs!QUEQUAN = txtNHAPQUE.Text
rs!DIACHI = txtNHAPSDT.Text
rs!NHAPPB = txtNHAPPB.Text
rs!SDT = txtNHAPSDT.Text
rs.Update
MsgBox "ghi thanh cong"
txtNGAYSINH = ""
txtmanv = ""
txtTENNV = ""
txtNHAPDIACHI = ""
txtNHAPQUE = ""
txtNHAPSDT = ""
txtNHAPPB = ""
txtmanv.SetFocus
Exit Sub
End Sub
và sửa thế nào

spammailxxx
13-08-2008, 10:34
Bình thường khi mình nậhp văn bản vào label hay tetbox thì con trỏ nhảy theo chiều từ trái qua phải. Nhưng mình muốn con trỏ nhảy theo chiều phải qua trái. Mong các bạn giúp mình với!
Vì mình đang viết chương trình tính
VD:
23567
+ 123
------
+Thì phải cộng từ hàng đơn vị, hàng chục rồi tới hàng trăm....(dấu nháy đi từ sau ra trước)
+Còn bậy giờ thì ngược lại

set properties Alignment của textbox,label là "1-Right Justify"
Còn cộng 2 số từ 2 textbox, label thì bạn biết rồi nhé!

thuyhang987
13-08-2008, 21:23
Cám ơn bạn River đa chỉ giúp mình. Nhưng mình kô tìm được phương thức nào đưa con trỏ về đầu. Bạn có thể cho mình Code hoặc hướng dẫn cụ thể hơn không nè!

[=========> Bổ sung bài viết <=========]

Cám ơn bạn SpamMail****** đã giúp mình. Mình có thử cách bạn chỉ rồi mà lúc đó nó sẽ đẩy phần số vừa ra trước. Mình muốn dấu nháy nhảy ra trước. Bạn có cách nào khác kô chỉ mình với nhe!

dvn155
14-08-2008, 19:29
cái này đơn gian thôi mà bạn,bạn có thể thao tác bằng tay hoặc dùng lệnh,nếu bằng tay thì bạn chỉ cần vào properties bạn chọn phần Alignment,ở đây thì có ba phần để bọn chọn,cho dòng text xuất hiện bên trái (left..),ở giữa(center) và từ phải qua(right..),

Hoặc bằng lệnh thì bạn làm như sau;

Private Sub Form_Load()
Text1.Alignment = 0 'từ trái qua
Text2.Alignment = 1 'từ phải qua
Text3.Alignment = 2 'ở giữa
End Sub

thuyhang987
20-08-2008, 22:00
Đó là phần xuất hiện dòng text. Còn mình là phần nhập vào.

kysudat
21-08-2008, 09:41
Bình thường khi mình nậhp văn bản vào label hay tetbox thì con trỏ nhảy theo chiều từ trái qua phải. Nhưng mình muốn con trỏ nhảy theo chiều phải qua trái. Mong các bạn giúp mình với!
Vì mình đang viết chương trình tính
VD:
23567
+ 123
------
+Thì phải cộng từ hàng đơn vị, hàng chục rồi tới hàng trăm....(dấu nháy đi từ sau ra trước)
+Còn bậy giờ thì ngược lại

Ban vao duong link sau xem thu co dung y ban khong nhe
http://rapidshare.de/files/40284906/Lam_toan_3.rar.html
Chuc thanh cong

Minh Dat