Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
ВнизКонвертирование Найти похожие ветки
← →
Buffoon © (2004-03-17 19:24) [0]Подскажите plizzzzzzzzz как конвертировать текст в HEX или DEC ????? просто срочно надо.
Заранее спасибо.
← →
Dimka Maslov © (2004-03-17 19:28) [1]ты сам-то понял, что спрашиваешь?
← →
Anatoly Podgoretsky © (2004-03-17 19:31) [2]Зачем текст в текст?
← →
Zacho © (2004-03-17 19:50) [3]А еще в BIN, OCT ... да, помниться я как-то и с 72-ричной системой развлекался... :) Но что самое странное - текст оставался просто текстом :)
← →
Mim (2004-03-17 20:07) [4]может вам надо нечто такое
const
hcarr : array[byte] of string[2] = (
"00","01","02","03","04","05","06","07","08","09","0A","0B",
"0C","0D","0E","0F","10","11","12","13","14","15","16","17",
"18","19","1A","1B","1C","1D","1E","1F","20","21","22","23",
"24","25","26","27","28","29","2A","2B","2C","2D","2E","2F",
"30","31","32","33","34","35","36","37","38","39","3A","3B",
"3C","3D","3E","3F","40","41","42","43","44","45","46","47",
"48","49","4A","4B","4C","4D","4E","4F","50","51","52","53",
"54","55","56","57","58","59","5A","5B","5C","5D","5E","5F",
"60","61","62","63","64","65","66","67","68","69","6A","6B",
"6C","6D","6E","6F","70","71","72","73","74","75","76","77",
"78","79","7A","7B","7C","7D","7E","7F","80","81","82","83",
"84","85","86","87","88","89","8A","8B","8C","8D","8E","8F",
"90","91","92","93","94","95","96","97","98","99","9A","9B",
"9C","9D","9E","9F","A0","A1","A2","A3","A4","A5","A6","A7",
"A8","A9","AA","AB","AC","AD","AE","AF","B0","B1","B2","B3",
"B4","B5","B6","B7","B8","B9","BA","BB","BC","BD","BE","BF",
"C0","C1","C2","C3","C4","C5","C6","C7","C8","C9","CA","CB",
"CC","CD","CE","CF","D0","D1","D2","D3","D4","D5","D6","D7",
"D8","D9","DA","DB","DC","DD","DE","DF","E0","E1","E2","E3",
"E4","E5","E6","E7","E8","E9","EA","EB","EC","ED","EE","EF",
"F0","F1","F2","F3","F4","F5","F6","F7","F8","F9","FA","FB",
"FC","FD","FE","FF");
Function BinData2BinStr(const buf:pointer; const count:integer):string;
var i,j:integer;
begin
j := 0;
for i:= 0 to count-1 do
begin
if j >= 20 then
begin
Result := Result + lb;
j := 0;
end;
Result := Result + hcarr[byte(pointer(integer(buf)+i)^)];
inc(j);
end;
end;
Procedure BinStr2BinData(const buf:pointer; const count:integer;const str:string);
var i,j:integer;
s:string;
k:byte;
begin
j := 0;
s := "";
for i := 1 to length(str) do
begin
if str[i] in ["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"] then
s := s + str[i];
if length(s) = 2 then
begin
for k := 0 to 255 do
begin
if hcarr[k] = s then
begin
if j<count then
byte(pointer(integer(buf)+j)^) := k;
break;
end;
end;
s := "";
inc(j);
end;
end;
end;
← →
Defunct © (2004-03-18 01:33) [5]Я так понимаю нужны функции перевода числа из текстовой формы в цифровую форму, из старого архива достаю:
Const Bin : Set of char = ["0".."1"];
DecS : Set Of Char = ["0".."9"];
Hex : Set Of Char = ["0".."9","A".."F"];
Function Hex2Int(St:ShortString):Integer;
Function Dec2Int(St:ShortString):Integer;
Function Bin2Int(St:ShortString):Integer;
Function Dec2Int;
Var i,w:integer;
Begin
Val(St,i,w);
Dec2Int:=I;
End;
Function Bin2Int;
Var I,W:Integer;
Sign:Boolean;
S:ShortString;
Begin
W:=0; Sign:=False;
If St[1]="-" Then
Begin
Sign:=True;
S:=Copy(St,2,Length(St)-1);
End Else S:=St;
For I:=1 To Length(S) Do
Begin
W:=W*2;
If S[i]="1" Then W:=W+1;
End;
If Sign Then W:=-W;
Bin2Int:=W;
End;
Function Hex2Int;
Var I,W:Integer;
Sign:Boolean;
S:ShortString;
Begin
W:=0; Sign:=False;
If St[1]="-" Then
Begin
Sign:=True;
S:=Copy(St,2,Length(St)-1);
End Else S:=St;
For I:=1 To Length(S) Do
Begin
W:=W*16;
If S[i] in DecS Then W:=W+Byte(S[i])-Byte("0")
Else W:=W+10+Byte(S[i])-Byte("A");
End;
If Sign Then W:=-W;
Hex2Int:=W;
End;
Предполагается, что число на входе функций уже нормировано, т.е. отсутствуют неверные и лишние символы.
← →
rea © (2004-03-18 10:08) [6]D7.Classes:
procedure BinToHex(Buffer, Text: PChar; BufSize: Integer);
function HexToBin(Text, Buffer: PChar; BufSize: Integer): Integer;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.031 c