Главная страница
    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.45 MB
Время: 0.035 c
14-1096199368
kaif
2004-09-26 15:49
2004.10.17
Любовь, как принцип совершенства или Ода любви


14-1096356585
undert
2004-09-28 11:29
2004.10.17
Помогите найти компоненту


1-1096887069
}|{yk
2004-10-04 14:51
2004.10.17
Как создать DataModule в консольном приложении?


14-1096051743
lipskiy
2004-09-24 22:49
2004.10.17
Посоветуйте - два UPSа или один?


14-1096038846
Krez
2004-09-24 19:14
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский