Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проверка типа данных [D7, XP]


8shar ©   (2009-10-06 19:35:00) 

Доброго времени суток. Хочу спросить, можно ли в Delphi проверить тип данных. Например пользователь ввел в Edit строку а мне нужно узнать принадлежит ли это строка к типу real integer byte или string. Как это сделать?


Leonid Troyanovsky   (2009-10-08 17:51:00) [1]


> 8shar ©   (08.10.09 15:46) [4]

> месте стопарнеться. Как мне обойти эту ошибку?

Можно записать в первую запись сигнатуру,
и проверять по ней.

--
Regards, LVT.


Amoeba   (2009-10-08 16:23:00) [2]


8shar ©   (08.10.09 15:46) [4]
> как мне проверить то ли там содержимое или нет? Является
> ли внутренности файла переменными заданного типа.

Никак, кроме как попытавшись прочесть его как типизированный файл.


Franzy   (2009-10-08 16:22:00) [3]

Предпочинатаю процедуру val. Она возвращает код ошибки, что позволяет узнать причину, по которой не удалось преобразовать строку к числу.


Медвежонок Пятачок   (2009-10-08 16:04:00) [4]

> TryStrTo...

Точно!


Не очень.

var v : int64;
begin
if not TryStrToInt64('9999999999999999999',v) then ShowMessage('Упс!');


8shar   (2009-10-08 15:46:00) [5]


> TryStrTo...

Точно!
Но есть вопрос еще, если я описал свои тип например как:

type
TMyType = record
a : integer;
b : array[1..10] of bool;
c : string[21];
end;

и читаю его из файла:

var
fil: file of TMyType;
per : TMyType;
begin
AssignFile(fil,'c:\data.dat');
Reset(fil);
While not (eof(fil))do
begin
 read(fil,per);
 //что то делаю с per
end;
end;

то как мне проверить то ли там содержимое или нет? Является ли внутренности файла переменными заданного типа.
Можно же mp3  файл в дат dat переименовать и прога на етом месте стопарнеться. Как мне обойти эту ошибку?


Anatoly Podgoretsky   (2009-10-06 19:52:00) [6]

> 8shar  (06.10.2009 19:35:00)  [0]

Можешь не проверять, она всегда принадлежит к типу string


Игорь Шевченко   (2009-10-06 19:51:00) [7]

TryStrTo...


Поросенок ВинниПух   (2009-10-06 19:51:00) [8]

можно не проверять.
там всегда строка


Наверх

Титульная страница Поиск, карта сайта Написать письмо