![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как определить тип данных (число текст, дата) в переменной* [D7]
jiura © (2012-01-23 16:23:00)Здравствуйте!
Есть переменная содержащая определенное значение.
Как определить тип этих значений: Дата, число (целое, дробное), текст и т.д.? Вроде как через VarType можно сделать...но что-то я не разобрался...
Anatoly Podgoretsky (2012-01-25 10:31:00) [1]
> > Любой начинающий обязан
>
> ...никому и ничего :)
Это ему ничем не обязаны, а у него много обязанностей
Dennis I. Komarov (2012-01-25 00:02:00) [2]как обычно афтар давно уже не читает пост,
зато однофамильцы появились...
Dimka Maslov (2012-01-24 23:18:00) [3]Нам ещё на первом уроке информатики аж в 1992 году рассказывали жуткую историю, про то, как из-за одной точки с запятой аппарат не долетел до цели.
antonn (2012-01-24 23:14:00) [4]про спутник или про случай с разгонной ступенью, которая постоянно отклонялась на слишком большой угол? :)
Dimka Maslov (2012-01-24 23:12:00) [5]
> неужели начинающие запускали?
Вполне могли выиграть тендер на поставку ПО программисты из ООО "Вектор", которые не знали про один случай с американским спутником. Он тоже, вроде, к Марсу летел.
antonn (2012-01-24 22:48:00) [6]
> Фобос-грунт тоже запускали с мыслью, что никому и ничего
> изучать не обязаны...
неужели начинающие запускали? :)
наверное бесплатно все делали, раз не должны и не обязаны были предоставить результат по вложенным средствам, все на энтузиазме =)
Dimka Maslov (2012-01-24 20:22:00) [7]
> ...никому и ничего :)
Фобос-грунт тоже запускали с мыслью, что никому и ничего изучать не обязаны...
Андреевич (2012-01-24 20:08:00) [8]
> Любой начинающий обязан
...никому и ничего :)
Dimka Maslov (2012-01-24 16:38:00) [9]
> более чем
Любой начинающий обязан изучить хотя бы основы предмета, а потом уже задавать вопросы, выказывающие, что он даже не утрудил себя этим.
Андреевич (2012-01-24 15:53:00) [10]
> Он не умеет.
именно
> Предполагаемая связь с пхп - не оправдание.
название конференции. более чем
Dimka Maslov (2012-01-24 13:38:00) [11]
>
> какой еще матчасти?
Той самой, которую следует изучать. Предполагаемая связь с пхп - не оправдание.
Ega23 (2012-01-24 13:08:00) [12]
> Для ПХП есть тоже самое:
Для PHP есть == и ===, чего нет одним оператором в Delphi.
Но если принять за основу, что всё в PHP суть вариант, причём саморасширяющийся (в части, например, выхода за php_max_int), то никаких проблем с переводом этого в Delphi возникнуть не должно.
Cobalt (2012-01-24 12:48:00) [13]Для ПХП есть тоже самое:
http://www.php.net/manual/en/function.is-integer.php
Ega23 (2012-01-24 12:31:00) [14]
> Есть еще ПХП... начинающий попробовавший php может ожидать
> странных вещей с точки зрения дельфиста.
Отнюдь, если учесть, что там всё суть вариант.
Ega23 (2012-01-24 12:30:00) [15]
> Так начни с себя. Не изголяйся над человеком, а ответь на
> его вопрос.
Он не умеет.
Дмитрий Комаров (2012-01-24 11:54:00) [16]
> Он хочет знать когда у него в строке число, когда дата/время
> и т.д.
хотелось бы знать для чего. подобные ситуации часто получаются от неправильной реализации.
Если все же есть необходимость хранить в одной переменной данные разных типов - лучше использовать вариант. Если данные все таки в строке - тогда TRYStrTo. Но что будете делать если в переменной хранится СТРОКА '030' и строка '30' например. В предметной области это могут быть разные значения имеющие разный смысл, а функция оба значения вернет как ЧИСЛО 30.
Так что надо смотреть для чего это делается.
Андреевич (2012-01-24 11:28:00) [17]
> Дело в начинающейся неточности вопроса, а в очередном случае
> непонимания матчасти. Возможность преобразования строки
> в число или в дату не имеют никакого отношения к VarType.
>
какой еще матчасти? не дельфи единым. Есть еще ПХП... начинающий попробовавший php может ожидать странных вещей с точки зрения дельфиста.
> OW © (24.01.12 10:56) [17]
дату наверное придется последней делать, представление ее в строковой форме и в стотысячах локалей, имхо, не меньший костыль чем однобайтные кодировки :)
OW (2012-01-24 10:56:00) [18]надо писать свою функцию
Res := 0;
if TryStrToInt -> Res := Res or 1;
if TryStrToDate -> Res := Res or 10b;
if TryStrToAother -> Res := Res or
на выходе в соответствующих битах будет сказано чем является.
Dimka Maslov (2012-01-24 09:34:00) [19]
> antonn © (23.01.12 23:17) [10]
Дело в начинающейся неточности вопроса, а в очередном случае непонимания матчасти. Возможность преобразования строки в число или в дату не имеют никакого отношения к VarType.
Плохиш (2012-01-24 02:44:00) [20]
> antonn © (23.01.12 23:17) [10]
> все ведь правильно поняли что человек хочет, но изголяются.
Так начни с себя. Не изголяйся над человеком, а ответь на его вопрос.