Главная страница
    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.036 c
1-1096303053
Nkrd
2004-09-27 20:37
2004.10.17
активный richedit


1-1096919204
KiD
2004-10-04 23:46
2004.10.17
Поиск директорий по списку


14-1096469878
Gero
2004-09-29 18:57
2004.10.17
Протестируйте под 98/Me/2000


3-1095675680
serg_newone
2004-09-20 14:21
2004.10.17
Блокирование логина после троекратного неправильного ввода парол


1-1096551783
kukuikar
2004-09-30 17:43
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский