![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Записи
Nic2 © (2002-12-18 21:17:00)Добрый вечер!
Люди, СРОЧНО нужно прочитать переменную типа String в запись(созданную мной):
ZAPIS=RECORD
ZVK_ID : integer;
VKP_ID_REALIZ : integer;
PNT_ID : integer;
LONG : SINGLE;
LAT : SINGLE;
NNSEC : DOUBLE
END;
КАК????????????!!!!!!!!!!!
Желательно с примером.
ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!!!!!
Nic2 (2002-12-18 22:11:00) [1]Спасибо!! Вроде работает
TTCustomDelphiMaster (2002-12-18 22:08:00) [2]type
ZAPIS=RECORD
ZVK_ID : integer;
VKP_ID_REALIZ : integer;
PNT_ID : integer;
LONG : SINGLE;
LAT : SINGLE;
NNSEC : DOUBLE;
END;
PZAPIS = ^ZAPIS;
var
z: PZapis;
s: string;
begin
s := #77#00#00#00+"1234567890123456789012345678901234567890";
z := PZAPIS(@s[1]);
ShowMessage(IntToStr(z^.ZVK_ID));
end;
Nic2 (2002-12-18 21:42:00) [3]Виноват, вместо
MyDT.vrdt
нужно читать:
ZAPIS.NNSEC
Nic2 (2002-12-18 21:41:00) [4]Написал:
p := Pointer(S);
MyDT.vrdt := PDouble(Double(S))^;
Ошибка: invalid typecast
Чего делать?
ZrenBy (2002-12-18 21:34:00) [5]Сорри, надо p := Pointer(S);
Nic2 (2002-12-18 21:30:00) [6]Кстати, если читаю из файла, то все ОК, но к сожалению нужно из переменной String...
Nic2 (2002-12-18 21:28:00) [7]Вообще, моя строка выглядит примерно так:
?/¦$??¦@
Я ее читаю на битовом уровне.
В этом примере-число типа Double(время в секундах), которое должно записаться в ZAPIS.NNSEC.
(Согласен, мудистика еще та...)
Спасибо!!!
Val (2002-12-18 21:23:00) [8]в каком виде данные в строке, пример?
ZrenBy (2002-12-18 21:23:00) [9]var p:Pointer;
p := Pointer(@S);
ZAPIS.ZVK_ID := PInteger(Integer(p))^;
ZAPIS.VKP_ID_REALIZ := PInteger(Integer(p)+4)^;
...
Я правильно понял вопрос?