Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Гродненский Форум
19 Июль 2025, 16:28:47
Новости, реклама:
   Главная   Новости Гродно Помощь Игры Календарь Войти Регистрация   Меню
Гродненский Форум > Компьютеры > Программирование
(Модераторы: Админ, barmalei) > Тема:

Вопрос по Delphi

Страниц  :   Вниз
  Печать  
Автор Тема: Вопрос по Delphi  (Прочитано 3563 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ТОИ-ТОИ Белсансист
Гродненец
**

Репутация: +4/-0
Offline Offline

Сообщений: 162


Я люблю Гродненский форум!

Просмотр профиля WWW
« : 03 Август 2008, 23:17:17 »

Есть ли в Delphi функция перехвата ошибок и пропуска их... (знаю что в VB есть функция on error resume next)
Записан
coolasm
Почетный гродненец
*****

Репутация: +102/-3
Offline Offline

Пол: Мужской
Сообщений: 1458


//---------//

Просмотр профиля
« Ответ #1 : 04 Август 2008, 10:42:52 »

Есть, и эта штука называется обработка исключений
http://pblog.ru/?p=89
http://www.bookresearch.ru/exceptionManagement.htm
Записан

HTTP Error 404 - File or directory not found.
_SworD_
Почетный гродненец
*****

Репутация: +79/-2
Offline Offline

Пол: Мужской
Сообщений: 1603


Все делай с умом!

Просмотр профиля WWW
« Ответ #2 : 04 Август 2008, 13:48:09 »

Глянь здесь http://forum.grodno.net/YaBB.pl?num=1217794638.
Записан
coolasm
Почетный гродненец
*****

Репутация: +102/-3
Offline Offline

Пол: Мужской
Сообщений: 1458


//---------//

Просмотр профиля
« Ответ #3 : 04 Август 2008, 14:13:59 »

Цитировать
Нет, это не оброботка исключений, это скорее пример рекурсии
Записан

HTTP Error 404 - File or directory not found.
Demik
Ты бЛондинКо - йА админ, Тибя много - йА адзын . Ты на кАпсЕ - я пАцтуЛом, щОлкну мышкой +1 :)
Кандидат в депутаты
****

Репутация: +703/-18
Offline Offline

Пол: Мужской
Сообщений: 3492


В России 2 беды,причем 1я постоянно ремонтирует 2ю

Просмотр профиля
« Ответ #4 : 05 Август 2008, 23:23:39 »

насколько я помню (давно в Делфи не работал) я так делал:

Try
  {Твой код всунь сюда}
exception
  {Сюда прога зайдет когда возникнет ошибка в коде между try и except}
  GetLastError(Переменная-номер ошибки, если надо);
  SetLastError(NoError);
end;

Вот и всего делов то Улыбка
Записан

Gloomy Fox
Гродненец
**

Репутация: +43/-0
Offline Offline

Пол: Мужской
Сообщений: 296


to live is to die

Просмотр профиля WWW
« Ответ #5 : 06 Август 2008, 11:21:18 »

Цитировать
Try
  {Твой код всунь сюда}
exception
  {Сюда прога зайдет когда возникнет ошибка в коде между try и except}
  GetLastError(Переменная-номер ошибки, если надо);
  SetLastError(NoError);
end;
Перемешал тут мухи с котлетами... Если уж использовать try...except, то и ошибки обрабатывать надо средствами языка а не Win32. Т.е. получается что-то вроде:
try
  {some code}
except
  on E: Exception do
    ShowMessage(E.ClassName+' raised exception: '+E.Message);
end;
« Последнее редактирование: 06 Август 2008, 11:25:55 от GlFox » Записан
stan
Гость


Email
« Ответ #6 : 06 Август 2008, 18:18:53 »

Хм... А юзать гугл не судьба? Вообще если вопросы такого уровня задаешь, то тебе сюда, ИМХО идеальный сайт по делфи. Вот развернутый ответ на твой вопрос.
« Последнее редактирование: 06 Август 2008, 18:23:03 от stan » Записан
_SworD_
Почетный гродненец
*****

Репутация: +79/-2
Offline Offline

Пол: Мужской
Сообщений: 1603


Все делай с умом!

Просмотр профиля WWW
« Ответ #7 : 06 Август 2008, 18:43:20 »

to GlFox

Exception, например при работе с БД, не очень помогает, т.к. не полность есть реализация. Было время я его наверно весь перерыл (класс). Это я к тому, что без on E: Exception do можно иногда и обойтись. А иногда просто выбора нет тоon E: Exception do автоматически не расматривается.
Записан
Demik
Ты бЛондинКо - йА админ, Тибя много - йА адзын . Ты на кАпсЕ - я пАцтуЛом, щОлкну мышкой +1 :)
Кандидат в депутаты
****

Репутация: +703/-18
Offline Offline

Пол: Мужской
Сообщений: 3492


В России 2 беды,причем 1я постоянно ремонтирует 2ю

Просмотр профиля
« Ответ #8 : 06 Август 2008, 19:55:09 »

Цитировать
Цитировать
Try
  {Твой код всунь сюда}
exception
  {Сюда прога зайдет когда возникнет ошибка в коде между try и except}
  GetLastError(Переменная-номер ошибки, если надо);
  SetLastError(NoError);
end;
Перемешал тут мухи с котлетами... Если уж использовать try...except, то и ошибки обрабатывать надо средствами языка а не Win32. Т.е. получается что-то вроде:
try
  {some code}
except
  on E: Exception do
    ShowMessage(E.ClassName+' raised exception: '+E.Message);
end;

я не перемешал мухи и котлеты. Вопрос не стоит об обработке исключений. человеку нужно пропуститьь ошибку, если она возникла. Чем конструкция плохая? А те знакома ситуация когда вылетела ошибка в проекте, а в исключении написано "No error"?
Записан

Gloomy Fox
Гродненец
**

Репутация: +43/-0
Offline Offline

Пол: Мужской
Сообщений: 296


to live is to die

Просмотр профиля WWW
« Ответ #9 : 07 Август 2008, 12:07:08 »

Цитировать
Exception, например при работе с БД, не очень помогает, т.к. не полность есть реализация. Было время я его наверно весь перерыл (класс). Это я к тому, что без on E: Exception do можно иногда и обойтись. А иногда просто выбора нет тоon E: Exception do автоматически не расматривается.
Не совсем понял мысль, но как-нибудь отвечу. Если мне надо было отслеживать именно ошибки при работе с БД то я писал так:
try
  {some DB operations}
except
  on E: EIBError do sErrMsg:=E.Message;
end;
Как видно, здесь просто выщемляются эксцепшены от IBX, а на остальные плевать. Имеет смысл иногда отлавливать ошибки конкретного типа, чтобы внятно известить юзера, чего случилось, или записать в лог.

Цитировать
я не перемешал мухи и котлеты. Вопрос не стоит об обработке исключений. человеку нужно пропуститьь ошибку, если она возникла. Чем конструкция плохая? А те знакома ситуация когда вылетела ошибка в проекте, а в исключении написано "No error"?
Если ему плевать, что там за ошибка, то его может устроить и блок try...finally, а если уж смотреть, что за исключение, то функции GetLastError() SetLastError() мало чем помогут, поскольку они относятся к Win32 API и нифига толкового не покажут, если исключение возникло в компоненте по причинам не зависящим от операционки (типа "index out if bounds" или "not valid какое-то value"). Т.е. я имел ввиду, что использование этих функций может иметь смысл только при отлове ошибок во время работы с Win API.
Записан
agent007
Гость
« Ответ #10 : 08 Сентябрь 2008, 19:53:57 »

Как реализовать такую чтуку: Есть edit1 и button1, так вот надо(делфи 6) чтобы при нажатии копки прога проверяла совпадает ли пароль, если да, то уже на другую форму... а если нет выход и всё!!?
Записан
agent007
Гость
« Ответ #11 : 10 Сентябрь 2008, 14:52:18 »

Может наконец кто-нибудь поможет? Подмигивающий
Записан
VooDoo
Почетный гродненец
*****

Репутация: +89/-1
Offline Offline

Пол: Мужской
Сообщений: 2885


Dum spiro spero

Просмотр профиля WWW Email
« Ответ #12 : 10 Сентябрь 2008, 15:14:41 »

так а в чём проблема? тебе код нужен или объяснить как делать?
Записан

Are you human? - My body is.
Do you feel pain? - My body does.
..- --- --- -.. --- ---
agent007
Гость
« Ответ #13 : 10 Сентябрь 2008, 19:33:30 »

так а в чём проблема? тебе код нужен или объяснить как делать?
Лучше код, просто алгоритм я знаю, а как реализовать в delphi (6, тому что для 7 есть в сети урок)
Записан
_SworD_
Почетный гродненец
*****

Репутация: +79/-2
Offline Offline

Пол: Мужской
Сообщений: 1603


Все делай с умом!

Просмотр профиля WWW
« Ответ #14 : 10 Сентябрь 2008, 21:51:34 »

так а в чём проблема? тебе код нужен или объяснить как делать?
Лучше код, просто алгоритм я знаю, а как реализовать в delphi (6, тому что для 7 есть в сети урок)

Чето не понял я вопроса. Че код перенести не можешь?
Записан
agent007
Гость
« Ответ #15 : 10 Сентябрь 2008, 23:12:25 »


Какой код? Чета не видел я где это написано как решить мою задачу без Password Dialog?
« Последнее редактирование: 10 Сентябрь 2008, 23:14:35 от АгенТ007 » Записан
VooDoo
Почетный гродненец
*****

Репутация: +89/-1
Offline Offline

Пол: Мужской
Сообщений: 2885


Dum spiro spero

Просмотр профиля WWW Email
« Ответ #16 : 11 Сентябрь 2008, 00:21:41 »

блин... вообще нифига не понял... какой едит, какой пассворд диалог...
чуваг, можешь нормально описать, что тебе надо сделать?
Записан

Are you human? - My body is.
Do you feel pain? - My body does.
..- --- --- -.. --- ---
agent007
Гость
« Ответ #17 : 11 Сентябрь 2008, 16:16:57 »

блин... вообще нифига не понял... какой едит, какой пассворд диалог...
чуваг, можешь нормально описать, что тебе надо сделать?

Я так понимаю что вы нифига не поняли, а ведь я задал вопрос не смотря на название темы(дабы не создовать новую тему форума) А нужен мне код чтобы при нажатии копки прога проверяла совпадает ли пароль в текстовом поле и если совпадает то на другую форму!


* helllp.jpg (37,52 Кб, 413x206 - просмотрено 173 раз.)
« Последнее редактирование: 11 Сентябрь 2008, 16:56:43 от АгенТ007 » Записан
coolasm
Почетный гродненец
*****

Репутация: +102/-3
Offline Offline

Пол: Мужской
Сообщений: 1458


//---------//

Просмотр профиля
« Ответ #18 : 11 Сентябрь 2008, 17:13:14 »

If (Edit1.Text=password) OpenForm(); else Form1.Close();
Записан

HTTP Error 404 - File or directory not found.
VooDoo
Почетный гродненец
*****

Репутация: +89/-1
Offline Offline

Пол: Мужской
Сообщений: 2885


Dum spiro spero

Просмотр профиля WWW Email
« Ответ #19 : 11 Сентябрь 2008, 17:54:41 »

* VooDoo офигевает
Записан

Are you human? - My body is.
Do you feel pain? - My body does.
..- --- --- -.. --- ---
agent007
Гость
« Ответ #20 : 11 Сентябрь 2008, 21:50:39 »

Кароче всем спастба, но я сам разобрался ( а не получалось из-за кавычек)
Записан
RILLey_ELf
Гость
« Ответ #21 : 15 Сентябрь 2008, 09:08:27 »

мозг разорван
Записан
coolasm
Почетный гродненец
*****

Репутация: +102/-3
Offline Offline

Пол: Мужской
Сообщений: 1458


//---------//

Просмотр профиля
« Ответ #22 : 15 Сентябрь 2008, 16:52:13 »

АгенТ007, поделись исходником, возможно у когонить тоже такие проблемы возникнут
Записан

HTTP Error 404 - File or directory not found.
VooDoo
Почетный гродненец
*****

Репутация: +89/-1
Offline Offline

Пол: Мужской
Сообщений: 2885


Dum spiro spero

Просмотр профиля WWW Email
« Ответ #23 : 15 Сентябрь 2008, 16:57:13 »

сомневаюсь
Записан

Are you human? - My body is.
Do you feel pain? - My body does.
..- --- --- -.. --- ---
agent007
Гость
« Ответ #24 : 15 Сентябрь 2008, 18:53:34 »

АгенТ007, поделись исходником, возможно у когонить тоже такие проблемы возникнут
А чё тут писать, очень похоже на исходник от collasm:

  if edit1.Text='1234' then form3.show else form4.show;
Записан
coolasm
Почетный гродненец
*****

Репутация: +102/-3
Offline Offline

Пол: Мужской
Сообщений: 1458


//---------//

Просмотр профиля
« Ответ #25 : 15 Сентябрь 2008, 18:59:55 »

А чего пароль не зашифрован?
Записан

HTTP Error 404 - File or directory not found.
iddqd
Лёдчег
Почетный гродненец
*****

Репутация: +170/-10
Offline Offline

Пол: Мужской
Сообщений: 2275


Не уйдешь!

Просмотр профиля
« Ответ #26 : 16 Сентябрь 2008, 02:07:37 »

патамучто зашить пароль тупо в экзэшнике равнасильно сказать иво сразу фсем  Смеющийся
Записан
Страниц  :   Вверх
  Печать  
 
Перейти в:  

Войти
Войдите, чтобы добавить комментарий

Войдите через социальную сеть

Имя пользователя:
Пароль:
Продолжительность сессии (в минутах):
Запомнить:
Забыли пароль?

Контакт
Powered by MySQL Powered by PHP Мобильная версия
Powered by SMF 1.1.20
SMF © 2006-2025, Simple Machines
Simple Audio Video Embedder
| Sitemap
Valid XHTML 1.0! Valid CSS!
Страница сгенерирована за 0,187 секунд. Запросов: 20.