lazarus and Delphi

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Сообщение bara-igor » 01.05.2006 08:29:28

Уважаемые эксперты! У меня не срабатывает конструкция:
Time := StrToFloat(Edit1.Text);
При чем компилятору не нравится именно Edit1.
В перемненых записано
var
Time : Real;
В одном источнике написано, что
StrToFloat() - Extended, в другом - Currency.
Я пробовал менять - тот же результат. Подскажите,
пожалуйста как решить эту проблему!
bara-igor
новенький
 
Сообщения: 63
Зарегистрирован: 04.03.2006 10:09:54

Сообщение GrayEddy » 01.05.2006 10:24:20

Real - устаревший тип, в основном применяют Currency.
Как выглядит значение Edit1.Text? Здесь,скорее всего, исключение из-за неверного типа (к примеру, запятая вместо точки - тут надо смотреть настройки региональных стандартов).
GrayEddy
постоялец
 
Сообщения: 375
Зарегистрирован: 06.05.2005 09:37:56

Сообщение bara-igor » 01.05.2006 10:37:39

GrayEddy писал(а): Real - устаревший тип, в основном применяют Currency.
Как выглядит значение Edit1.Text? Здесь,скорее всего, исключение из-за неверного типа (к примеру, запятая вместо точки - тут надо смотреть настройки региональных стандартов).

Я менял тип на Currency - тот же результат. Может есть другая функция для тех же целей: перевод строки в вещественный тип?
bara-igor
новенький
 
Сообщения: 63
Зарегистрирован: 04.03.2006 10:09:54

Сообщение GrayEddy » 01.05.2006 11:22:57

Дело не в функции, а в параметре. Функция StrToFloat() заложена в RTL и должна работать как часы. У меня FPC 2.0.2
Перепиши код по другому:
//Time := StrToFloat(Edit1.Text);
Time := StrToFloat("123.45");
Если не получится, то
Time := StrToFloat("123,45");
Все ли будет ОК?
Неплохо было бы упомянуть версию Lazarus. Это важно.
Кстати, как выглядит сообщение компилятора на ошибку? Фраза "При чем компилятору не нравится именно Edit1." размыточная.
GrayEddy
постоялец
 
Сообщения: 375
Зарегистрирован: 06.05.2005 09:37:56

Сообщение User » 01.05.2006 12:28:54

А может просто не нужно использовать Time для имени переменной. Нет опыта в Lazarus, но в Паскале это имя будет наверняка проблемным.
User
 

Сообщение Guest » 01.05.2006 18:31:59

User писал(а): А может просто не нужно использовать Time для имени переменной. Нет опыта в Lazarus, но в Паскале это имя будет наверняка проблемным.

Я проверял Time не является зарезервированным словом.
Guest
 

Сообщение Guest » 01.05.2006 18:37:48

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".
Guest
 

Сообщение SovNarKom » 01.05.2006 20:14:32

Забавно, а если написать Form1.Edit1?
Короче давай код процеды.
SovNarKom
постоялец
 
Сообщения: 389
Зарегистрирован: 28.05.2005 10:37:39
Откуда: Воронеж [vrn] [36]

Сообщение bara-igor » 03.05.2006 06:37:18

Большое спасибо всем! Я решил проблему.
1. Вместо Edit1 я скопировал из on-line книги Editl.
2. Нужно было прописать даже пустую процедуру Edit1 виртуальными функциями(клавиатурой).
3. Нужно вынести переменные и константы из процедуры.
Большое спасибо всем, кто пытался мне помочь!
Я намерен продолжать этот раздел ибо Lazarus большой и перспективный и есть еще много вопросов.
bara-igor
новенький
 
Сообщения: 63
Зарегистрирован: 04.03.2006 10:09:54

Сообщение SovNarKom » 03.05.2006 15:32:46

bara-igor
Моя что-то не понимать ничего...

1. Вместо Edit1 я скопировал из on-line книги Editl.

Зачем? Дай ссылку на эту онлайн книгу.

2. Нужно было прописать даже пустую процедуру Edit1 виртуальными функциями(клавиатурой).

Это как?

3. Нужно вынести переменные и константы из процедуры.

Ненужно.


Код давай.
SovNarKom
постоялец
 
Сообщения: 389
Зарегистрирован: 28.05.2005 10:37:39
Откуда: Воронеж [vrn] [36]

Сообщение bara-igor » 09.05.2006 17:55:00

SovNarKom писал(а): bara-igor
Моя что-то не понимать ничего...

1. Вместо Edit1 я скопировал из on-line книги Editl.

Зачем? Дай ссылку на эту онлайн книгу.

2. Нужно было прописать даже пустую процедуру Edit1 виртуальными функциями(клавиатурой).

Это как?

3. Нужно вынести переменные и константы из процедуры.

Ненужно.


Код давай.

1. Если администрация сайта позволит я с удовольствием выложу имеющуюся у меня литературу на сайт с уже исправленными ошибками.
2. Говоря о конструкции Edit также как конструкция Label и конструкция TPanel, ListBox, я сказал о собственном опыте, что эти конструкции не работают, если они хотя бы в пустом виде не появятся в прогамме. А что, это делается визуально? Lazarus - визуальный язык программирования.
3. Я не открываю Америку! Я задаю имеющиеся у меня вопросы и делюсь тем, что сам понял, тем более, что по Lazarus почти нет литературы и документации. Разве форум не для этого?
bara-igor
новенький
 
Сообщения: 63
Зарегистрирован: 04.03.2006 10:09:54

Сообщение STAKANOV » 09.05.2006 18:17:34

1. Если администрация сайта позволит я с удовольствием выложу имеющуюся у меня литературу на сайт с уже исправленными ошибками.


Все дело только в копирайтах. А так до 1Мб можно мне прислать на почту \[EMAIL=platinum@umail.ru\]platinum@umail.ru\[/EMAIL\], в поле тема надо добавить слово 'freepascal' (защита от СПАМ, 100% работает :D )

Если есть желание стать постоянным автором и т.п., то это к Евгению (ev). Он главный. :D
Аватара пользователя
STAKANOV
энтузиаст
 
Сообщения: 1069
Зарегистрирован: 14.05.2006 21:26:24
Откуда: Зеленоград

Сообщение Иван Шихалев » 10.05.2006 07:09:39

сли есть желание стать постоянным автором и т.п.,

Для начала см. <a href='http://freepascal.ru/rules/text/' target='_blank'>http://freepascal.ru/rules/text/</a>
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Сообщение bara-igor » 13.05.2006 15:56:15

Иван Шихалев писал(а):
сли есть желание стать постоянным автором и т.п.,

Для начала см. <a href='http://freepascal.ru/rules/text/' target='_blank'>http://freepascal.ru/rules/text/</a>

Спасибо за публикацию! Теперь еще очень хотелось узнать Ваше мнение о ней?
bara-igor
новенький
 
Сообщения: 63
Зарегистрирован: 04.03.2006 10:09:54


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google Adsense [Bot] и гости: 46

Рейтинг@Mail.ru