幻方融入一个COM应用程序
概述
这个例子使用一个简单的MATLAB®文件需要一个输入并创建一个这种规模的幻方。然后构建一个COM组件使用MATLAB文件作为一个类方法。最后,例子展示了该组件的集成到一个独立的微软®Visual Basic®应用程序。应用程序接受幻方的大小作为输入,并在一个列表视图控件中显示矩阵的盒子。
请注意
视图是一个窗户®表单控件图标显示的项目列表。您可以使用一个列表视图创建一个用户界面的右窗格中Windows资源管理器。看到MSDN图书馆更多信息关于Windows表单控件。
创建MATLAB文件
首先,创建MATLAB文件mymagic.m
包含以下代码:
函数y = mymagic (x);y =魔法(x);
使用的库编译器应用程序创建和构建项目
在MATLAB编译器应用程序开放图书馆。
选择通用的COM组件作为应用程序类型。
添加
mymagic.m
导出的列表功能。mymagic.m
位于MagicDemoComp
文件夹中。单击包按钮。
创建微软Visual Basic项目
请注意
这个过程假定您正在使用微软Visual Basic6.0。
Visual Basic开始。
在新项目对话框中,选择安装>模板>其他语言>Visual Basic>Windows表单应用程序随着项目的类型,然后单击开放。这将创建一个新的Visual Basic项目空白表格。
从主菜单,选择项目>引用项目引用对话框打开。
选择magicdemo 1.0类型库从列表中可用的组件和点击好吧。
回到Visual Basic主菜单,选择项目>添加组件…打开对话框添加新项。
创建用户界面
创建项目后,添加一系列的控制空白表单创建一个表单使用以下设置。
控制类型 | 控制的名字 | 属性 | 目的 |
---|---|---|---|
|
|
标题= |
组织的控制 |
|
|
标题= |
标签幻方编辑框。 |
|
|
接受输入的幻方的大小。 |
|
|
|
标题= |
当按下时,创建一个新的幻方与当前大小。 |
|
|
网格线= LabelEdit = 视图= |
显示了幻方。 |
当表单和控制完成后,将以下代码添加到表单。这段代码引用上述控制和变量名。如果你有不同的名称的任何控制或任何变量,改变这段代码,以反映这些差异。
公共类magicvb私人sizeMatrix双“持有私人theMagic magicdemo当前矩阵大小。magicdemoclass‘魔法对象实例的私人潜艇magicvb_Load(发送者作为对象,e EventArgs)处理MyBase。负载的加载形式时,将调用此函数。“创建一个新的魔法类实例。新magicdemo On Error GoTo Handle_Error theMagic =。magicdemoclass sizeMatrix = 0退出子Handle_Error:对话框(Err.Description)结束子私人潜艇ShowMatrix (matrixMagic对象)的这个函数填充列表视图的内容“y y是假定包含一个二维数组。暗szSquare只要暗indxRow只要暗indxCol只要暗nLen只要On Error GoTo Handle_Error得到数组的大小如果IsArray (matrixMagic)然后szSquare = UBound (matrixMagic, 1)其他szSquare = 1结束如果lstMagic.Clear () lstMagic.Columns.Add (" ") cIndx = 1 szSquare lstMagic.Columns.Add(装运箱(cIndx))下lstMagic。视图=视图。细节indxRow = 1 szSquare昏暗的项新ListViewItem(装运箱(indxRow))为indxCol = 1 szSquare item.SubItems。添加(Format(matrixMagic(indxRow, indxCol))) Next lstMagic.Items.Add(item) Next Exit Sub Handle_Error: MsgBox(Err.Description) End Sub Private Sub btnCreate_Click(sender As Object, e As EventArgs) Handles btnCreate.Click 'This function is called when the Create button is pressed. 'Calls the mymagic method, and displays the magic square. Dim matrixMagic As Object If sizeMatrix <= 0 Or theMagic Is Nothing Then Exit Sub On Error GoTo Handle_Error Call theMagic.mymagic(1, matrixMagic, sizeMatrix) Call ShowMatrix(matrixMagic) Exit Sub Handle_Error: MsgBox(Err.Description) End Sub Private Sub edtSize_TextChanged(sender As Object, e As EventArgs) Handles edtSize.TextChanged 'This function is called when ever the contents of the 'Text box change. Sets the current value of Size. On Error Resume Next sizeMatrix = CDbl(edtSize.Text) If Err.Number > 0 Then sizeMatrix = 0 End If End Sub End Class
创建可执行微软Visual Basic
代码完成后,创建一个独立的可执行文件magic.exe
:
该项目通过选择重新开放文件>保存项目从主菜单。接受默认的名称主要形式和输入
magic.vbp
项目名称。返回到文件菜单。选择文件>使magic.exe创建成品。
测试应用程序
您可以运行magic.exe
可执行像任何其他程序。当主对话框打开时,在输入框中输入一个正数和点击创建。会出现一个输入大小的幻方。
的列表视图
自动控制实现滚动幻方大于4×4。