![]() |
|
|
|
|
#1
|
||||
|
||||
|
подскажите как можно сократить код?
в edit2 написан шестнадцатиричный код (eXplore®)... Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
i3,i4:integer;
s:string;
begin
edit2.Text:='65 58 70 6C 6F 72 65 AE';
i3:=1;
i4:=2;
for i:=0 to 7 do
begin
s:=inttostr(strtoint('$'+edit2.Text[i3]+edit2.Text[i4]));
edit1.Text:=edit1.Text+chr(strtoint(s));
i3:=i3+3;
i4:=i4+3;
end;
end; |
|
#2
|
||||
|
||||
|
А можно задачу получить:
С исходными 8мью парами что надо сделать? Я так понял доллары пририсовать? Если я правльно понял задачу то вот так Код:
for i:=0 to 7 do Ediе2.text:=StuffString(Edit2.text, i*3,1, '$') Улыбнуло кол-во вашего кода, и моего ))))) Последний раз редактировалось Uniq!, 07.10.2010 в 20:21. |
|
#3
|
||||
|
||||
|
в edit2 есть код шестнадцатиричный он переводится как eXplore®...
нужно утот код каждые две пары символов перевести в десятичный вид... и каждаю пару десятичных чисел конвертировать в символический тип данных... |
|
#4
|
||||
|
||||
|
вобщем нужно как можно короче из
65 58 70 6C 6F 72 65 AE получить eXplore® |
|
#5
|
||||
|
||||
|
Код:
procedure TForm1.Button1Click(Sender: TObject);
Var i:integer;
begin
edit2.Text:='65 58 70 6C 6F 72 65 AE';
for i:=0 to 7 do
Edit2.Text:=Edit2.Text+chr(StrToInt('$'+Copy(Edit1.text,3*i+1,2) ));
end;тока у меня edit1-исходный edit2 - конечный Как не странно работает ![]() Последний раз редактировалось Uniq!, 07.10.2010 в 20:43. |
|
#6
|
||||
|
||||
|
(((не компилирует...
[Error] Unit1.pas(52): Incompatible types |
|
#7
|
||||
|
||||
|
аа... нет всё.! работает! большое спасибо!
Uniq! +1! |