Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.20;
Скачать: CL | DM;

Вниз

Как сделать компьютерный экзамен на Delphi 6.0   Найти похожие ветки 

 
Игорь   (2004-06-03 20:10) [0]

Я сделал программу на Delphi 6.0. Для сдачи экзамена на компьютере. Но встала проблема. При вводе результата в Edit возникает ошибка(так как результаты дробные, например: 2,24). Как мне спавиться с этой бедой?


 
Vlad ©   (2004-06-03 20:28) [1]


> Игорь   (03.06.04 20:10)  


> возникает ошибка

Какая ? Небось к Integer пытаешься преобразовать ?


 
Подкрадуха ©   (2004-06-03 20:54) [2]

Глупый совет, но своевременный...
Юзай типа Variant.
Людей мало, время овета не критично, преобразование свободное (в рамках доступного, ессно).


 
TUser ©   (2004-06-03 21:05) [3]


> Я сделал программу на Delphi 6.0. Для сдачи экзамена на
> компьютере. Но встала проблема. При вводе результата в Edit
> возникает ошибка(так как результаты дробные, например: 2,24).
> Как мне спавиться с этой бедой?

Это один из самых "понятных" вопросов, которые я читал. Пржде всего - пользователь сдает экзамен или прогу ты написал, чтобы экзамен сдать? Как в Edit может вводиться результат - в моих прогах, например, туда вводятся исходные данные. Если уж ты решил результат выводить через Edit1.Text:="...", то какая нафиг разница будет это "2,24", "1024" или "полная_карацупа". Или может у тебя есть переменная (double/single), а ты хочешь ее значение в эдит написать. Скажи, что надо - преобразовать float value to the string или округлить их до целого? Или еще чего-то? Или я после пива мозгой не ворочаю?


 
Vlad ©   (2004-06-03 21:08) [4]

Еще раз попробовал включить свой телепатический модуль...
Возможно товарищ и пытаеся как раз преобразовать строку в Float, да только DecimalSeparator не тот установлен, тут и будет ошибка.
Хотя что гадать...


 
YurikGL ©   (2004-06-03 21:19) [5]


> Как в Edit может вводиться результат - в моих прогах, например,
> туда вводятся исходные данные.


В StaticText написано задание "Решите задачу. В озеро упала ветка. Пробегавший мимо олень заметил, что.... Полученный результат введите в Edit чуть ниже"


 
Подкрадуха ©   (2004-06-03 21:56) [6]

Вот не знаю...
Учился я давно в ТУСУР (Томский Государственный Универ Систем Управления и Радиоэлектроники)...
Так там наверное моя курсовая (программа для зачета по С++) наверное еще сохранилась. Хотя писал эту программу на делфи.
Я просто файнридером осканил вопросы и забил ответы на радиобатоны. Главное, побольше вариантов.
А по поводу преобразования... Что-бы не заморачиваться чего там выводить в Edit1.Text, используй это:
var
 v: Variant;
begin
 v := InputData();
 Edit1.Text := v;
end;

...А лучше, забей варианты ответов, чтобы не писать алгоритм проверки ответа, что сложнее...


 
nikkie ©   (2004-06-03 22:21) [7]

...А лучше, забей варианты ответов, чтобы не писать алгоритм проверки ответа, что сложнее...
LOL :))
а еще лучше забить на эту программу. бо сложная она очень :))


 
Подкрадуха ©   (2004-06-03 22:57) [8]

[7]
не издевайся, жестоко так =)


 
lyeh ©   (2004-06-04 00:31) [9]

Если данные дробные, то из TEdit получай их в переменную типа Float функцией StrToFloat:

var tmp: float;
tmp:=strtofloat(edit1.text);

а если наоборот, то и название функции наоборот :)
edit1.text:=floattostr(tmp);

Только там еще нужно указывать формат вывода числа в строку, читай о нем в Help - F1 нажми над floattostr :)


 
KilkennyCat ©   (2004-06-04 01:14) [10]

А можно про оленя, озеро и ветку продолжить? Заинтересовало, как там 2,24 получается...


 
lyeh ©   (2004-06-04 01:51) [11]

А DecimalSeparator вроде бы не причем, если региональные настройки Windows русские, то запятая. Поправлюсь: в сообщении [9] конечно же, надо не var tmp: float;, а var tmp: single (или double);


 
Palladin ©   (2004-06-04 02:25) [12]


> Я сделал программу на Delphi 6.0.

вот именно, сделал... это тебе не Lego... прежде чем тесты для других писать неплохо бы самому подучиться...


 
lyeh ©   (2004-06-04 02:28) [13]


> вот именно, сделал... это тебе не Lego... прежде чем тесты
> для других писать неплохо бы самому подучиться...

Верно!


 
Immortal_Death ©   (2004-06-04 05:11) [14]

Подкрадуха ©
вообще-то TVariant медленный, и если нет острой необходимости...


 
Immortal_Death ©   (2004-06-04 05:11) [15]

Подкрадуха ©
вообще-то TVariant медленный, и если нет острой необходимости...


 
Immortal_Death ©   (2004-06-04 06:37) [16]

дурной инстинкт T полставлять :)


 
KSergey ©   (2004-06-04 08:59) [17]

Эта, а код проблемный глянуть можно? У меня никогда при вводе в Edit проблем не возникало... Да хоть и 2,24 - легко! Эдиту всяко по барабану... (типа я не понимаю в чем проблема; впрочем телепатировали уже многие, но, похоже, не очень успешно ;)


 
Gennadiy   (2004-06-04 12:25) [18]

Надо делать что-то типа этого
var
b:Currency //можно использовать финансовую переменную
begin
b:=StrToFloat(Edit1.Text)
end;



Страницы: 1 вся ветка

Текущий архив: 2004.06.20;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.032 c
6-1083222482
IncubuS
2004-04-29 11:08
2004.06.20
Проблемы с получение hmtl страницы


3-1085564877
Reostat
2004-05-26 13:47
2004.06.20
Настройка подключения к базе находящейся на другой машине


14-1086414021
Kolyan
2004-06-05 09:40
2004.06.20
Адрес книжного


3-1085536542
Feo
2004-05-26 05:55
2004.06.20
Компоненты на DBCtrlGrid


1-1086540464
AndersoNRules
2004-06-06 20:47
2004.06.20
Peregon typedef ---> record