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

Вниз

CharToByte or not CharToByte   Найти похожие ветки 

 
Serd_hhc   (2002-08-27 12:39) [0]

Уважаемые мастера,
У меня есть строка, а как её перевести в байтовое изображение (или как там его)?
Ну типа:
+ это 2B
0 это 30
T это 54
Заранее спасибо за ответы!


 
Skier   (2002-08-27 12:41) [1]

>Serd_hhc
Ord(..)
IntToHex(...) ?


 
serd_hhc   (2002-08-27 12:44) [2]

Но Ord("+") ничего не показывает...


 
Skier   (2002-08-27 12:45) [3]

>Serd_hhc
Sorry.
StrToInt("+")


 
Skier   (2002-08-27 12:46) [4]

>Serd_hhc
Нет. Я блин не выспался :))) Чушь !!!


 
PVOzerski   (2002-08-27 12:47) [5]

>Но Ord("+") ничего не показывает...
1) Должен показывать, это однозначно.
2) Не верите ord, делайте typecast: byte("+"). Результат будет тот же.


 
serd_hhc   (2002-08-27 12:48) [6]

А как заполнить массив из char вот этой например строчкой:
+++ATZ3, но в байтовом(или каком там) виде?


 
Skier   (2002-08-27 12:48) [7]

>serd_hhc

> Но Ord("+") ничего не показывает...


В смысле ?


 
Skier   (2002-08-27 12:50) [8]

>serd_hhc

> но в байтовом(или каком там) виде?

Имеется ввиду строковое представление
Hex-значений символов ? Или нет ?


 
serd_hhc   (2002-08-27 12:53) [9]

Нужно из строки +++ATZ0 сделать строку 2B2B2B41545A30 И ПОЛОЖИТЬ ЭТО ЗНАЧЕНИЕ В массив из char


 
serd_hhc   (2002-08-27 12:57) [10]

И что, никто не поможе?


 
MBo   (2002-08-27 12:58) [11]

>serd_hhc
Ответ Skier © (27.08.02 12:41) до конца дочитал?


 
serd_hhc   (2002-08-27 12:59) [12]

Ну да, оно и есть..


 
PVOzerski   (2002-08-27 12:59) [13]

Вариант 1: описываем массив байтов и absolute на него переменную - массив символов того же размера.
Вариант 2: делаем запись (record), имеющую только вариантную часть, наподобие
r:record
case integer of
0:(b:array[0..9]of byte);
1:(c:array[0..9]of char);
end;
вариант 3:
type
tB=array[0..9]of byte;
var
c:array[0..9]of char;
...
tB(pointer(@c)^)[2]:=$FF;

Вариант 4:
var
b:array[0..9]of byte;
c:array[0..9]of char;
...
move(b,c,sizeof(b));



 
Skier   (2002-08-27 13:00) [14]

>serd_hhc


function GetHexStr(const ASrcStr : String) : String;
var
ii : Integer;
begin
Result := EmptyStr;
if ASrcStr = EmptyStr then Exit;
for ii := 1 to Length(ASrcStr) do begin
Result := Result + IntToHex(Ord(ASrcStr[ii]), 2);
end; //for
end;


 
serd_hhc   (2002-08-27 13:02) [15]

СПАСИБО ВСЕМ!


 
PVOzerski   (2002-08-27 13:08) [16]

>Нужно из строки +++ATZ0 сделать строку 2B2B2B41545A30 И ПОЛОЖИТЬ
>ЭТО ЗНАЧЕНИЕ В массив из char
{$apptype console}
uses
sysutils;
const
a:array[0..6]of char="+++ATZ0";
var
s:string;
i:integer;
begin
s:="";
for i:=0 to 6 do
s:=s+IntToHex(byte(a[i]),2);
writeln(s," Свершилось :^)");
end.


 
serd_hhc   (2002-08-27 13:20) [17]

>Skier
А как обратно?


 
Skier   (2002-08-27 13:27) [18]

>serd_hhc
Chr(...)
StrToIntDef(...)


 
PVOzerski   (2002-08-27 13:31) [19]

>А как обратно?
{$apptype console}
const
s1:string="2B2B2B41545A30";
var
s2,s3:string;
i,code:integer;
b:byte;
begin
i:=1;
s2:="";
while i<=length(s1)do
begin
s3:="$"+copy(s1,i,2);
inc(i,2);
val(s3,b,code);
s2:=s2+char(b);
end;
writeln(s2," Свершилось :^)");
end.


 
Skier   (2002-08-27 13:34) [20]

>serd_hhc


function GetStrFromHexStr(const AHexStr : String) : String;
const
HEX_PREFIX = "$";
var
ii : Integer;
begin
Result := EmptyStr;
if (AHexStr = EmptyStr) or
Odd(Length(AHexStr)) then Exit;
ii := 1;
while ii <= Length(AHexStr) do begin
Result := Result + Chr(StrToIntDef(HEX_PREFIX + AHexStr[ii] + AHexStr[ii + 1], 0));
Inc(ii, 2);
end; //while
end;


 
serd_hhc   (2002-08-27 13:35) [21]

Большое вам СПА-СИ-БО!!!



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

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

Наверх




Память: 0.48 MB
Время: 0.007 c
14-27186
Turalyon
2002-08-14 08:49
2002.09.09
Нашествие зеленых человечков


14-27196
Sten
2002-08-12 00:28
2002.09.09
Подскажите компАнет....плииииз


4-27255
Maksim
2002-07-06 12:28
2002.09.09
Универсальный Thread !!!


1-26947
KIR
2002-08-23 13:28
2002.09.09
Как правильно использовать функцию DrawTextEx?


1-27012
Дмитрий Баранов
2002-08-29 19:23
2002.09.09
Получение переменных окружения в СПИСОК





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