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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2010, 13:56   #1
Skorpion555
Пользователь
 
Регистрация: 28.02.2010
Сообщений: 15
Вопрос Обьясните почему тут ошибка?

Собственно есть 2 проблемы:

Цитата:
procedure TForm1.Button1Click(Sender: TObject);
Var
x,y:real;
otv:string;
begin
x:=StrtoFloat(Edit1.Text);
y:=StrtoFloat(Edit2.Text);
if (x>0) and (y>0) then otv:='I четверть';
if (x>0) and (y<0) then otv:='IV четверть';
if (x<0) and (y>0) then otv:='II четверть';
if (x<0) and (y<0) then otv:='II четверть'; - когда пишу эту строку все работает отлично


{else otv:='III четверть'; } - но когда заменяюю этой строкой, выбивает ошибку, как будто не понимает

команду "иначе" (else)



Memo1.Lines.Add('Точка А - '+otv);
Memo1.Lines.Add('А('+FloatToStr(x)+ ','+FloatToStr(y)+')');
end;



Цитата:
procedure TForm1.Button1Click(Sender: TObject);
Var k:integer;
begin
k:=StrtoInt(Edit1.text);
if k='Ianoa?aiei'
then Label1.Caption:='Au ioaaoeee i?aaeeuii' - тут тоже самое, только уже выбивает ошибку в операторе then
else Label1.Caption:='Au ioeaeenu eee ioaaoeee iaoi?ii'
end;
На иероглифы не обращайте винмания, просто русская кодировка при копировании из Delphi в блокнот не воспринимается.


Ошибку вибивает - красной строкой, когда нажимаю F9, по учебнику все правильно, препод тоже так объяснял, в чем дело не понимаю.
Skorpion555 вне форума Ответить с цитированием
Старый 06.03.2010, 14:17   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

1)
Цитата:
if (x<0) and (y<0) then otv:='II четверть'; - когда пишу эту строку все работает отлично


{else otv:='III четверть'; } - но когда заменяюю этой строкой, выбивает ошибку, как будто не понимает

команду "иначе" (else)
а текст ошибки можно???
2)
Цитата:
k:=StrtoInt(Edit1.text);
if k='Ianoa?aiei'
Вы число со строкой сравниваете! И чего вы хотите получить??
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 06.03.2010, 14:23   #3
Chudo4258
Форумчанин
 
Аватар для Chudo4258
 
Регистрация: 19.02.2009
Сообщений: 622
По умолчанию

Код:
if (x=0) and (y=0)then writeln('в нач. координат');
if (x=0) and (y<>0)then writeln('на оси Y');
if (x<>0) and (y=0)then writeln('на оси X');
if (x>0) and (y>0)then writeln('в I четверти');
if (x>0) and (y<0)then writeln('в IV четверти');
if (x<0) and (y>0)then writeln('в II четверти');
if (x<0) and (y<0)then writeln('в III четверти');
Подкорректируй для себя
Жми на весы!!!
Chudo4258 вне форума Ответить с цитированием
Старый 06.03.2010, 14:25   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,528
По умолчанию

Var k:integer;
if k='моя строка'

у вас несоответствие типов (integer и string) о чем delphi наверняка вас информировал в том сообщении об ошибке, которое вы не удосужились привести.

P.S.что бы копировать русские символы из Delphi в Блокнот(или еще куда-либо) необходимо чтобы при копировании была включена русская раскадка.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 06.03.2010, 18:17   #5
Skorpion555
Пользователь
 
Регистрация: 28.02.2010
Сообщений: 15
По умолчанию

Цитата:
Код:

if (x=0) and (y=0)then writeln('в нач. координат');
if (x=0) and (y<>0)then writeln('на оси Y');
if (x<>0) and (y=0)then writeln('на оси X');
if (x>0) and (y>0)then writeln('в I четверти');
if (x>0) and (y<0)then writeln('в IV четверти');
if (x<0) and (y>0)then writeln('в II четверти');
if (x<0) and (y<0)then writeln('в III четверти');
Подкорректируй для себя
Спасибо, даже не подумал об этом, но есть проблема, с writeln(' ') , когда использую как ты описал, прога компелируеться но при нажатии кнопки "выполнить" выбивает ошибку:



Я глянул по учебнику writeln(' ') это оператор из паскаля, я еще не изучал такого.


Цитата:
у вас несоответствие типов (integer и string) о чем delphi наверняка вас информировал в том сообщении об ошибке, которое вы не удосужились привести.
Понял свою ошибку, но не понял как ее исправить, помогите плиз, вот сама ошибка:



Цитата:
P.S.что бы копировать русские символы из Delphi в Блокнот(или еще куда-либо) необходимо чтобы при копировании была включена русская раскадка.
А вот за это спасибо, буду теперь знать.


Цитата:
а текст ошибки можно???
См. скрин чуть выше.
Skorpion555 вне форума Ответить с цитированием
Старый 07.03.2010, 21:17   #6
Skorpion555
Пользователь
 
Регистрация: 28.02.2010
Сообщений: 15
По умолчанию

Пожалуста ответьте кто-нибудь, а то забыли все...
Skorpion555 вне форума Ответить с цитированием
Старый 08.03.2010, 10:32   #7
Chudo4258
Форумчанин
 
Аватар для Chudo4258
 
Регистрация: 19.02.2009
Сообщений: 622
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
Var
x,y:real;
otv:string;
begin
x:=StrToFloat(Edit1.Text);
y:=StrToFloat(Edit2.Text);
if (x=0) and (y=0)then otv:='в нач. координат';
if (x=0) and (y<>0)then otv:='на оси Y';
if (x<>0) and (y=0)then otv:='на оси X';
if (x>0) and (y>0)then otv:='в I четверти';
if (x>0) and (y<0)then otv:='в IV четверти';
if (x<0) and (y>0)then otv:='в II четверти';
if (x<0) and (y<0)then otv:='в III четверти';
Memo1.Lines.Add('А('+FloatToStr(x)+ ', '+FloatToStr(y)+') - '+otv);
end;
Жми на весы!!!
Chudo4258 вне форума Ответить с цитированием
Старый 09.03.2010, 16:10   #8
Skorpion555
Пользователь
 
Регистрация: 28.02.2010
Сообщений: 15
По умолчанию

Chudo4258

Я так и сделал, но мне по прежднему не понятно что делать с "else" в первой задаче. А так же не понял как осуществить правильный функционал второй, скрины с ошибкой я выложил.
Skorpion555 вне форума Ответить с цитированием
Старый 09.03.2010, 16:35   #9
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
По умолчанию

Skorpion555, можно текст задачи? В первой задаче я так понял вы хотите определить в какой четерти лежит точка, а вот вторая- загадка... Да и люди правильно вам написали, что идет несоответствие типов в операторе.
"Тебе то может на меня и насрать, но твои глаза меня обожают!"

Последний раз редактировалось ImmortalAlexSan; 09.03.2010 в 16:40.
ImmortalAlexSan вне форума Ответить с цитированием
Старый 09.03.2010, 18:29   #10
Skorpion555
Пользователь
 
Регистрация: 28.02.2010
Сообщений: 15
По умолчанию

Задача состоит в том чтобы определить кто на фотографии, т.е. своего рода тест, надо ввести фамилию человека, а прога должна проверить правильно или нет.
Skorpion555 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка "не найден файл vc60.bpl" обьясните Нур C++ Builder 4 22.12.2009 23:12
Где тут ошибка? Паскалька^^ Помощь студентам 0 25.10.2009 13:54
где тут ошибка? Fogg Общие вопросы C/C++ 5 18.12.2008 09:34
Borland C++Builder почему он не складывает коды символов тут? BattleMage C++ Builder 1 29.09.2007 08:56
Обьясните почему так... malevich Общие вопросы Delphi 5 10.02.2007 17:29