Chương 18 MÃ HOÁ CHƯƠNG TRÌNH I. CƠ SỞ CHỌN NGÔN NGỮ, PHƯƠNG THỨC LẬP TRÌNH V ới yêu cầu bài toán đặt ra ở trên và phương hướng giải quyết bài toán cũng như cách phân tích thiết kế chương trình đã nêu, ch ọn ngôn ngữ lập trình Visual Basic 6.0 (VB6.0) . Dùng VB6 là cách nhanh và t ốt nhất để lập trình cho Microsoft Windows. Cho dù b ạn là chuyên nghiệp hay mới mẻ đối với chương trình Windows, VB6 sẽ cung cấp cho bạn một bộ công cụ hoàn chỉnh để đơn giản hóa việc triển khai lập trình ứng dụng cho MSWindows. Trong khi các ngôn ng ữ lập trình khác như Visual C++ và Visual J++ là ngôn ngữ lập trình hướng đối tượng thì VB6.0 là ngôn ng ữ lập trình có cấu trúc. Với ngôn ngữ VB6.0 ta sẽ dễ dàng pháp tri ển ứng dụng quản lý, hầu hết các giao diện đều trực quan, dễ thiết kế, chúng cho phép thiết kế các Form hay các Control một các tiện lợi, xuất và đọc tệp văn bản một cách dễ dàng. Ngoài ra, VB6.0 được Microsoft hỗ trợ mạnh trong các sản phẩm của họ như Micrsoft Excel, Microsoft Access…Thêm vào đó, phải kể đến sự hỗ trợ đồ hoạ cực mạnh của VB6.0 thông qua đối tượng hiển thị đồ hoạ VDRAW. Đây là một đối tượng hỗ trợ đồ hoạ với các phương thức và thuộc tính đơn giản, dễ hiểu … Đặc biệt hơn, nó quản lý đối tượng đồ hoạ như trong phần mềm AutoCAD của hãng Autodesk giúp cho nh ững lập trình viên khoa công nghệ thông tin trường đại học Xây Dựng c àng cảm thấy dễ dàng hơn trong việc sử dụng nó. Và cũng phải kể đến tính năng xuất sang AutoCAD của đối tượng này, đây là ưu điểm giúp cho những đối tượng đồ hoạ trong chương tr ình có thể được kết xuất sang môi trường AutoCAD, phục vụ người kỹ sư kết cấu những công việc khác mà chương trình chưa làm được , chẳng hạn như chèn ảnh, in ấn, chèn thư viện mẫu… Mặt khác, giao diện của bất kỳ một ứng dụng nào đều là một yếu tố rất quan trọng đòi hỏi người thiết kế chương trình phải có sự thiết kế hợp lý, bố cục vừa mắt và thân thiện với người sử dụng. VB 6.0 cho phép người thiết kế chương tr ình có thể tích hợp vào trong d ự án của mình những bộ công cụ khác nhau thông qua việc khai báo các thành phần OCX, giúp cho việc thiết kế giao diện chương tr ình đơn giản hơn mà mang lại hiệu quả cao hơn. Một yếu tố nữa khiến VB 6.0 được lựa chọn là ngôn ngữ viết chương tr ình vì trong quá trình thiết kế, người dùng có thể sử dụng font (phông chữ) của hệ thống hoặc của các công cụ trong VB 6.0 để hiển thị ngôn ngữ, và do đó, ngôn ngữ tiếng Việt của chúng ta cũng sẽ được áp dụng trong việc thiết kế các ứng dụng trên nền VB 6.0. Cuối cùng, ngôn ngữ VB 6.0 được lựa chọn bởi đây là ngôn ng ữ dễ đọc và dễ hiểu với các từ khoá tiếng Anh thông dụng, giúp cho quá trình tiếp thu phương thức lập trình cũng đơn giản hơn, thuận lợi hơn. Các lý do trên, tựu chung lại làm nên lý do chọn ngôn ngữ VB 6.0 làm ngôn ngữ lập trình xây dựng nên chương trình đã được định trước. II. CƠ SỞ DỮ LIỆU CỦA CHƯƠNG TRÌNH 1. Dữ liệu vào a. Vật liệu: Móng băng mà ta đang xét là móng bêtông cốt thép cho nên d ữ liệu nhập vào là nhóm thép và mác bêtông. Ứng với mỗi giá trị nhóm thép và mác bêtông ta có các cường độ của vật liệu. Do vậy, các biến lưu giữ vật liệu trong chương trình được mô tả bởi một biến bản ghi như sau: Type Kieu_thep nhom As String ‘ Tên cường độ cốt thép Ra As Single ‘ Cường độ chịu kéo Rac As Single ‘ Cường độ chịu nén End Type Type Kieu_be_tong Mac As String ‘ Tên mác bê tông Rbn As Single ‘ Cường độ chịu nén bêtông Rbk As Single ‘ Cường độ chịu kéo của bêtông Eb As Single ‘ Module đàn hồi của bêtông End Type Để chương trình có một thư viện về vật liệu như đã trình bày ở trên thì ta phải tạo một cơ sở dữ liệu lưu các giá trị đó. - Khai báo : Public bThep(0 To 5) As Kieu_thep Public bBetong(0 To 5) As Kieu_be_tong Public Sub Vatlieu() ‘ Dùng để nạp thư viện vật liệu With bBetong(0) .Mac = "200" .Rbn = 900 .Rbk = 75 .Eb = 240000 End With With bBetong(1) .Mac = "250" .Rbn = 1100 .Rbk = 88 .Eb = 265000 End With With bBetong(2) .Mac = "300" .Rbn = 1300 .Rbk = 100 .Eb = 290000 End With With bBetong(3) .Mac = "400" .Rbn = 1700 .Rbk = 120 .Eb = 330000 End With With bBetong(4) .Mac = "500" .Rbn = 2150 .Rbk = 134 .Eb = 360000 End With With bBetong(5) .Mac = "600" .Rbn = 2500 .Rbk = 145 .Eb = 380000 End With With bThep(0) .nhom = "AI" .Ra = 23000 .Rac = 18000 End With With bThep(1) .nhom = "AII" .Ra = 28000 .Rac = 22000 End With With bThep(2) .nhom = "AIII" .Ra = 36000 .Rac = 28000 End With With bThep(3) .nhom = "CI" .Ra = 20000 .Rac = 16000 End With With bThep(4) .nhom = "CII" .Ra = 26000 .Rac = 21000 End With With bThep(5) .nhom = "CIII" .Ra = 34000 .Rac = 27000 End With End Sub b. Đất nền: Vì chương trình tính toán trong nền nhiều lớp nên với bất kỳ một loại đất nào mà người dùng khai báo đều chứa các thông tin giống nhau về tên và tính chất cơ lý của đất. Do đó, khai báo một kiểu bản ghi như sau : Public Type So_lieu_dat ‘ Dữ liệu đất nền s_Ten_lop As String si_Chieuday As Single ‘ Chiều dày mỗi lớp đất si_DosauTB As Single ‘ Độ sâu trung bình si_Htren As Single ‘ Độ sâu cận trên si_Hduoi As Single ‘ Độ sâu cận dưới b_Loaidat As ‘ Loại đất s_tdat As String ‘ Tên đất s_Trangthai As String ‘ Trạng thái của đất si_Dosetdat As Single ‘ Độ sệt của si_Dungtrongdat As Single ‘ Dung trọng tự nhiên si_Dungtrongriengdat As Single‘ Dung trọng riêng si_doam As Single ‘ Độ ẩm si_gocmasat As Single ‘ Góc ma sát trong si_Xtinh As Single ‘ Kết quả xuyên tĩnh si_Xtchuan As Single ‘ Kết quả xuyên tiêu chuẩn si_LucdinhC As Single ‘ L ực dính E As Single ‘ Môđun đàn h ồi si_hesonohong As Single ‘ Hệ số nở hông si_beta As Single ‘ Hệ số điều chỉnh eo As Single ‘ Hệ số rỗng ở trạng thái tự nhiên ei(1 To 4) As Single ‘ Giá trị hệ số rỗng Pe(1 To 4) As Single si_gamadaynoi As Single ‘ Dung trọng đẩy nổi si_doanngapnc As Single ‘ Đoạn ngập nước Gamatt As Single ‘ Dung trọng tính toán Ti As Single ‘ Lực ma sát đơn vị Ri As Single ‘ Lực chống đơng vị Rtc As Single ‘ Cường độ tiêu chuẩn của đất nền si_xichmaMax As Single ‘ Các giá trị ứng suất si_xichmaMin As Single si_xichmaTB As Single si_xichmaBT As Single si_xichmaGL As Single End Type Và các biên các lớp đất trong nền công trình được khai báo là m ột mảng một chiều: Lopdat(1 To 100) As So_lieu_dat . Chương 18 MÃ HOÁ CHƯƠNG TRÌNH I. CƠ SỞ CHỌN NGÔN NGỮ, PHƯƠNG THỨC LẬP TRÌNH V ới yêu cầu bài toán đặt ra ở trên và phương hướng giải quyết bài toán cũng như cách phân tích thiết kế chương. With With bThep(5) .nhom = "CIII" .Ra = 34000 .Rac = 27000 End With End Sub b. Đất nền: Vì chương trình tính toán trong nền nhiều lớp nên với bất kỳ một loại đất nào mà người dùng khai. Module đàn hồi của bêtông End Type Để chương trình có một thư viện về vật liệu như đã trình bày ở trên thì ta phải tạo một cơ sở dữ liệu lưu các giá trị đó. - Khai báo : Public bThep(0 To 5)