vb关于commondialog的各种问题

每次遇到vb作业都各种无能,只能各种求助,不要嫌弃我问题多问题1.在没有选择文件的时候,怎么写才能出现msgbox“错误,请选择文件”。只有当选择了文件后,才可以开始处理... 每次遇到vb作业都各种无能,只能各种求助,不要嫌弃我问题多
问题1.在没有选择文件的时候,怎么写才能出现msgbox “错误,请选择文件”。只有当选择了文件后,才可以开始处理数据
问题2.在选择了文件后,点击优秀名单按钮,能够找出成绩在90以上的学生(我现在所写的运行后,出现的一列0)
问题3.点击排序后,将原始数据文件按成绩从高到低排序后保存到“D:”盘下的“sort.txt”文件中。
问题4 。有时候会显示错误 文件已打开是什么意思
以下是我写的代码,都是错,求助广大吧友
============================我是分界线==================================

Dim stu_num As Double, stu_name As Double, stu_score As Double
Dim i As Integer, total As Integer, ave As Integer, j As Integer
Dim N As Integer

Private Sub mun排序_Click() ‘不知道怎么样另存为
Dim t1 As Integer, t2 As String
Dim stuname() As Double, score() As Double
Open App.Path + "\模拟成绩.txt" For Input As #1
N = 0
Do While Not EOF(1)
N = N + 1
ReDim Preserve stuname(N), score(N)
Input #1, stuname(N), score(N) ’这里的还显示错误 输入超出文件尾%>_<%
Loop
For i = 1 To N - 1
For j = i + 1 To N
If score(i) < score(j) Then
t1 = score(i): score(i) = score(j): score(j) = t1
t2 = stuname(i): stuname(i) = stuname(j): stuname(j) = t2
End If
Next j
Next i
Open App.Path + "\sort.txt" For Output As #2
For i = 1 To N
Write #2, stuname(i), score(i)
Next i
Close
End Sub

Private Sub mun退出_Click()
End
End Sub

Private Sub mun选择文件_Click()
CommonDialog1.Filter = "文本文档(*.txt)|*.txt"
CommonDialog1.ShowOpen
End Sub

Private Sub mun优秀名单_Click()
Cls
Print "本次考试取得优秀的同学:"
Open "C:\Users\Administrator\Desktop\VB9\9-1\模拟成绩.TXT " For Input As #1
For i = 1 To N
Input #1, stu_num
Input #1, stu_name
Input #1, stu_score
If stu_score > 90 Then
Print stu_name
End If
Next i

End Sub

Private Sub mun平均成绩_Click()
Cls
If Dir(FileName) = "" Then
MsgBox "无效处理过程!请正确选择处理文件!"
Else
Open App.Path & "\模拟成绩.txt" For Input As #1
Do Until EOF(1)
Input #1, stu_num
Input #1, stu_name
Input #1, stu_score
total = total + stu_score
N = N + 1
Loop
ave = total / N
Print "平均成绩为:"; ave
Close 1
End If
End Sub
展开
 我来答
金华阿呆
2015-05-13 · TA获得超过126个赞
知道答主
回答量:184
采纳率:50%
帮助的人:96.5万
展开全部

第一个问题:CommonDialog有个FILENAME属性,是获取选择的文件名的,如果点了取消,则为空,所以里面加一句:

If CommonDialog1.FileName = "" Then

 MsgBox "请选择文件!"

End If

问题2、3:读文本文件,将相关姓名、成绩赋给数组,然后写个子过程对数组排序,排序方法很多,最常用的为冒泡法,可以再网上找到类似代码。

问题4:文件已打开的错误,表示你没有关闭该文件。


仔细看了下,有很多错误,都是常识性的,也懒得一一指出,顺便给你重新修订了一下,自己比较着看吧。已经调试通过。

Dim stu_num As Integer, stu_name() As String, stu_score() As Double
Dim i As Integer, total As Integer, ave As Integer, j As Integer
Dim N As Integer

Private Sub GetScore(TempFile As String) '获取成绩
 N = 1
 Open TempFile For Input As #1
  Do Until EOF(1)
   Line Input #1, A$  'Input #1, stu_num(N), stu_score(N)
   N = N + 1
  Loop
 Close #1
 N = N - 1: stu_num = N
 ReDim stu_name(1 To N), stu_score(1 To N)
 N = 1
 Open TempFile For Input As #1
  Do Until EOF(1)
   Input #1, stu_name(N), stu_score(N)
   N = N + 1
  Loop
 Close #1
End Sub

Private Sub mun排序_Click()
Dim t1 As Integer, t2 As String
Dim Temp_Name() As String, Temp_Score() As Double '临时变量数组
ReDim Temp_Name(1 To stu_num), Temp_Score(1 To stu_num) '临时变量数组
For i% = 1 To stu_num
 Temp_Name(i%) = stu_name(i%)
 Temp_Score(i%) = stu_score(i%)
Next i%
For i% = 1 To stu_num - 1
 For j% = i% + 1 To stu_num
  If Temp_Score(i%) < Temp_Score(j%) Then
   t1 = Temp_Score(i): Temp_Score(i) = Temp_Score(j): Temp_Score(j) = t1
   t2 = Temp_Name(i): Temp_Name(i) = Temp_Name(j): Temp_Name(j) = t2
  End If
 Next j%
Next i%
Open App.Path + "\Sort.txt" For Output As #1
 For i% = 1 To stu_num
  Write #1, Temp_Name(i%), Temp_Score(i%)
 Next i%
Close #1
End Sub

Private Sub mun退出_Click()
End
End Sub

Private Sub mun选择文件_Click()
CommonDialog1.InitDir = "D:"
CommonDialog1.Filter = "文本文档(*.txt)|*.txt"
CommonDialog1.ShowOpen
If CommonDialog1.FileName = "" Then
 MsgBox "请选择文件!"
Else
 If Dir(CommonDialog1.FileName) <> "" Then '确定文件是否真实存在
  '读取成绩文件
  Call GetScore(CommonDialog1.FileName)
 Else
  MsgBox "您选择的文件不存在,请重新选择!"
 End If
End If
End Sub

Private Sub mun优秀名单_Click()
Me.Print "本期获得优秀名单:"
For i% = 1 To stu_num
 If stu_score(i%) >= 90 Then
  Print stu_name(i%)
 End If
Next i%
End Sub
匿名用户
2015-05-14
展开全部
病情分析:
您好,近期小孩感冒一般是多为一声声刺激性咳嗽,好象喉咙痒,无痰;不分日夜,不伴随气喘或急促的呼吸。再就是伴随明显咔哒症状(泪,涕,呼吸道分泌物增多),常伴有38度以上高热,一般不易退烧,时间持续一周;高热时咳嗽伴呼吸急促,宝宝精神较差。
指导意见:
我给您点建议,夜间抬高宝宝头部:如果宝宝入睡时咳个不停,可将其头部抬高,咳嗽症状会有所缓解。头部抬高对大部分由感染引起的咳嗽是有帮助的,因为平躺时,宝宝鼻腔内的分泌物很容易流到喉咙下面,引起喉咙瘙痒,致使咳嗽在夜间加剧,而抬高头部可减少分泌物向后引流。还要经常调换睡的位置,最好是左右侧轮换着睡,有利于呼吸道分泌物的排出。咳嗽的宝宝喂奶后不要马上躺下睡觉,以防止咳嗽引起吐奶和误吸。如果出现误吸呛咳时,应立即取头低脚高位,轻拍背部,鼓励宝宝咳嗽,通过咳嗽将吸入物咳出。
祝孩子早日康复!

病情分析:
您好:根据你介绍的情况来看考虑可能是支原体感染引起的支气管炎。
指导意见:
我建议你可以让他服用阿奇霉素和氨溴索分散片,必要时到医院就诊治疗,祝你健康。

病情分析:
小儿咳嗽时间长,咳嗽较重,多咳嗽声沉闷,多是支气管炎,并且抵抗力差,体质较差,并有痰多痰咳出不畅。
指导意见:
口服效果不好可改为注射。肌肉或是静脉用药。
咳嗽时服用消炎药是要连续服几日的,不能断续服。不知道是否服用的是头孢类药。头孢类药注射会吸收利用率高,效果好,口服时药会受酸碱环境的影响而效果不理想。
同时根据情况选用止咳化痰类药。
效果不好要考虑是否支原体感染。可以拍片,咽试子培养确诊。应用阿奇或是红霉素类药物。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式