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

Вниз

Конвертация String[4] в Integer   Найти похожие ветки 

 
BorH   (2004-09-30 13:03) [0]

Здравствуйте.
Подскажите, как конвентировать один тип в другой. Заметьте, не перевести число 12451 в "12451", а вот так:
12451
в 16-ричной системе: 000030A3 - integer из 4 байт
Str = $00+$00+$30+$A3
Должна получиться четырёхбайтная строка, но в одно действие.
Т. е. просто блоку данных присваваем другой тип.

Помнится, раньше я делал так:

var
 Int: integer;
 Str: string;
begin
 Int:= 12451;
 Str:= String(Int);
end;

Сейчас же появляется сообщение об ошибке.

Сорри за неточную формулировку :)
Заранее благодарю.


 
DiamondShark ©   (2004-09-30 13:10) [1]

var
 S: string[4];
 R: packed record
   L: byte;
   I: integer;
 end absolute S;
begin
 R.L := 4;
 R.I := 12345;
end;


 
pasha_golub ©   (2004-09-30 13:31) [2]

DiamondShark ©   (30.09.04 13:10) [1]
Элегантно, блин...


 
Суслик ©   (2004-09-30 14:13) [3]


>  [1] DiamondShark ©   (30.09.04 13:10)

А порядок байт?
Автору обратный нужен.
Имхо.


 
pasha_golub ©   (2004-09-30 15:20) [4]

Суслик ©   (30.09.04 14:13) [3]
Я думаю, автору можно что-нибудь и самому сделать. :)


 
Суслик ©   (2004-09-30 15:22) [5]


>  [4] pasha_golub ©   (30.09.04 15:20)

я не помню, что в паскале значило string(i), где i - integer.
Но есть ощущение, что у автора противоречие в примере.

Если я прав, то решение не элегантное, а просто не верное.


 
GuAV ©   (2004-09-30 17:01) [6]

string в паскале (shortstring)

+-------+-----------+-----------+-   -+---------------+-----+----------------+
| длина | символ[1] | символ[2] | ... | символ[длина] | ... | символ[размер] |
+-------+-----------+-----------+-   -+---------------+-----+----------------+
|  0    |     1     |     2     | ...
+-------+-----------+-----------+-

string в дельфи (ansistring) -

+---------------+
|   указатель   |
+---+---+---+---+
| 0 | 1 | 2 | 3 |
+---+---+---+---+


указывает на:

+---------------+---------------+-----------+-----------+---------------+----+
| счет ссылок   |  длина        | символ[1] | символ[2] | символ[длина] | #0 |
+---+---+---+---+---+---+---+---+-----------+-----------+---------------+----+
|-8 |-7 |-6 |-5 |-4 |-3 |-2 |-1 |     0     |     1     | ...  
+---+---+---+---+---+---+---+---+-----------+-----------+-

string(integer) - для pascalевской не имеет смысла, для дельфовской - даже опасно.

используйте массив символов



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

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

Наверх




Память: 0.48 MB
Время: 0.05 c
4-1094717557
Koala
2004-09-09 12:12
2004.10.17
Атрибуты файла


1-1096362059
VasyaPupkin
2004-09-28 13:00
2004.10.17
DelphiX


4-1095323648
Alex_s
2004-09-16 12:34
2004.10.17
Реализация HOOK


3-1095653576
FasetByte
2004-09-20 08:12
2004.10.17
Grid index out of range


8-1090435878
_Dragon
2004-07-21 22:51
2004.10.17
MP3 теги