lazarus and Delphi
Модератор: Модераторы
Уважаемые эксперты! У меня не срабатывает конструкция:
Time := StrToFloat(Edit1.Text);
При чем компилятору не нравится именно Edit1.
В перемненых записано
var
Time : Real;
В одном источнике написано, что
StrToFloat() - Extended, в другом - Currency.
Я пробовал менять - тот же результат. Подскажите,
пожалуйста как решить эту проблему!
Time := StrToFloat(Edit1.Text);
При чем компилятору не нравится именно Edit1.
В перемненых записано
var
Time : Real;
В одном источнике написано, что
StrToFloat() - Extended, в другом - Currency.
Я пробовал менять - тот же результат. Подскажите,
пожалуйста как решить эту проблему!
GrayEddy писал(а): Real - устаревший тип, в основном применяют Currency.
Как выглядит значение Edit1.Text? Здесь,скорее всего, исключение из-за неверного типа (к примеру, запятая вместо точки - тут надо смотреть настройки региональных стандартов).
Я менял тип на Currency - тот же результат. Может есть другая функция для тех же целей: перевод строки в вещественный тип?
Дело не в функции, а в параметре. Функция StrToFloat() заложена в RTL и должна работать как часы. У меня FPC 2.0.2
Перепиши код по другому:
//Time := StrToFloat(Edit1.Text);
Time := StrToFloat("123.45");
Если не получится, то
Time := StrToFloat("123,45");
Все ли будет ОК?
Неплохо было бы упомянуть версию Lazarus. Это важно.
Кстати, как выглядит сообщение компилятора на ошибку? Фраза "При чем компилятору не нравится именно Edit1." размыточная.
Перепиши код по другому:
//Time := StrToFloat(Edit1.Text);
Time := StrToFloat("123.45");
Если не получится, то
Time := StrToFloat("123,45");
Все ли будет ОК?
Неплохо было бы упомянуть версию Lazarus. Это важно.
Кстати, как выглядит сообщение компилятора на ошибку? Фраза "При чем компилятору не нравится именно Edit1." размыточная.
-
User
-
Guest
-
Guest
GrayEddy писал(а): Дело не в функции, а в параметре. Функция StrToFloat() заложена в RTL и должна работать как часы. У меня FPC 2.0.2
Перепиши код по другому:
//Time := StrToFloat(Edit1.Text);
Time := StrToFloat("123.45");
Если не получится, то
Time := StrToFloat("123,45");
Все ли будет ОК?
Неплохо было бы упомянуть версию Lazarus. Это важно.
Кстати, как выглядит сообщение компилятора на ошибку? Фраза "При чем компилятору не нравится именно Edit1." размыточная.
Компилятор пишет:Error identifier not found "Edit1".
Большое спасибо всем! Я решил проблему.
1. Вместо Edit1 я скопировал из on-line книги Editl.
2. Нужно было прописать даже пустую процедуру Edit1 виртуальными функциями(клавиатурой).
3. Нужно вынести переменные и константы из процедуры.
Большое спасибо всем, кто пытался мне помочь!
Я намерен продолжать этот раздел ибо Lazarus большой и перспективный и есть еще много вопросов.
1. Вместо Edit1 я скопировал из on-line книги Editl.
2. Нужно было прописать даже пустую процедуру Edit1 виртуальными функциями(клавиатурой).
3. Нужно вынести переменные и константы из процедуры.
Большое спасибо всем, кто пытался мне помочь!
Я намерен продолжать этот раздел ибо Lazarus большой и перспективный и есть еще много вопросов.
SovNarKom писал(а): bara-igor
Моя что-то не понимать ничего...1. Вместо Edit1 я скопировал из on-line книги Editl.
Зачем? Дай ссылку на эту онлайн книгу.2. Нужно было прописать даже пустую процедуру Edit1 виртуальными функциями(клавиатурой).
Это как?3. Нужно вынести переменные и константы из процедуры.
Ненужно.
Код давай.
1. Если администрация сайта позволит я с удовольствием выложу имеющуюся у меня литературу на сайт с уже исправленными ошибками.
2. Говоря о конструкции Edit также как конструкция Label и конструкция TPanel, ListBox, я сказал о собственном опыте, что эти конструкции не работают, если они хотя бы в пустом виде не появятся в прогамме. А что, это делается визуально? Lazarus - визуальный язык программирования.
3. Я не открываю Америку! Я задаю имеющиеся у меня вопросы и делюсь тем, что сам понял, тем более, что по Lazarus почти нет литературы и документации. Разве форум не для этого?
1. Если администрация сайта позволит я с удовольствием выложу имеющуюся у меня литературу на сайт с уже исправленными ошибками.
Все дело только в копирайтах. А так до 1Мб можно мне прислать на почту \[EMAIL=platinum@umail.ru\]platinum@umail.ru\[/EMAIL\], в поле тема надо добавить слово 'freepascal' (защита от СПАМ, 100% работает
Если есть желание стать постоянным автором и т.п., то это к Евгению (ev). Он главный.
- Иван Шихалев
- энтузиаст
- Сообщения: 1138
- Зарегистрирован: 15.05.2006 11:26:13
- Откуда: Екатеринбург
- Контактная информация:
