Форум: "Основная";
Текущий архив: 2002.12.30;
Скачать: [xml.tar.bz2];
ВнизЗаписи Найти похожие ветки
← →
Nic2 (2002-12-18 21:17) [0]Добрый вечер!
Люди, СРОЧНО нужно прочитать переменную типа String в запись(созданную мной):
ZAPIS=RECORD
ZVK_ID : integer;
VKP_ID_REALIZ : integer;
PNT_ID : integer;
LONG : SINGLE;
LAT : SINGLE;
NNSEC : DOUBLE
END;
КАК????????????!!!!!!!!!!!
Желательно с примером.
ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!!!!!
← →
Val (2002-12-18 21:23) [1]в каком виде данные в строке, пример?
← →
ZrenBy (2002-12-18 21:23) [2]var p:Pointer;
p := Pointer(@S);
ZAPIS.ZVK_ID := PInteger(Integer(p))^;
ZAPIS.VKP_ID_REALIZ := PInteger(Integer(p)+4)^;
...
Я правильно понял вопрос?
← →
Nic2 (2002-12-18 21:28) [3]Вообще, моя строка выглядит примерно так:
?/¦$??¦@
Я ее читаю на битовом уровне.
В этом примере-число типа Double(время в секундах), которое должно записаться в ZAPIS.NNSEC.
(Согласен, мудистика еще та...)
Спасибо!!!
← →
Nic2 (2002-12-18 21:30) [4]Кстати, если читаю из файла, то все ОК, но к сожалению нужно из переменной String...
← →
ZrenBy (2002-12-18 21:34) [5]Сорри, надо p := Pointer(S);
← →
Nic2 (2002-12-18 21:41) [6]Написал:
p := Pointer(S);
MyDT.vrdt := PDouble(Double(S))^;
Ошибка: invalid typecast
Чего делать?
← →
Nic2 (2002-12-18 21:42) [7]Виноват, вместо
MyDT.vrdt
нужно читать:
ZAPIS.NNSEC
← →
TTCustomDelphiMaster (2002-12-18 22:08) [8]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 22:11) [9]Спасибо!! Вроде работает
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.12.30;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c