![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Конвертация String[4] в Integer [D7, Win95/98, WinXP]
BorH © (2004-09-30 13:03:00)Здравствуйте.
Подскажите, как конвентировать один тип в другой. Заметьте, не перевести число 12451 в '12451', а вот так:
12451
в 16-ричной системе: 000030A3 - integer из 4 байт
Str = $00+$00+$30+$A3
Должна получиться четырёхбайтная строка, но в одно действие.
Т. е. просто блоку данных присваваем другой тип.
Помнится, раньше я делал так:
var
Int: integer;
Str: string;
begin
Int:= 12451;
Str:= String(Int);
end;
Сейчас же появляется сообщение об ошибке.
Сорри за неточную формулировку :)
Заранее благодарю.
GuAV (2004-09-30 17:01:00) [1]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евской не имеет смысла, для дельфовской - даже опасно.
используйте массив символов
Суслик (2004-09-30 15:22:00) [2]
> [4] pasha_golub © (30.09.04 15:20)
я не помню, что в паскале значило string(i), где i - integer.
Но есть ощущение, что у автора противоречие в примере.
Если я прав, то решение не элегантное, а просто не верное.
pasha_golub (2004-09-30 15:20:00) [3]Суслик © (30.09.04 14:13) [3]
Я думаю, автору можно что-нибудь и самому сделать. :)
Суслик (2004-09-30 14:13:00) [4]
> [1] DiamondShark © (30.09.04 13:10)
А порядок байт?
Автору обратный нужен.
Имхо.
pasha_golub (2004-09-30 13:31:00) [5]DiamondShark © (30.09.04 13:10) [1]
Элегантно, блин...
DiamondShark (2004-09-30 13:10:00) [6]var
S: string[4];
R: packed record
L: byte;
I: integer;
end absolute S;
begin
R.L := 4;
R.I := 12345;
end;