Форум: "Начинающим";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];
ВнизПреобразование буквенного кода в числовое Найти похожие ветки
← →
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 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.063 c