|
#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!
|
#8
|
||||
|
||||
Советую обращаться к ресурсу Delphi Бэйсикс во время работы с датами строками и конвертированием информаци "из" - "в"
|