Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Вниз

Конвертация 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.055 c
14-1096479211
Sheng
2004-09-29 21:33
2004.10.17
Посоветуйте, что выбрать


3-1095836158
kolos_rus
2004-09-22 10:55
2004.10.17
Структура БД


4-1095162606
noname
2004-09-14 15:50
2004.10.17
Биты в структурах


8-1090432990
beatles_bntu
2004-07-21 22:03
2004.10.17
Качественная оброботка текстуры в OpenGL


3-1094180249
Новенький
2004-09-03 06:57
2004.10.17
Поиск по базе





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский