|
Проверка на ошибку
|
|||
---|---|---|---|
#18+
Всем привет. Есть форма, где пользователь пишет в поле адресное пространство (set default) Нужен фрагмент кода обработки ошибки. Как сделать так, чтобы программа при неправильном вводе Set Default не выкидывала ошибку invalid path or file name, а продолжала работать, позволяя ввести путь еще раз. Есть какая то переменная, которая хранит код ошибки? Заранее спс ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2014, 22:43 |
|
Проверка на ошибку
|
|||
---|---|---|---|
#18+
Предварительно проверяй наличие папки функцией directory() ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2014, 06:48 |
|
Проверка на ошибку
|
|||
---|---|---|---|
#18+
Для выбора папки есть GETDIR() (зачем что-то руками вводить?), а для перехвата ошибки - ON ERROR. Код ошибки возвращает ERROR(). Указанная ошибка имеет код 202. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2014, 10:41 |
|
Проверка на ошибку
|
|||
---|---|---|---|
#18+
Вот простой пример контроля правильности введенного пути, его можно встроить в любую проседуру. ContractPath = ALLTRIM(Thisform.Text1.value) && источник данных для проверки правильности ввода пути WorkCdd = SYS(5)+SYS(2003) DECLARE SHORT SetCurrentDirectory IN kernel32.dll string d DECLARE integer GetLastError IN kernel32.dll DECLARE integer SetErrorMode IN kernel32.dll integer d = SetErrorMode(0x1) pShell = CREATEOBJECT("WScript.Shell") nYesDir = SetCurrentDirectory(ContractPath) IF nYesDir = 0 MESSAGEBOX("Такой каталог не найден или у вас нет доступа.",16,"Отчеты") ELSE MESSAGEBOX("Путь к файлам отчетов указан верно.",64,"Отчеты") ENDIF CD (WorkCdd) RELEASE pShell ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2014, 11:37 |
|
|
start [/forum/topic.php?fid=41&fpage=32&tid=1582643]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 309ms |
total: | 435ms |
0 / 0 |