Tải bản đầy đủ (.doc) (23 trang)

Xây dựng một chương trình tương tự như Microsoft Excel.doc.DOC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (173.61 KB, 23 trang )

Lời nói đầu
Ngày nay công nghệ thông tin đã và đang ngày càng một phát triển nh
vũ bão, nó đã xâm nhập vào mọi lĩnh vực nh khoa học kỹ thuật, kinh tế, chính
trị, Sản phẩm của công nghệ thông tin chủ yếu là các phần mềm ứng dụng.
Một trong những ứng dụng quan trọng nhất chính là việc ứng dụng trong quản
lý.
Phần mềm quản lý phổ biến hiện nay và đợc ứng dụng khá phổ biến
chính là Micrsoft Excel. Phần mềm này đợc tạo ra đã giúp cho ngời quản lý tổ
chức công việc một cách nhanh chóng, chính xác và có hiệu quả. Chơng trình
chủ yếu đợc sử dụng để viết nên phần mềm này chính là Visual Basic. Trên cơ
sở đã đợc học môn Lập trình hớng đối tợng với Visual Basic, tôi chọn đề tài:
Xây dựng một chơng trình tơng tự nh Microsoft Excel với các chức năng
cơ bản sau:
1. Cho phép tạo ra các bảng tính .
2. Cho phép gõ dữ liệu thuộc các dạng khác nhau.
3. Cho phép chọn th mục để in ra file mới, mở file đã có.
4. Cho phép thực hiện các phép tính số học theo hàng và cột
5. Cho phép cắt, dán dữ liệu trên bảng
6. Cho phép chọn các Font chữ khác nhau để soạn
Tuy nhiên, đây chỉ là một chơng trình mô phỏng lại MS Excel một cách
cơ bản, đơn giản nhất dựa trên những kiến thức mà tôi đã đợc học tập tại khoa
CNTT nên các thuật toán cha đợc hợp lý và cách trình bày có thể còn nhiều
thiếu sót. Vì vậy, tôi rất mong nhận đợc sự góp ý của thầy cô và các bạn để ch-
ơng trình đợc hoàn thiện hơn.
Tôi xin chân thành cảm ơn thầy giáo: GS.TS. Nguyễn Văn Xuất và thầy
giáo Nguyễn Quảng Hà đã hớng dẫn tôi làm chơng trình này.

1
Nội dung đề tàI
I. Tính cấp thiết của đề tàI
Cùng với sự phát triển mạnh mẽ của công nghệ thông tin và cùng với xự


xâm nhập nhanh chóng của tin học vào mọi lĩnh vực của đời sống xã hội
thì việc sử dụng máy tính trong công tác quản lý đã trở thành một nhu cầu
cấp bách, nó là một trong những công cụ không thể thiếu nhằm nâng cao
chất lợng và hiệu quả trong công tác quản lý.
Cái khó khi quản lý là thao tác với các loại dữ liệu khác nhau vốn rất đa
dạng cha kể tới việc tính toán, sao chép, lu trữ, điều này tạo ra khó khăn
cho những ngời lập trình, đặc biệt là lập trình với Excel một chơng trình
quản lý đã khá phổ biến từ trớc tới nay. Do vậy, việc nâng cấp chơng trình
này ngày càng phải đợc thay đổi một cách thờng xuyên hơn.
II. Mục đích của đề tàI
Bài tiểu luận môn học này phần nào đa ra một cách nhìn cơ bản khi xây
dựng một chơng trình tơng tự nh MS Excel. Chơng trình khá đơn giản với 6
chức năng cơ bản:
1. Cho phép tạo ra các bảng tính .
2. Cho phép gõ dữ liệu thuộc các dạng khác nhau (kiểu số, kiểu ký
tự, các ký hiệu đặc biệt, )
3. Cho phép chọn th mục để in ra file mới, mở file đã có.
4. Cho phép thực hiện các phép tính số học (cộng, trừ, nhân, chia)
theo hàng và cột.
5. Cho phép cắt, dán dữ liệu trên bảng
6. Cho phép chọn các Font chữ khác nhau để soạn
III. Sơ đồ thiết kế:
Thanh menu gồm có 4 mục
Menu File
Menu Edit
Menu View
Menu Help
Ngoài ra bạn có thể sử dụng thanh công cụ để điều khiển có chức năng
giống nh thanh menu.
2

IV. Các đối tợng, công cụ sử dụng:
MSHFlex Grid
Microsoft Common Dialog Control
TextBox
Command Button
Image List
Label
V. Khi Chạy chơng trình:
Trớc tiên để chạy đợc chơng trình này thì máy tính của bạn phải có
Microsoft Visual Basic 6.0.
V.1 Khi chạy chơng trình bạn có thể mở file cũ hoặc mở file mới để làm
việc
3

V.2 Ngoµi ra b¹n cã thÓ chän Font, cì ch÷ ®Ó so¹n th¶o c¸c BookSheet
nh b¹n muèn. Råi lu l¹i víi mét file
4
V.3 ViÖc tÝnh to¸n víi c¸c phÐp tÝnh sè häc còng ®îc thùc hiÖn ngay
trªn b¶ng tÝnh

5
V.4 T¬ng tù viÖc c¾t, d¸n d÷ liÖu còng vËy, ®Òu thùc hiÖn trùc tiÕp trªn
b¶ng
VI. Code ch¬ng tr×nh nguån:
FORM MDIMAIN
Private Sub Command1_Click()
If Text2.Text <> "" Then
Call Tinh(Trim(Text2.Text))
Else
MsgBox "Formula is null", vbCritical, "Warning"

End If
End Sub
Private Sub Label3_Click()
With CommonDialog1
.CancelError = True
On Error GoTo No_Font_Chosen
.Flags = 1
.ShowFont
6
If ActiveForm Is Nothing Then Exit Sub
ActiveForm.Grid1.CellFontName = .FontName
'Text2.FontName = .FontName
ActiveForm.Grid1.CellFontSize = .FontSize
'Text2.FontSize = .FontSize
ActiveForm.Grid1.CellFontBold = .FontBold
'Text2.FontBold = .FontBold
ActiveForm.Grid1.CellFontUnderline = .FontUnderline
'Text2.FontUnderline = .FontUnderline
ActiveForm.Grid1.CellFontItalic = .FontItalic
'Text2.FontItalic = .FontItalic
ActiveForm.Grid1.FontStrikethru = .FontStrikethru
On Error GoTo 0
Exit Sub
End With
No_Font_Chosen:
End Sub
Private Sub Label5_Click()
Picture4.Visible = False
mnuFormula.Checked = False
mnuPopupFormula.Checked = False

End Sub
Private Sub MDIForm_Load()
Me.WindowState = 2
Text2.Text = ""
Text3.Text = ""
ToolBar1.Height = 329
Me.Left = GetSetting(App.Title, "Settings", "MainLeft", 1000)
Me.Top = GetSetting(App.Title, "Settings", "MainTop", 1000)
Me.Width = GetSetting(App.Title, "Settings", "MainWidth", 6500)
Me.Height = GetSetting(App.Title, "Settings", "MainHeight", 6500)
LoadNewBook
End Sub
Private Sub LoadNewBook()
Static LBookCount As Long
Dim frmB As frmExcel
LBookCount = LBookCount + 1
Set frmB = New frmExcel
7
frmB.Caption = "Book" & LBookCount
frmB.Tag = LBookCount
frmB.Show
End Sub
Private Sub MDIForm_MouseDown(Button As Integer, Shift As Integer, x As
Single, y As Single)
If Button = vbRightButton Then
PopupMenu mnuFile
End If
End Sub
Private Sub MDIForm_Unload(Cancel As Integer)
If Me.WindowState <> vbMinimized Then

SaveSetting App.Title, "Settings", "MainLeft", Me.Left
SaveSetting App.Title, "Settings", "MainTop", Me.Top
SaveSetting App.Title, "Settings", "MainWidth", Me.Width
SaveSetting App.Title, "Settings", "MainHeight", Me.Height
End If
Unload frmExcel
End
End Sub
Private Sub mnuClose_Click()
Call mnuFileClose_Click
End Sub
Private Sub mnuCopy_Click()
Call mnuEditCopy_Click
End Sub
Private Sub mnuCut_Click()
Call mnuEditCut_Click
End Sub
Private Sub mnuEditFind_Click()
Find.Show
End Sub
Private Sub mnuExit_Click()
Call mnuFileExit_Click
8
End Sub
Private Sub mnuFont_Click()
Call Label3_Click
End Sub
Private Sub mnuFormula_Click()
mnuFormula.Checked = Not mnuFormula.Checked
Picture4.Visible = mnuFormula.Checked

End Sub
Private Sub mnuNew_Click()
LoadNewBook
End Sub
Private Sub mnuOpen_Click()
Call mnuFileOpen_Click
End Sub
Private Sub mnuPaste_Click()
Call mnuEditPaste_Click
End Sub
Private Sub mnuPopupFormula_Click()
mnuPopupFormula.Checked = Not mnuPopupFormula.Checked
Picture4.Visible = mnuPopupFormula.Checked
End Sub
Private Sub mnuViewStatusBar_Click()
mnuViewStatusBar.Checked = Not mnuViewStatusBar.Checked
sbStatusBar.Visible = mnuViewStatusBar.Checked
End Sub
Private Sub mnuViewToolbar_Click()
mnuViewToolbar.Checked = Not mnuViewToolbar.Checked
tbToolBar.Visible = mnuViewToolbar.Checked
End Sub
End Sub
Private Sub tbToolBar_ButtonClick(ByVal Button As MSComctlLib.Button)
If ActiveForm Is Nothing Then Exit Sub
9
On Error Resume Next
Select Case Button.Key
Case "New"
LoadNewBook

Case "Open"
mnuFileOpen_Click
Case "Save"
mnuFileSave_Click
Case "Print"
mnuFilePrint_Click
Case "Cut"
mnuEditCut_Click
Case "Copy"
mnuEditCopy_Click
Case "Paste"
mnuEditPaste_Click
Case "Bold"
ActiveForm.Grid1.CellFontBold = Not
ActiveForm.Grid1.CellFontBold
Button.Value = IIf(ActiveForm.Grid1.CellFontBold, tbrPressed,
tbrUnpressed)
Case "Italic"
ActiveForm.Grid1.CellFontItalic = Not
ActiveForm.Grid1.CellFontItalic
Button.Value = IIf(ActiveForm.Grid1.CellFontItalic, tbrPressed,
tbrUnpressed)
Case "Underline"
ActiveForm.Grid1.CellFontUnderline = Not
ActiveForm.Grid1.CellFontUnderline
Button.Value = IIf(ActiveForm.Grid1.CellFontUnderline, tbrPressed,
tbrUnpressed)
Case "Align Left"
ActiveForm.Grid1.CellAlignment = 1
Case "Center"

ActiveForm.Grid1.CellAlignment = 4
Case "Align Right"
ActiveForm.Grid1.CellAlignment = 7
Case "Sort Ascending"
'ActiveForm.Grid1.Sort = 1
Call Sort_Asc
Case "Sort Descending"
10

×