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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Строку в число 
:(
    Опции темы
supervladislav
Дата 9.10.2012, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


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

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



Подскажите можно ли с помощью данного оператора проверять является ли возвращаемый результат или переменная тем или иным типом данных.
Я имею ввиду string,integer.
PM MAIL   Вверх
supervladislav
Дата 9.10.2012, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


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

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



что-то вроде 
Код

 if lcbtd.Text is strs then

мне нужно узнать является ли результат типа стринг ,данную задачу можно решить с помощью 
оператора is
Код

lcbtd.Text

PM MAIL   Вверх
kami
Дата 9.10.2012, 23:40 (ссылка) |    (голосов:7) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

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



Дружище, выражая исключительно свое мнение и действуя в состоянии небольшого аффекта под воздействием энного количества пива, вынужден сообщить нижеследующее - ты изрядно достал как минимум по двум причинам. 
  Первая: все советы тебе отложить форум в сторону и почитать какую-нибудь книгу пропали втуне. Ибо если бы ты почитал первую главу любой книжки, то знал бы, что Delphi - язык строгой типизации и в нем фокусы типа "string = integer" не работают. И самое главное - обо всем этом заботится компилятор, который своевременно даст по рукам за подобное. Резюмируя первую причину, если поле lcbtd.Text типа string, то компилятор не даст совершить с ним ничего не-стрингового. Всякие is и as здесь излишни. Я не думаю, что ты успел добраться до RTTI, Variant-ов или работы с указателями.
  Вторая: все пожелания излагать задачу, которую нужно решить, а не странным образом изложенный непонятный кусок из нее, опять-таки канули в Лету. Интересно, кто на этот раз возьмется решать "xyz"?

Модераторам: готов понести наказание за это высказывание, но сил молчать больше нет.
PM MAIL WWW   Вверх
Данкинг
Дата 10.10.2012, 00:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(supervladislav @  9.10.2012,  19:35 Найти цитируемый пост)
является ли возвращаемый результат или переменная тем или иным типом данных.

Возвращаемый чем?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
northener
Дата 10.10.2012, 00:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(supervladislav @  9.10.2012,  18:35 Найти цитируемый пост)
Подскажите можно ли с помощью данного оператора проверять является ли возвращаемый результат или переменная тем или иным типом данных.
Я имею ввиду string,integer. 

Нет. Оператор is работает только с классами.


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
northener
Дата 10.10.2012, 01:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(supervladislav @  9.10.2012,  19:44 Найти цитируемый пост)
то-то вроде 
Выделить всёкод Pascal/Delphi
1:
    
 if lcbtd.Text is strs then

мне нужно узнать является ли результат типа стринг ,данную задачу можно решить с помощью 
оператора is

Это опять не задача. Это опять "глупый" вопрос!
lcbtd.Text вседа имеет тип String.


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
supervladislav
Дата 10.10.2012, 03:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


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

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



Ой я имел ввиду текстовое поле типа Edite

Добавлено @ 03:25
northener, Это не глупый вопрос так как мне не очень понятно ,как в чётко типизированном языке проверить является ли  значение добовляемое в поле edite числовым или числовым дробным.
Я теперь понимаю ,что не через тип.
Но как регулярным выражением ,неучто в такой мощной машине как Делпхи Нет другово варианта?

Это сообщение отредактировал(а) supervladislav - 10.10.2012, 03:31
PM MAIL   Вверх
northener
Дата 10.10.2012, 03:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(supervladislav @  10.10.2012,  03:23 Найти цитируемый пост)
northener, Это не глупый вопрос так как мне не очень понятно ,как в чётко типизированном языке проверить является ли  значение добовляемое в поле edite числовым или числовым дробным.

В "чётко типизированном языке в поле Edit" всегда пишется текст! Только текст! И ничего кроме текста!


Это сообщение отредактировал(а) northener - 10.10.2012, 03:35


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
supervladislav
Дата 10.10.2012, 03:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


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

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



northener, а если данные этого поля  будут складываться или вычитаться?
PM MAIL   Вверх
MetalFan
Дата 10.10.2012, 07:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


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

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



supervladislav, почитайте, что такое строки в делфи. вычитаться строки не могут. но строку всегда можно ПОПРОБОВАТЬ перевести в число...

Это сообщение отредактировал(а) MetalFan - 10.10.2012, 07:37


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Данкинг
Дата 10.10.2012, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(supervladislav @  10.10.2012,  04:45 Найти цитируемый пост)
а если данные этого поля  будут складываться или вычитаться? 

Тогда тебе поможет одна из функций перевода, например, StrToInt.

Это сообщение отредактировал(а) Данкинг - 10.10.2012, 11:07


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Delvish
Дата 10.10.2012, 13:09 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


oO
*


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

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



Цитата(Данкинг @  10.10.2012,  12:07 Найти цитируемый пост)
Тогда тебе поможет одна из функций перевода, например, StrToInt.


и засунуть это дело в try ... except .. end; дабы видеть результат или невозможность выполнения действия

PM MAIL   Вверх
superVad
Дата 10.10.2012, 14:14 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

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



Код

Delphi syntax:

function TryStrToInt(const S: string; out Value: Integer): Boolean;


Description

TryStrToInt converts the string S, which represents an integer-type number in either decimal or hexadecimal notation, into a number, which is assigned to Value. If S does not represent a valid number, TryStrToInt returns false; otherwise TryStrToInt returns true.

PM MAIL   Вверх
Delvish
Дата 10.10.2012, 14:26 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


oO
*


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

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



ну или так smile и не используя лишних модулей можно ее же описать старой паскалевской функцией Val в своей функции
Код

function TryStrToInt(S : string; var o : Real) : boolean;
var
  t : Real;
  e : Integer;
begin
  Val(S, t, e);
  if e = 0 then 
   begin
    o := t;
    Result := True;
   end else
    Result := False;
end;


Это сообщение отредактировал(а) Delvish - 10.10.2012, 14:27
PM MAIL   Вверх
superVad
Дата 10.10.2012, 17:21 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

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



Цитата(Delvish @  10.10.2012,  13:26 Найти цитируемый пост)
ну или так  и не используя лишних модулей можно ее же описать старой паскалевской функцией Val в своей функции

Можно и машинными кодами писать smile
Но все же - TryStrToInt - это стандартная делфевая функция.
PM MAIL   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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