Вниз
Скачать: CL | DM;

Преобразование буквенного кода в числовое   Найти похожие ветки 

 
graf ©   (2006-08-30 11:55) [0]

Есть функция которая преобразует числовой код FourCC в буквенный:

Function FourCCToString(lFourCC : DWORD): String;
var
sRet : String;
lUByte : DWORD;
begin
sRet := Chr(lFourCC And $FF);
sRet := sRet + Chr((lFourCC And $FF00) div $100);
sRet := sRet + Chr((lFourCC And $FF0000) div $10000);
lUByte := (lFourCC And $7F000000) div $1000000;
if (lFourCC And $80000000) = $80000000 then
lUByte := lUByte or $80;
sRet := sRet + Chr(lUbyte);
FourCCToString := sRet;
end;

а мне нужно наоборот из буквенного в числовой, нет ли у кого кода такой процедуры, или готовой програмки. Если есть, киньте пожалуйста ссылку.


 
Dmitrij_K   (2006-08-30 12:21) [1]

Function FourCCToString(lFourCC : DWORD): String;
begin
 setlength(result, 4);
 move(lFourCC, result[1], 4);
end;

Function StringToFourCC(lStr : String): DWORD;
begin
 move(lStr[1], result, 4);
end;


 
Dmitrij_K   (2006-08-30 12:26) [2]

Function FourCCToString(lFourCC : DWORD): String;
begin
setlength(result, 4);
result[1] := Chr(LongRec(lFourCC).Bytes[0]);
result[2] := Chr(LongRec(lFourCC).Bytes[1]);
result[3] := Chr(LongRec(lFourCC).Bytes[2]);
result[4] := Chr(LongRec(lFourCC).Bytes[3]);
end;

Function StringToFourCC(lStr : String): DWORD;
begin
 LongRec(Result).Bytes[0] := Ord(lStr[1]);
 LongRec(Result).Bytes[1] := Ord(lStr[2]);
 LongRec(Result).Bytes[2] := Ord(lStr[3]);
 LongRec(Result).Bytes[3] := Ord(lStr[4]);
end;


 
Dmitrij_K   (2006-08-30 12:28) [3]

А это ваще изврат Ж)
Function FourCCToString(lFourCC : DWORD): String;
begin
setlength(result, 4);
DWORD((@result[1])^) := lFourCC;
end

Function StringToFourCC(lStr : String): DWORD;
begin
 Result := DWORD((@lStr[1])^);
end;


 
graf ©   (2006-08-30 13:08) [4]


> Dmitrij_K  

благодарю



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.036 c
15-1156099071
AntiUser
2006-08-20 22:37
2006.09.17
К знатокам Oracle.


15-1156916090
hero
2006-08-30 09:34
2006.09.17
Народ! нужен новенький Client.lic для проги Парус - бюджет


2-1156421388
Priest
2006-08-24 16:09
2006.09.17
Как определить где подвисает программа


2-1157022643
kotbazilio
2006-08-31 15:10
2006.09.17
Помогите решить задачу про запрос


2-1156775394
AlexanderMS
2006-08-28 18:29
2006.09.17
Флаги.




   Наверх