интересно, где ты в коде нашел файдчар\вайдстринг, чтобы такие вопросы задавать.
на входе анси строка.
Я исходил из того, что использует топик стартер, глянь выше:
Цитата:
Сообщение от LAV45
Всем биг спс ))
ss то у нас #$63#0 #$6F#0 #$6E#0 #$73#0
если использывать Tmp: array[0..3] of char absolute result;
#0 остаются и на выходе получаем $63006F00
Не знал что это важно, но я действительно 2009 юзаю.
Я то это сразу понял, посмотрев на вот это:
Цитата:
Сообщение от LAV45
Всем биг спс ))
ss то у нас #$63#0 #$6F#0 #$6E#0 #$73#0
если использывать Tmp: array[0..3] of char absolute result;
#0 остаются и на выходе получаем $63006F00
Function GetInt(const ss: pointer):integer;
var tmp: array[0..3] ofbyte absolute result;
sm: array[0..7] ofbyte;
begin
^sm := ss; // - хз как тут правильно сделать// используя чуть больше памяти мы ограничиваемся простым переносом // байт из одного массива в другой
tmp[3] := sm[0];
tmp[2] := sm[2];
tmp[1] := sm[4];
tmp[0] := sm[6];
end;
..........
var ss: string;
begin
ss := 'iden';
case GetInt(pionter(copy(ss,1,4)))of
$6964656E:; // idenend;
end;
Последний раз редактировалось LAV45, 14.11.2010 в 05:23.