Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 03.01.2010, 18:03   #1
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
Счастье Прерывание чтения кода

Как сделать так, чтобы в нужном месте дальнейшее чтение кода программой Делфи не продолжалось и закрывалась форма?
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
ImmortalAlexSan вне форума
Старый 03.01.2010, 18:06   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а что значит "читать код"?
насколько я знаю, он исполняется.

может Application.Terminate?
или Form.Hide;exit;
смотря что именно нужно, конкретнее.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 03.01.2010, 18:11   #3
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
По умолчанию

Конкретно надо, чтобы прога не выполнялась дальше и закрывалась форма.
begin
//Операторы....
//та самая строчка, после которой дальнейший код не исполняется)
//дальнейший код

Вот, что нужно

18:13

Чтобы не выполнялся код, написанный в этой форме. Вот

У нас принято пользоваться кнопочкой "Правка", дабы не плодить посты подряд, друг за другом.
Модератор
"Тебе то может на меня и насрать, но твои глаза меня обожают!"

Последний раз редактировалось mihali4; 03.01.2010 в 19:36.
ImmortalAlexSan вне форума
Старый 03.01.2010, 18:16   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
if <условие> then exit;//выходим из процедуры
если что то Form.Close закрыть форму, при закрытии основной умирает приложение.
Form.Hide спрятать.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 03.01.2010, 18:21   #5
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
По умолчанию

Вот код:
#
begin
//óäàëåíèå íåïîñëåäíåé ñòðîêè
ZQuery2.SQL.Text:='Update detals set str_id='''+IntToStr(-1)+''', izdel_id=izdel_id, detal_id=detal_id,detal_name=detal_ name,detal_kol_izd=detal_kol_izd,po kr_name=pokr_name,detal_info=detal_ info where str_id='+Form1.DBGridEh2.Columns[0].Field.AsString;
ZQuery2.ExecSQL;
Form1.DBGridEh2.DataSource.DataSet. next;
bmk:=Form1.DBGridEh2.SelectedRows.D ataSet.GetBookmark; //Ôèêñèðóåì òåêóùåå ïîëîæåíèå
ZQuery2.SQL.Text:='Delete from detals where str_id='+inttostr(-1);
ZQuery2.ExecSQL;
Form1.ZQuery2.Refresh;
//êîíåö óäàëåíèÿ
//åñëè ñòðîêà ïîñëåäíÿÿ, òî ïðîñòî óäàëÿåì åå è çàâåðøàåì ðàáîòó
If Form1.DBGridEh2.DataSource.DataSet. Eof=true then
begin
ZQuery2.SQL.Text:='Delete from detals where str_id='+Form1.DBGridEh2.Columns[0].Field.Asstring;
ZQuery2.ExecSQL;
Form1.ZQuery2.Refresh;
Form1.DBGridEh2.DataSource.DataSet. First;
Exit;
end;
//êîíåö óäàëåíèÿ
//Ïðîíóìåðîâûâàåì ñòðîêè ñ âû÷åòîì åäèíèöû èç îñíîâíîãî íîìåðà
Form1.DBGridEh2.DataSource.DataSet. DisableControls; // Çàïðåùàåìè ìåëüêàíèå ñòðîê â äàòàñåòå
cnt := 0; //ñ÷åò÷èê
//Form1.DBGridEh2.DataSource.DataSet. GotoBookmark(bmk); // ïåðåõîäèì ê ôèêñèðîâàííîé ìåòêå
try
Form1.DBGridEh2.SelectedRows.DataSe t; // Íà÷èíàåì ñ âûäåëåííîé ñòðîêè
while not Form1.DBGridEh2.DataSource.DataSet. Eof do begin; // äî êîíöà ôàéëà.
Inc(cnt); //+1 ê ñ÷åò÷èêó //+1 ê ñ÷åò÷èêó
Form1.DBGridEh2.DataSource.DataSet. Next; //ñëåäóþùàÿ çàïèñü
end;
Form1.DBGridEh2.DataSource.DataSet. GotoBookmark(bmk); //âîçâðàò ê ìåòêå
finally
//Form1.DBGridEh2.DataSource.DataSet. FreeBookmark(bmk); //îñâîáîæäàåì ïåðåìåííóþ
Form1.DBGridEh2.DataSource.DataSet. EnableControls; //âêëþ÷àåì ìèãàíèå ñòðîê
showmessage('Êîëè÷åñòâî ñòðîê='+inttostr(cnt));
end;
//êîíåö ñ÷åòà
close();
{ZQuery2.SQL.Text:='Update detals set str_id='''+IntToStr(cnt+1)+''', izdel_id=izdel_id, detal_id=detal_id,detal_name=detal_ name,detal_kol_izd=detal_kol_izd,po kr_name=pokr_name,detal_info=detal_ info where str_id='+Form1.DBGrideh2.Columns[0].Field.AsString;
ZQuery2.ExecSQL;
Form1.ZQuery2.Refresh;}
end;
#
Мне нужно написать вместо exit, то, что запретит выполнение дальнейшего кода и закроет форму, но при этом будут работать другие формы приложения

У нас принято оформлять код специальным тэгом - при помощи кнопочки "#", а не значка.
Вы не знали? Почитайте правила раздела...
Модератор
"Тебе то может на меня и насрать, но твои глаза меня обожают!"

Последний раз редактировалось mihali4; 03.01.2010 в 19:37.
ImmortalAlexSan вне форума
Старый 03.01.2010, 18:30   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

перед копированием поставьте русскую раскладку.

и для кого сделан?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 03.01.2010, 18:46   #7
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
По умолчанию

Тема закрыта. А делается это очень просто: через метку. А вы этого объяснить не смогли, а просто придераетесь к и так понятному вопросу... Пытался тэгом оформить код, вот и поставил #
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
ImmortalAlexSan вне форума
Старый 03.01.2010, 18:49   #8
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

ImmortalAlexSan, что вам не понятно было из того, как показал Пепел Феникса ? Вроде там все доступно написано...
А метки - это ну ооочень уж не удобно.
Будь проще и люди к тебе потянутся
spamer вне форума
Старый 03.01.2010, 18:50   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

метки плохой тон.
просто вы задайте вопрос нормально.

чтоб прервать исполнение кода есть exit;
есть условные операторы.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 03.01.2010, 19:02   #10
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
По умолчанию

Да ваш exit, уважаемые, в этом коде не работает!

19:05

Простите за дерзость... Из сил уже выбился с этой прогой...

У нас принято пользоваться кнопочкой "Правка", дабы не плодить посты подряд, друг за другом.
Модератор
"Тебе то может на меня и насрать, но твои глаза меня обожают!"

Последний раз редактировалось mihali4; 03.01.2010 в 19:39.
ImmortalAlexSan вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прерывание программы Василий Общие вопросы Delphi 8 11.01.2009 03:07
Свое прерывание! kamazz Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 05.12.2008 20:07
6 прерывание ленусик Фриланс 1 03.06.2008 16:22
6 прерывание ленусик Помощь студентам 5 30.05.2008 16:57