Войти

Показать полную графическую версию : [решено] If...then


Miko
29-09-2010, 09:36
Здравствуйте уважаемые программисты.

У меня такая проблема:




var
Str, Send : string;
P : integer;
begin
//Str := 'ТЕКСТ';
Send := IdHTTP1.Get('http://САЙТ/');
P := Pos(Str, Send);
if P>0 then)
Application.MessageBox ('Активация прошла успешно..', 'Successfully activated', MB_OK+MB_ICONASTERISK);
sLabelFX6.Caption := 'Start Save'
else
Application.MessageBox ('Пожалуйста,активируйте копию своей программы', 'Not activated', MB_OK+MB_ICONASTERISK);
sLabelFX6.Caption := 'Stop Save'
end;


Ошибка:

Build
Checking project dependencies...
Compiling Project1.dproj (Debug configuration)
[DCC Error] Unit1.pas(87): E2029 'END' expected but 'ELSE' found
[DCC Fatal Error] Project1.dpr(5): F2063 Could not compile used unit 'Unit1.pas'

Ошибка мне ясна.
Я часто сталкиваюсь с такой ошибкой и хотел бы узнать.
Как можно по другому вывести исключение.
К примеру,мне нужно сделать проверку:

Если в едит записано правильное значение тогда
сохраняем файлы..
или
не сохраняем и сообщаем об этом пользователю.

Не первый раз я останавливаюсь на этой простой ошибке. И запомнить не могу.
Может кто посоветует чего? Ну или покажите пример.

За ранее спасибо.

CyberDaemon
29-09-2010, 10:20
if P>0 then) »
Закрывающая скобка - опечатка.
А вообще, после then может быть только один оператор. Если больше - значит нужна конструкция begin-end.
Т.е.:

If <условие> then
begin
...;
...;
...;
end
else
begin
...;
...;
...;
end;

Miko
29-09-2010, 11:08
Спасибо большое. Вы мне очень помогли.
У меня такой вопрос,в некоторых случаях нельзя использовать данную функцию.
Ну а бывает такое что нужно знать,сработала другая функция или нет.

Как быть в это случае?
Не даёт функция обратного значения,как мне сделать исключение?
Я не так давно программирую по этому многого не знаю.
В книгах конечно есть все это описание но все лучше когда человека можно расспросить.
Книга не умеет отвечать на вопросы и рассуждать.

За ранее спасибо.

CyberDaemon
29-09-2010, 19:34
Я не совсем понял, что нужно. Можно поконкретнее, или пример?




© OSzone.net 2001-2012