Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Узнать пренадлежит ли текс типу real в Delphi 
:(
    Опции темы
metadon
Дата 17.10.2007, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 17.10.2007

Репутация: нет
Всего: нет



Здравствуйте,
Данные вводяться через InputBox, как определить что они пренадлежат типу Real?
PM MAIL   Вверх
Alexeis
Дата 17.10.2007, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



при помощи функции Val.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
metadon
Дата 17.10.2007, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 17.10.2007

Репутация: нет
Всего: нет



Спасибо.

Она конвертирует?
А нет Boolan функции чтоб true или false возращала?
PM MAIL   Вверх
aktuba
Дата 18.10.2007, 00:37 (ссылка) |  (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 7
Всего: 38



Цитата

Она конвертирует?
А нет Boolan функции чтоб true или false возращала? 


Может тебе стоит книжки или хелп почитать?


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Alexeis
Дата 18.10.2007, 08:50 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



aktuba, это раздел для новичков, не посылай на RTFM. 
Если процедура Val возвращает 0, то это успешное преобразование, если больше 0 то в тексте есть ошибки.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
aktuba
Дата 18.10.2007, 11:47 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 7
Всего: 38



Цитата

aktuba, это раздел для новичков, не посылай на RTFM. 


Да я понимаю, но вопрос
Цитата

Она конвертирует?


я не понимаю... Получается человек даже не хочет сам узнать что делает функция, которую ему подсказали... Это же неправильно!
Извините за оффтоп...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Rodman
Дата 19.10.2007, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 1
Всего: 122



Цитата(metadon @  17.10.2007,  21:35 Найти цитируемый пост)
А нет Boolan функции чтоб true или false возращала? 

Код

function TryStrToFloat(const S: string; out Value: Extended): Boolean; overload;
function TryStrToFloat(const S: string; out Value: Double): Boolean; overload;
function TryStrToFloat(const S: string; out Value: Single): Boolean; overload;
function TryStrToFloat(const S: string; out Value: Extended; const FormatSettings: TFormatSettings): Boolean; overload;
function TryStrToFloat(const S: string; out Value: Double; const FormatSettings: TFormatSettings): Boolean; overload;
function TryStrToFloat(const S: string; out Value: Single; const FormatSettings: TFormatSettings): Boolean; overload;

PM MAIL WWW Skype GTalk YIM MSN   Вверх
metadon
Дата 21.10.2007, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 17.10.2007

Репутация: нет
Всего: нет



Мануал прочитал, просто не могу понять, если использовать разделитель запятая то Val не работает, но StrToFloat работает, а если в Val с точкой разделитель то в StrToFloat не работает с точкой.

При использовании TryStrToFloat выдаёт ошибку [Error] Unit3.pas(61): There is no overloaded version of 'TryStrToFloat' that can be called with these arguments

Что я делаю не так?

Код

function isFloat(numberString: String): Boolean;

        Var     float        : Extended;
                errorPos     : Integer;

Begin
        {SysUtils.ThousandSeparator:= ',';
        SysUtils.DecimalSeparator:= ',';
        Val(numberString, float, errorPos);}

        If errorPos = 0 Then isFloat:= True else isFloat:= False;
End;


Потом использую a1:= StrToFloat(c1);


PM MAIL   Вверх
Alexeis
Дата 21.10.2007, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



metadon, val используется только если разделитель точка.

Цитата(metadon @  21.10.2007,  01:15 Найти цитируемый пост)
При использовании TryStrToFloat выдаёт ошибку [Error] Unit3.pas(61): There is no overloaded version of 'TryStrToFloat' that can be called with these arguments


  Установи курсор на эту функцию в окне делфи и нажми F1 и проверь правильно ли передал параметры.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
metadon
Дата 21.10.2007, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 17.10.2007

Репутация: нет
Всего: нет



Спасибо всем получилось, то, что хотел


Код

function isFloat(numberString: String): Boolean;

        Var     float        : Extended;

Begin
        If TryStrToFloat(numberString, float) Then isFloat:= True else isFloat:= False;
End;

PM MAIL   Вверх
Rodman
Дата 21.10.2007, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 1
Всего: 122



Код

function isFloat(numberString: String): Boolean;
Var     floatVar        : Extended;
        errorPos     : Integer;
Begin
  If TryStrToFloat(numberString, floatVar) Then
    isFloat:= True
  else
    isFloat:= False;
End;

procedure TForm1.FormCreate(Sender: TObject);
begin
  isFloat('2,3');
end;

PM MAIL WWW Skype GTalk YIM MSN   Вверх
volvo877 (Online)
Дата 21.10.2007, 12:47 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 9
Всего: 116



Без лишних If/Else никак нельзя обойтись? TryStrToFloat же сама по себе возвращает Boolean:

Код

function isFloat(numberString: String): Boolean;
var float: Extended;
Begin
  result := TryStrToFloat(numberString, float);
End;

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0841 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.