Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.11.22;
Скачать: CL | DM;

Вниз

Проверка типа данных   Найти похожие ветки 

 
8shar ©   (2009-10-06 19:35) [0]

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


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

TryStrTo...


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

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


 
Anatoly Podgoretsky ©   (2009-10-06 19:52) [3]

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

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


 
8shar ©   (2009-10-08 15:46) [4]


> 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 переименовать и прога на етом месте стопарнеться. Как мне обойти эту ошибку?


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

> TryStrTo...

Точно!


Не очень.

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


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

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


 
Amoeba ©   (2009-10-08 16:23) [7]


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

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


 
Leonid Troyanovsky ©   (2009-10-08 17:51) [8]


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

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

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

--
Regards, LVT.



Страницы: 1 вся ветка

Текущий архив: 2009.11.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
15-1253561708
Anatoly Podgoretsky
2009-09-21 23:35
2009.11.22
Если у кого есть немного свободного времени


4-1212570514
dll
2008-06-04 13:08
2009.11.22
LoadLibrary


10-1159674288
arty
2006-10-01 07:44
2009.11.22
Delphi+MathCad


2-1254843332
8shar
2009-10-06 19:35
2009.11.22
Проверка типа данных


4-1201527066
Вредитель
2008-01-28 16:31
2009.11.22
DLL и прорамма