问答题


从下列3道试题(试题5至试题7)中任选1道解答。如果解答的试题数超过1道,则题号小的1道解答有效。
阅读以下应用说明及Visual Basic程序代码,根据要求回答问题1至问题4。
[说明]
某文件管理系统的图片浏览器如图3-19所示。运行程序时,用户只要通过驱动器列表框、目录列表框和文件列表框,选择文本文件所在的驱动器、文件夹及相应的文件名后,在图像框中将显示出相应的文件图像。
在开发过程中,假设驱动器列表框名为drvFile,目录列表框名为 dirFile,文件列表框名为filFile,选择文件类型组合框名为cboFile,图像框名为IMG onClick=over(this) title=放大Show。


图3-19 图片浏览器
[Visual Basic程序]
Private Sub Form_Load ()
IMG onClick=over(this) title=放大Show.Stretch=True
cboFile.Addltem "位图文件(*.bmp)"
cboFile.Addltem "图标文件(*.ico)"
cboFile.Addltem "图元文件(*.wmf)"
cboFile.Addltem "JPEG文件(*.jpg)"
cboFile.Addltem "GIF文件(*.gif)"
cboFile.ListIndex = 0
(1)
End Sub
Private Sub drvFile_Change ()
(2)
End Sub
Private Sub dirFile_Change ()
(3)
End Sub
Private Sub cboFile_Click ()
(4)
Case 0
filFile. Pattern= "*.bmp"
Case 1
filFile. Pattern= "*.ico"
Case 2
filFile. Pattern= "*.wmf"
Case 3
filFile. Pattern= "*.jpg.
Case 4
filFile. Pattern= "*.gif"
End Select
End Sub
Private Sub filFile_Click()
If (5) Then
IMG onClick=over(this) title=放大Show. Picture= LoadPieture(filFile. Path+ filFile.FileName)
Else
IMG onClick=over(this) title=放大Show. Picture= LoadPicture( (6) + "\" + (7) )
End If
End Sub
[问题1]
请根据[说明]和图3-19的显示结果,从以下备选答案中为程序(1)~(7)空缺处选择正确的答案。
[备选答案]
A. filFile.path B. dirFile.Path=drvFile.Drive
C.Right(filFile.Path,1) = "\" D.filFile.Pattern ="*.bmp"
E.filFile.Path = dirFile.Path F.filFile.FileName
G.Select Case cboFile.ListIndex

【参考答案】

在Visual Basic应用程序中显示磁盘驱动器、目录和文件的有关信息(如设计资源管理器),除了使用对话框外,VB提供......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
热门 试题

问答题
[说明]以下[C程序]所完成的功能是在3X3方格中填入数字1~N(N≥10)内的某9个互不相同的整数,使所有相邻两个方格内的两个整数之和为质数。系统输出满足该要求的所有填法。系统的部分输出结果如图3-18所示。图3-18 系统的部分输出结果3×3方格从第1行左上角方格开始的序号分别为0、1、2,第2行左边方格开始的序号分别为3、4、 5,第3行左下角方格开始的序号分别为6、7、8。以下[C程序]采用试探法,即从序号为0的方格(左上角)开始,为当前方格寻找一个合理的可填整数,并在当前位置正确填入后,为下一方格寻找可填入的合理整数。如不能为当前方格寻找一个合理的可填整数,就要后退到前一方格,调整前一方格的整数。直至序号为8的方格(右下角)也填入合理的整数时,就找到了一个解,将该解输出,并调整序号为8的方格所填的整数,继续去找下一个解。为了检查当前方格的填入整数的合理性,C程序引入二维数组checkMatrix,用于存放需要进行合理性检查的相邻方格的序号。[C程序]#include <stdio.h>#define N 12int a [9]; * 用于存储方格所填入的整数 * int b[N+1];int pos;checkMatrix[][3] = {{-1},{0,-1},{1,-1},{0,-1},{1,3,-1},{2,4,-1},{3,-1} {4,6,-1}, 5,7,-1}};void write(int a[]){ int i, j;for ( i = 0; i < 3; i++)for ( j = 0; j < 3; j++)printf( %3d ,a[3*i+j]);printf( n );}}int isPrime(int m){ int i;if (m == 2)return 1;if (m == 1 || m % 2 == 0)return 0;for (i = 3; i * i <= m; ){ if (m % i == O)return 0;i+ =2;}return 1;}int selectNum(int start){ int j;for (j = start; j <= N; j++)if (b[j])return j;return 0;}int check ( ) * 检查填入pos位置的整数是否合理 * { int i, j;for (i = 0; (j = (1) ) >= 0; i++)if (!isPrime(a[pos] + a[j]))(2) ;(3) ;}extend () * 为下一方格找一个尚未使用过的整数 * { a[ (4) ] = selectNum(1);b[a[pos]] = 0;}void change() * 为当前方格找下一个尚未使用过的整数(找不到回溯) * { int j;while (pos >= 0 && (j = selectNum( (5) )) == 0(6) ;if (pos < 0)return;b[a[pos]] = 1;a[pos] = j;b[j] = 0;}find ( ){ int ok = 1;pos = 0; a[pos] = 1; b[a[pos]] = 0;de {if (ok)if ( (7) ) {write (a);change( );}elseextend( );elsechange( );ok = check(pos);} while (pos >=0);}main( ){ int i;for (i = 1; i <=N; i++)b[i] = 1;find( );}