|
Вопрос # 5 600/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!
Почемуу меня не компилится простейший код с условием?
Компилятор стопорится на Then
Приложение: Переключить в обычный режим- procedure TForm1.FormCreate(Sender: TObject);
- begin
- if calendar1.Day:=27 and calendar1.Month:=8 and calendar1.Year:=2011
- then
- begin
-
-
-
- end;
- end;
 |
Вопрос задал: Paroonalitik (статус: Посетитель)
Вопрос отправлен: 26 августа 2011, 21:36
Состояние вопроса: открыт, ответов: 2.
|
Ответ #1. Отвечает эксперт: Толяныч
Здравствуйте, Paroonalitik!
И кто так учил операцию сравения делать ?!
:= - оператор присваивания
= - оператор сравнения
if A=B and C=D ....
а не A:=B
 |
Ответ отправил: Толяныч (статус: 4-ый класс)
Время отправки: 26 августа 2011, 21:52
Оценка за ответ: 5
Комментарий к оценке: от черт, блин... это же первый курс....в рот мне ноги. прям самому стыдно.
а веть я действительно не понимал в чем проблема)))) спасибо
|
Ответ #2. Отвечает эксперт: ANBsoft
Здравствуйте, Paroonalitik!
а если так
if (calendar1.Day=27) and (calendar1.Month=8) and (calendar1.Year=2011) then begin
label2.caption:=\'День российского кино\';
label3.Caption:=\'Опять праздник\';
label3.caption:=\'Ну и тут дата отмечается\';
end;
 |
Ответ отправил: ANBsoft (статус: Студент)
Время отправки: 26 августа 2011, 21:54
Оценка за ответ: 4
Комментарий к оценке: до этого я уже сам додумал, когда перебирал в голове основы. но спасибо
|
Мини-форум вопроса
Всего сообщений: 7; последнее сообщение — 27 августа 2011, 14:21; участников в обсуждении: 3.
|
Paroonalitik (статус: Посетитель), 26 августа 2011, 21:38 [#1]:
там еще один end; в конце, я не скопировал
|
|
min@y™ (статус: Доктор наук), 26 августа 2011, 22:34 [#2]:
Цитата (Толяныч):
if A=B and C=D .... а не A:=B
Эх, чувак... Не ожидал я от тебя такой лажи! Скобки-то где? А 5 баллов получил.
А мне, почему-то, за правильные ответы -1 ставят. Ну что за несправедливость, а?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Толяныч (статус: 4-ый класс), 27 августа 2011, 11:30 [#3]:
Да, умыл....
Ну, мой ответ не то, чтобы неправильный, а не совсем полный Просто давно не пис`ал программ ( у меня творческий отпуск ). В реале я их, конечно, ставлю, хотя на заднем плане маячит мысль : "скобки в if - это Сишный стиль". Но эта мысль неправильная : в Си в скобках все вычисляемое выражение, а здесь только по необходимости расстановки нужного порядка выполнения.
Итак, резьминиируем :
как правильно заметил min@y, выражение должно быть :
if (A=B) and (C=D) ....
Ну а за твою -1 я этому ..... тоже по ж... надавал.
"Кто вчера сказал, что вода кипит при 100гр.? Ты, Вовочка? Правильно. А 90гр., дети, - это прямой угол." (С)
|
|
min@y™ (статус: Доктор наук), 27 августа 2011, 11:40 [#4]:
Цитата (Толяныч):
а здесь только по необходимости расстановки нужного порядка выполнения.
Ты опять не прав, дружище. Без скобок компилятор такое выражение не пропустит, так как между if и then должно быть логическое выражение. Будет сообщение типа "Operator not applicable with this operand type" или что-то вроде этого, точно не помню.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Толяныч (статус: 4-ый класс), 27 августа 2011, 13:52 [#5]:
Это детали. Не придирайся к словам. Важно, что выражение будет работать. В конце концов, у меня могло быть
A,B,C,D : boolean ;
A := ......
B := ......
С := ......
.......
if A = B and C ....
Компилятор пропустит, но из-за неправильного порядка выполнения результат будет кривой.
А вообще я никогда не спорю.
|
|
min@y™ (статус: Доктор наук), 27 августа 2011, 14:00 [#6]:
Цитата (Толяныч):
Компилятор пропустит
Попробуй.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Толяныч (статус: 4-ый класс), 27 августа 2011, 14:21 [#7]:
Попробовал. Работает. Сейчас придумываю пример, как бы со скобками работало правильно, а без скобок - неправильно.
Ладно, заканчиваем. Стартертопик удовлетворен - и ладушки.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|