Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Ошибочки ... Добавлено: 12.08.03 22:03  

Автор вопроса:  -=sashOK=-

я пишу модную прогу  

написал обработку ошибок :

.

.

.

Exit Sub
Err1: MsgBox "Для данного урока нет рисунков.", vbCritical, "Ошибка"
End Sub

если выходит ошибка то сообщение выводится , но форма всё равно открывается...

пробовал Unload frmPic - выходит Runtime Error

помогите плиzzz   

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 shuffle



Администратор

ICQ: 201502381 

Вопросов: 15
Ответов: 737
 Профиль | | #1 Добавлено: 13.08.03 02:05
Ну ты даёшь... А сложно было привести код всей процедуры?

Ответить

Номер ответа: 2
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #2
Добавлено: 13.08.03 04:58
Ты что не понял? Он же пишет модную прогу.

Ответить

Номер ответа: 3
Автор ответа:
 -=sashOK=-



Вопросов: 10
Ответов: 19
 Профиль | | #3 Добавлено: 13.08.03 11:04

ну смотри , если это поможет :           

Public fso As New FileSystemObject
Public fiztxt As TextStream
Public fil As File
Private PicArr(15) As String
Private TxtArr(15) As String
Private frs As Byte
Option Explicit
Private Sub cmdNext_Click()
frs = frs + 1
If Not PicArr(frs) = "" Then
 Call NxtPic
Else
 frs = 1
 Call NxtPic
End If
End Sub
Private Sub cmdPrevous_Click()
If Not frs = 1 Then
 frs = frs - 1
End If
If Not PicArr(frs - 1) = "" Then
 Call NxtPic
Else
 frs = 1
 Call NxtPic
End If
End Sub
Private Sub Form_Load()
On Error GoTo Err1
Dim i As Byte
frs = 1
'инициализация
Set fil = fso.GetFile(frmRead.FilInfPth)
Set fiztxt = fil.OpenAsTextStream(ForReading)
'открытие файла
fiztxt.SkipLine
'пропуск строки
Do Until fiztxt.AtEndOfStream
Select Case i
Case 0: PicArr(0) = fiztxt.ReadLine
Case 1: PicArr(1) = fiztxt.ReadLine
Case 2: PicArr(2) = fiztxt.ReadLine
Case 3: PicArr(3) = fiztxt.ReadLine
Case 4: PicArr(4) = fiztxt.ReadLine
Case 5: PicArr(5) = fiztxt.ReadLine
Case 6: PicArr(6) = fiztxt.ReadLine
Case 7: PicArr(7) = fiztxt.ReadLine
Case 8: PicArr(8) = fiztxt.ReadLine
Case 9: PicArr(9) = fiztxt.ReadLine
Case 10: PicArr(10) = fiztxt.ReadLine
Case 11: PicArr(11) = fiztxt.ReadLine
Case 12: PicArr(12) = fiztxt.ReadLine
Case 13: PicArr(13) = fiztxt.ReadLine
Case 14: PicArr(14) = fiztxt.ReadLine
Case 15: PicArr(15) = fiztxt.ReadLine
End Select
i = i + 1
If i = 16 Then Exit Do
'предохранитель
Loop
'заполнение массива PicArr
Call SepLinePic(PicArr())
'разделение строк массива
fiztxt.SkipLine
'пропуск сторки
i = 0
'обнуление
Do Until fiztxt.AtEndOfStream
Select Case i
Case 0: TxtArr(0) = fiztxt.ReadLine
Case 1: TxtArr(1) = fiztxt.ReadLine
Case 2: TxtArr(2) = fiztxt.ReadLine
Case 3: TxtArr(3) = fiztxt.ReadLine
Case 4: TxtArr(4) = fiztxt.ReadLine
Case 5: TxtArr(5) = fiztxt.ReadLine
Case 6: TxtArr(6) = fiztxt.ReadLine
Case 7: TxtArr(7) = fiztxt.ReadLine
Case 8: TxtArr(8) = fiztxt.ReadLine
Case 9: TxtArr(9) = fiztxt.ReadLine
Case 10: TxtArr(10) = fiztxt.ReadLine
Case 11: TxtArr(11) = fiztxt.ReadLine
Case 12: TxtArr(12) = fiztxt.ReadLine
Case 13: TxtArr(13) = fiztxt.ReadLine
Case 14: TxtArr(14) = fiztxt.ReadLine
Case 15: TxtArr(15) = fiztxt.ReadLine
End Select
i = i + 1
If i = 16 Then Exit Do
'предохранитель
Loop
'заполнение массива TxtArr
Call SepLineTxt(TxtArr())
'разделение строк
If Not PicArr(0) = "" Then
 imgPic(0).Picture = LoadPicture(App.Path & PicArr(0))
 lblPic(0).Caption = TxtArr(0)
End If
'загрузка первого рисунка
If Not PicArr(1) = "" Then
 imgPic(1).Picture = LoadPicture(App.Path & PicArr(1))
 lblPic(1).Caption = TxtArr(1)
End If
'загрузка второго рисунка
Exit Sub
Err1: MsgBox "Для данного урока нет рисунков.", vbCritical, "Ошибка"
End Sub
Private Function SepLinePic(PicArr() As String)
Dim i As Byte
For i = 0 To 15
 If Not PicArr(i) = "#" Then
  PicArr(i) = Mid(PicArr(i), 2)
 Else
  PicArr(i) = ""
 End If
Next
End Function
Private Function SepLineTxt(TxtArr() As String)
Dim i As Byte
For i = 0 To 15
 If Not TxtArr(i) = "@" Then
  TxtArr(i) = Mid(TxtArr(i), 2)
 Else
  TxtArr(i) = ""
 End If
Next
End Function
Private Function NxtPic()
fraPic(0).Caption = "рис." & CStr(frs)
fraPic(1).Caption = "рис." & CStr(frs + 1)
If Not PicArr(frs - 1) = "" Then
 imgPic(0).Picture = LoadPicture(App.Path & PicArr(frs - 1))
 lblPic(0).Caption = TxtArr(frs - 1)
End If
If Not PicArr(frs) = "" Then
 imgPic(1).Picture = LoadPicture(App.Path & PicArr(frs))
 lblPic(1).Caption = TxtArr(frs)
End If
End Function

и это только один модуль

(c) copyright -=[$@$h'OK]=-   

Ответить

Номер ответа: 4
Автор ответа:
 Nio



Вопросов: 15
Ответов: 115
 Web-сайт: www.fea.nxt.ru
 Профиль | | #4
Добавлено: 13.08.03 11:21

Мдя-я.... a frmPic.hide не пробовал? 

Ответить

Номер ответа: 5
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #5 Добавлено: 13.08.03 11:50

И правда мда-а... Типа нельзя было по процедурам разбить?

Вообще, можешь попробовать повесить на Form_Initialize().

Или задай форме свойства Visible=false, а по завершении всей лабуды поставь в true, если я правильно понял, чего ты хочешь...

Ответить

Номер ответа: 6
Автор ответа:
 Иван



Администратор

ICQ: 147688925 

Вопросов: 24
Ответов: 708
 Web-сайт: www.vbnet.ru
 Профиль | | #6
Добавлено: 13.08.03 22:24

Процедура Form_Load вызывается уже после того, как дана команда на загрузку формы и отменить это уже невозможно.

Логично было бы вначале сделать проверку на ошибки, а только потом загружать форму.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам