Thiết lập file xem sinh con trai hay gái

Liên hệ QC
Status
Không mở trả lời sau này.

hanhdhyd

Thành viên mới
Tham gia
11/6/06
Bài viết
7
Được thích
30
Nguyễn Phương Thảo
TT Tin học ABC​

Nhiều người cứ phàn nàn rằng, họ không thể phát triển ứng dụng của mình khi không có các chương trình thảo chương lập trình. Điều đó không hẳn đã như vậy.
Microsoft xây dựng bộ OFFICE có tính chất mở, nghĩa là ta có thể từ chính các ứng dụng OFFICE mà phát triển lên thành chương trình của mình. Nếu các bạn đã quen với lập trình Access, thì bài viết này lại đề cập sang vấn đề tương tự, đó là phát triển chương trình dựa trên bảng tính điện tử Excel, bảng tính được coi là một trong những công cụ tính toán mạnh nhất thế giới.
Trong xây dựng các ứng dụng có thể có nhiều cách, nhưng tận dụng được những gì đã có của máy tính, của EXcel để biến nó thành "thứ của mình" lại là vấn đề cần phải xem xét. Khi lập trình bạn sẽ phải vướng vào một số nhiệm vụ sau, tôi liệt kê ra để những bài viết sau của chương "Cải tổ Windows", bạn đỡ phải bỡ ngỡ vì nó:
1. Tận dụng những hàm và thủ tục có sẵn của VBA (Visual Basic For Application)
Trong đó tôi sẽ nêu ra VBA giống và khác với VB (Visual Basic) ở những điểm gì. Điều này, những người quen lập trình với VB sẽ quan tâm hơn cả.
2. Sử dụng Windows API:
Những hàm hệ thống của Windows để khai thác triệt để cũng như điều chỉnh Windows theo mong muốn. Đồng thời giải quyết những vấn đề mà các hàm và thủ tục VBA không thực hiện được.
3. Kỹ thuật HOOK và SUBCLASS:
Bạn phải sử dụng những chức năng để kiểm soát người dùng, đồng thời "lấy" những giá trị mà người dùng cấp cho các hộp thoại, cũng như các Form nhập không phải là chương trình của bạn, để xử lý. Vấn đề này tôi xin viết ở bài viết riêng, (Vì đây chính là những chương trình HACKER đang câu móc), tuy nhiên bạn có thể tham khảo trong các bài kế tiếp.
4. Cải tiến và kiểm soát Registry:
Có quá nhiều bài viết về vấn đề này, tuy nhiên tôi xin giới thiệu ở khía cạnh khác, khía cạnh mà những bài đã viết ít hoặc không đề cập tới.
5. Bảo mật:
Bạn cần có một số phương pháp cần giữ bản quyền để chống sao chép trộm, đồng thời che giấu phần lập trình.
6. Viết trợ giúp:
Có nhiều cách để biên tập thành tệp HLP, tuy nhiên xu hướng hiện nay là biên tập thành tệp dạng web để có thể xem trong INTERNET cũng như xrm bằng các trình duyệt.
7. Đóng gói và cài đặt
 
Thiết lập chương trình xem sinh con trai hay gái

Để lập trình được, bạn vào Excel chèn 2 Sheet ra. 01 Sheet đặt tên là "Giao tiếp", còn Sheet kia đặt tên là "Bản gốc".

Tại Sheet "Giao tiếp" cần trang trí các hộp Text Box, đồ hoạ quảng cáo tuỳ ý bạn. Bạn có thể đặt vị trí của các ô khác với của tôi. Nhưng để ví dụ được thống nhất tôi sẽ thực hiện đặt như sau:
Ô Giá trị của ô hoặc công thức
A2 "Đang xem cho bạn:"
E6 =thu(TODAY())
G6 =Today()
Bạn đặt hộp sáng tại ô G6, gõ Ctrl+1 rồi chọn Number\Custom, đánh vào hộp Type định dạng sau: dd " tháng " MM " năm " yyyy
(Để tự chuyển thành dòng ngày tháng năm).
Tại Sheet "Bảng gốc" bạn nhập hoặc copy bảng sau từ ô A1:


SinhConTraiHayGai.jpg
 
Chỉnh sửa lần cuối bởi điều hành viên:
Sau khi đã hoàn thành khung và giao tiếp, bạn gõ Alt + F11, Ctrl +R sau đó chèn Insert Module vào tệp Project của bạn Tiến hành lập trình ví dụ:

Option Explicit
Sub Auto_Open()
' Lệnh tự động thực hiện khi mở tệp
Dim quangcao
Dim hoi As Integer
' Đổi tên tiêu đề "Microsoft Excel" thành tiêu đề chương trình của mình
Application.Caption = "Xem đẻ con trai hay con gái"
' Không dùng tiêu đề của cửa sổ tài liệu
ThisWorkbook.Windows(1).Caption = ""
'Làm việc với Sheet "Giao tiếp
Sheets("Giao tiếp").Select
Range("A1").Select
'Che giấu tất cả những gì nhìn thấy thông thường như các thanh công
'cụ, thanh công thức, thanh trạng thái...
' Đánh theo máy của bạn vì có thể khác máy của tôi
Toolbars(1).Visible = False
Toolbars(2).Visible = False
Toolbars(9).Visible = False
Application.DisplayFormulaBar = False
Application.DisplayStatusBar = False
With ActiveWindow
.DisplayGridlines = False
.DisplayHeadings = False
.DisplayOutline = False
.DisplayZeros = False
.DisplayHorizontalScrollBar = False
.DisplayVerticalScrollBar = False
.DisplayWorkbookTabs = False
End With
Application.DisplayNoteIndicator = False
'ActiveWindow.Visible = False
'Hiện hộp thoại hỏi
hoi = MsgBox("Bạn có muốn xem mình sinh con trai hay gái không ? Nếu muốn nhấn YES, không nhấn NO.", 4132, "Hỏi xem có xem không?")
'Nếu người dùng đồng ý
If hoi = 6 Then
'Thực hiện thủ tục nhapngay rồi thủ tục Batdau
nhapngay
batdau
Else
'Nếu người dùng không đồng ý xem
Application.Caption = "Microsoft Excel" 'Trả lại tên cho Excel
'Cho hiện lại những gì đã che giấu
Toolbars(1).Visible = True
Toolbars(2).Visible = True
' ActiveWindow.Visible = True
Application.DisplayFormulaBar = True
Application.DisplayStatusBar = True
With ActiveWindow
.DisplayGridlines = True
.DisplayHeadings = True
.DisplayOutline = True
.DisplayZeros = True
.DisplayHorizontalScrollBar = True
.DisplayVerticalScrollBar = True
.DisplayWorkbookTabs = True
End With
Application.DisplayNoteIndicator = True
'Cất
ActiveWorkbook.Save
'Thoát khỏi
Application.Quit
End If
End Sub
Sub batdau()
'Thủ tục bắt đầu, khai báo các biến sử dụng
Dim tuoi
Dim hang
Dim cot As Integer
Dim thoi As Boolean
Dim contrai
Dim hoi
Dim nhactuoi
Dim ten
Dim dien
thoi = True
While thoi
'Nhận tên người xem
ten = InputBox("Xin cho biết tên người cần xem:", "Nhập tên")
If ten = "" Then
dien = "Bạn này giấu tên"
Else
dien = ten
End If
'Điền tên người xem vào ô A3
Range("A3").Select
ActiveCell.FormulaR1C1 = dien
z:
'Nhắc nhập tuổi người cần xem
nhactuoi = "Xin cho biết tuổi của bạn " + ten + " khi thụ thai." + Chr(13) + "Chú ý là tuổi theo tuổi mụ." + Chr(13) + "VD: Nếu bạn sinh 1980, thì bạn " + Str(Year(Date) - 1979) + " tuổi."
tuoi = InputBox(nhactuoi, "Nhập tuổi", 18)
If tuoi = "" Then
MsgBox ("Bạn chưa nhập tuổi, tạm coi khi thụ thai tuổi bạn " + ten + " là 18.")
tuoi = 18
End If
'Nếu nhập sai tuổi, yêu cầu nhập lại
If Not IsNumeric(tuoi) Then
MsgBox ("Xin nhập lại bằng số.")
GoTo z:
End If
'Nếu tuổi quá giới hạn cho phép
If (tuoi < 18) Or (tuoi > 44) Then
'Thông báo khi người xem quá nhỏ tuổi
If (tuoi < 18) Then
MsgBox ("Xin lỗi, tại sao em " + ten + " nhỏ tuổi mà lại dại dột thế? Máy từ chối xem cho trường hợp này, nên đặt vòng cho em " + ten)
Else
'Thông báo khi người xen quá lớn tuổi
MsgBox ("Xin lỗi, tại sao bà " + ten + " lớn tuổi như thế mà lại có con là thế nào? Máy từ chối xem cho trường hợp này, xin bà " + ten + " đừng đẻ nữa.")
End If
Else
y:
'Nhập tháng thụ thai vào biến hang để tra bảng
hang = InputBox("Xin cho biết bạn " + ten + " thụ thai vào tháng nào:" + Chr(13) + "(Xin lưu ý tháng nhập này là tháng âm lịch)", "Nhập tháng thụ thai", 1)
If hang = "" Then
'Nếu không nhập, coi luôn là tháng 1
MsgBox ("Bạn chưa nhập tháng thụ thai, tạm coi là tháng 1.")
hang = 1
End If
If Not IsNumeric(hang) Then
'Nếu nhập sai, yêu cầu nhập lại
MsgBox ("Xin nhập lại bằng số.")
GoTo y:
End If
'Nếu cố tình nhập sai tháng
If (hang > 12) Or (hang < 0) Then
Do While (hang > 12) Or (hang < 0)
MsgBox ("Mỗi năm chỉ có 12 tháng, bạn đừng đãng trí quá mức như vậy.")
hang = InputBox("Xin cho biết tháng mà bạn " + ten + " thụ thai:", "Nhập tháng thụ thai")
Loop
End If
'Xác định cột cần tra
cot = tuoi - 17
Sheets("Giao tiếp").Select
'Tra trong bảng gốc
contrai = Sheets("Bảng gốc").Cells(hang, cot).Value
If contrai = "T" Then
'Nếu giá trị là T
MsgBox ("Bạn " + ten + " sẽ sinh con trai. Xin chúc mừng !")
Else
MsgBox ("Xin bạn " + ten + " đừng buồn. Bạn sẽ sinh con gái. Bạn vẫn có thể đẻ tiếp con trai ở những lần sau, bạn " + ten + " ạ.")
End If
'Gọi thủ tục Cocontrai
Cocontrai (cot)
'Hỏi xem nữa không
hoi = MsgBox("Xem nữa không ? Nếu xem nữa nhấn YES, không xem nữa nhấn NO.", 4132, "Hỏi xem có xem nữa không ?")
If hoi = 7 Then
thoi = False
End If
End If
Wend
'Thông báo trước khi thoát
MsgBox ("Đây chỉ là chương trình thử nghiệm chỉ đúng khi bạn sinh hoạt, ăn uống bình thường. Xin cám ơn.")
Application.Caption = "Microsoft Excel" 'Trả lại tên cho Excel
'Cho hiện lại những gì đã giấu
Toolbars(1).Visible = True
Toolbars(2).Visible = True
ActiveWindow.Visible = True
Application.DisplayFormulaBar = True
Application.DisplayStatusBar = True
With ActiveWindow
.DisplayGridlines = True
.DisplayHeadings = True
.DisplayOutline = True
.DisplayZeros = True
.DisplayHorizontalScrollBar = True
.DisplayVerticalScrollBar = True
.DisplayWorkbookTabs = True
End With
Application.DisplayNoteIndicator = True
ActiveWorkbook.Save
'Thoát
Application.Quit
End Sub
Sub Cocontrai(cot As Integer)
'Thông báo những tháng có con trai với tuổi người phụ nữ
Dim i As Integer
Dim kq
kq = "Với tuổi " + Str(cot + 17) + " thì thụ thai vào các tháng:"
For i = 2 To 12
If Sheets("Bảng gốc").Cells(i, cot) = "T" Then
kq = kq + Str(i) + ","
End If
Next
kq = Left(kq, Len(kq) - 1)
MsgBox (kq + " sẽ có con trai. Các tháng còn lại sẽ sinh con gái.")
End Sub
Function thu(ngay As Date) As String
'Hàm trả về là thứ trong tuần khi biết ngày
Dim kq
Select Case WeekDay(ngay)
Case 1
kq = "Chủ nhật"
Case 2
kq = "Thứ hai"
Case 3
kq = "Thứ ba"
Case 4
kq = "Thứ tư"
Case 5
kq = "Thứ năm"
Case 6
kq = "Thứ sáu"
Case 7
kq = "Thứ bảy"
End Select
thu = kq
End Function
Sub nhapngay()
'Thủ tục chỉnh ngày hệ thống
Dim Co
Dim Ngaymoi
Co = MsgBox("Ngày hôm nay là: " + thu(Date) + " ngày " + Format(Date, "dd/mm/ yyyy") + Chr(13) + "Bạn có muốn chỉnh lại không ?", 292, "Chỉnh ngày trước khi xem")
If Co = 6 Then
n:
Ngaymoi = Format(InputBox("Nhập ngày mới:", "Nhập ngày", Date), "dd/mm/yyyy")
If Ngaymoi <> "" Then
If Not IsDate(Ngaymoi) Then
MsgBox ("Nhập sai ngày. Xin nhập lại.")
GoTo n:
End If
Date = Ngaymoi
End If
End If
Application.MaxChange = 0.001
ActiveWorkbook.PrecisionAsDisplayed = False
Calculate
End Sub
Bạn thân mến, trên đây là toàn bộ chương trình mẫu Xem sinh con trai hay gái mà tôi gửi đến tặng cho bạn. Tuy nhiên, bạn có thể sử dụng hiểu biết của mình để tạo thành các Form hay giao tiếp cho thật đẹp. Còn chiến lược, cũng như các phần đề cập
 
hanhdhyd đã viết:
If (tuoi < 18) Then
MsgBox ("Xin lỗi, tại sao em nhỏ tuổi mà lại dại dột thế? Máy từ chối xem cho trường hợp này, nên đặt vòng cho em.")
Else
'Thông báo khi người xem quá lớn tuổi
MsgBox ("Xin lỗi, tại sao bà lớn tuổi như thế mà lại có con là thế nào? Máy từ chối xem cho trường hợp này, xin bà đừng đẻ nữa.")
End If
Else ...
:. :* '
 
Chỉnh sửa lần cuối bởi điều hành viên:
Chào bạn Phương Thảo!
Mình đã thử viết chương trình "sinh con trai hay gái" do bạn hướng dẩn rồi nhưng sao nó vẫn lì ra không chịu chạy!$@!! . Bạn chương trình hoàn chỉnh về đề tài này để mình so sánh mình đã sai ở đâu khi viết chương trình nha bạn.+-+-+-+
Mình xin cảm ơn bạn trước! À địa chỉ hộp thư của mình là: trungnguyenduy@gmail.com
 
Những người sinh con "một bề" và hết tiêu chuẩn rất "tủi thân" khi xem chủ đề này.
 
Mình gửi bạn file xem thử
 

File đính kèm

  • Sinh trai hay gai.xls
    73.5 KB · Đọc: 1,636
Không hiểu bạn hanhdhyd lâu nay "luyện công" ở đâu, phụ nữ như vậy là quá kính nể đấy! !$@!!!$@!!
 
Hay thật. Thế mà mình cứ nghĩ lâu nay sinh con trai hay con gái là do trời định chứ!
Để xem, nếu dám thêm đứa thứ 4 thì mình sẽ ...
À, Over ơi, nên xem thật kỹ bài này nha.
 
May quá có sách đây rồi, dạo này Những người sinh con Gái đốt hết sách rồi nên mấy anh em toàn đẻ con Trai. Tìm mãi mới thấy được chỗ này có sách sinh con theo ý muốn.--=0--=0--=0. Không biết áp dụng có sinh được hoa hậu nào không đây.--=0
 
Lần chỉnh sửa cuối:
Vậy cho hỏi mấy bác tin vào chuyện này bao nhiêu phần trăm vậy. Chứ em toàn sinh gái thôi!
Tệ quá...hic hic..
 
Cái này dùng cho Bà lớn, cho Bà nhỏ hay cho Bà hàng xóm zậy--=0--=0

2 thằng con trai, mong con gái, phải dấu ngay cái này đi, Bả mà thấy chắc em phải đăng ký đi công tác mấy tháng mà có khả năng sanh con gái!$@!!!$@!!!$@!!

Ah có cách, sửa thành T hết trong sheet Bảng gốc, tháng nào cũng trai hết --> Tui nói Bà rồi, Bà chỉ biết sanh con trai thôi--=0--=0
Vậy cho hỏi mấy bác tin vào chuyện này bao nhiêu phần trăm vậy. Chứ em toàn sinh gái thôi!
50/50, hên xui /-*+//-*+//-*+/
 
Em chào chị Hanhdhyd, em xin cảm ơn chị về bài viết trên, thú thực em rất tâm đắc với bài viết đó. Hiện nay em đã có một cháu gái rồi. Và đang rất mong muốn có thêm một cháu trai (cung xin nói thêm em là con trưởng) cả họ đều mong thế. Nếu thực sự chương trình của chị có kết quả thì em sẽ cố công học tập VBA để thực hiện. Nhưng xin chị cho em biết cái đó có thật không đó? Chị nhớ cho em biết sơm nhé !!! Em đợi tin chị !
 
Ai chà chà... GÁI TRAI... TRAI GÁI.. tất cả cũng là con người...
Hảy tưởng tượng nếu xã hội ko có đàn bà... Hic... mình.. đói luôn!
Tôi thì có 3 thằng, chẳng có đứa con gái nào... Thực sự trong lòng tôi từ khi chưa có vợ đã rất thích có con gái (ko thích con trai)... nhưng dù nó là gái hay trai, miễn là con tôi thì tôi đều yêu chúng cả...
Mọi chuyện xin cứ thuận theo tự nhiên... có những thứ mà khoa học can thiệp vào chỉ càng làm tình hình thêm tệ!
ANH TUẤN
 
Mình cũng nhất trí với anh Tuấn, mình là con trưởng đây nhưng mình vẫn thích con gái, nhưng con trai hay gái vẫn được mặc dù dòng họ mình chỉ còn Ba mình thôi, nhưng ông bà không phân biệt trai hay gái đâu
 
Hehe mình chưa, cái này chỉ dành cho mấy ông có vợ rồi, còn những người chưa có thì có thể xem qua sơ sơ............cho vui nhé!
 
Lập trình

bác viết rất hay

Đây chỉ bàn về lập trình , còn trai hay gái thì cứ để tự nhiên , chờ mãi mà chăng thấy bác nói tiếp như bác đã hứa từ đầu , mình yêu LT thích những đột phá trong lĩnh vực nay
 
tuyệt nhỉ! nếu mà sinh con gái thì không biết đổ thừa cho ai đây!
 
Cảm ơn hanhdhyd Bạn có thhể chỉ cho minh cách thay luôn Icon trên titleba của Excel (thay bằng Icon của mình giống như thay tiêu đề như trong bài của bạn chia sẻ )

Theo mình biết thì hinh như Exc không co lậnhh cho phép thay nó
Cảm ơn
 
Status
Không mở trả lời sau này.
Web KT

Bài viết mới nhất

Back
Top Bottom