Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.48 MB
Время: 0.031 c
14-1078336966
mur
2004-03-03 21:02
2004.04.04
что такое префиксная форма записи?


3-1078741588
Serg777
2004-03-08 13:26
2004.04.04
Существует ли DBGrid с нормальной реализацией полосы прокрутки


3-1078611647
Rauf
2004-03-07 01:20
2004.04.04
Помогите плиз с SQL


3-1078216381
T{}r(l-l
2004-03-02 11:33
2004.04.04
Проблемы с ключами, таблицами


14-1079091916
stone
2004-03-12 14:45
2004.04.04
Как вам такое резюме? :))





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