要求将excel表或文本文件中的一列10位16进制数据转换为8位10进制数据。转换规则:把16进制数据的倒数第5位和倒数第6位转换为3位10进制数据,如1700B7DFE7 的B7转换后为183把后4位16进制转换为5位10进制数据,如1700B7DFE7的DFE7转换后为57319,转换后的两个新数据合起来为18357319当中不够位数的前面补0
如17001A10AF 1A转换后为026 10AF转换后为04271 两个数据合起来为02604271转换前数据格式
17001A10AF
1700B7DFE7
1700B7E77C
1700B853A9
1700B852E7 转换后输出格式
17001A10AF 02604271
1700B7DFE7 18357319
1700B7E77C 18359260
1700B853A9 18421417
1700B852E7 18421223
如17001A10AF 1A转换后为026 10AF转换后为04271 两个数据合起来为02604271转换前数据格式
17001A10AF
1700B7DFE7
1700B7E77C
1700B853A9
1700B852E7 转换后输出格式
17001A10AF 02604271
1700B7DFE7 18357319
1700B7E77C 18359260
1700B853A9 18421417
1700B852E7 18421223
解决方案 »
- if (Self) <> (Nil) then 谁可为我解释?【新手】
- 还是不太明白,delphi的类的属性加与不加property有何不同?
- TClientSocket, TServerSocket非阻塞接收后的处理问题
- 经典书籍下载delphi技术手册要的快来
- 将一台机子中一个文件COPY到另一台机子中???
- 关于“流”
- 如何编程把DBChart图表保存为图片??
- 〓〓〓〓 如何在rxlib的richedit中插入图片 〓〓〓〓
- 谁解决了这个问题我认他做老大!另送20分!
- 顶层窗口与任务栏
- [高手进]delphi的窗体文件dfm里的<>是什么类型?
- 系统提示错误"I/O error 103" 怎么屏蔽?
十六进制转十进制
Function HexToDec(const Value :string ) : string;
var
s : string;
begin
//如果Value前没有$符号,则加上#36,否则不用加
s := #36 + Value;
Result := IntToStr(StrToInt(s));
end;使用
ShowMessage(HexToDec('FF'));/255
strHex: String;
StrDest: String;
begin
StrHex := '17001A10AF';
StrDest := Copy(StrHex,1,4) + Format('%0.3d',[HexToInt(Copy(StrHex, 5, 2))]) + + Format('%0.5d',[HexToInt(Copy(StrHex, 7))]);
end;
function TForm1.ConvertNum(ANum: String): String;
var
s1, s2: string;
begin
s1 := RightStr('000' + IntToStr(StrToInt('$' + Copy(ANum, 5, 2))), 3);
s2 := RightStr('00000' + IntToStr(StrToInt('$' + Copy(ANum, 7, 4))), 5);
Result := s1 + s2;
end;
function HexToInt(Value: String): Integer;
begin
Result := StrToInt('$'+Value);
end;var
strHex: String;
StrDest: String;
begin
StrHex := '17001A10AF';
StrDest := Copy(StrHex,1,4) + Format('%0.3d',[HexToInt(Copy(StrHex, 5, 2))]) + Format('%0.5d',[HexToInt(Copy(StrHex, 7, 4))]);
ShowMessage(StrDest);
end;
begin
Result := StrToInt('$'+Value);
end;
IniFile := IniFile.Create('D:\'+'BB.txt');
IniFile.WtiteString('DD','CC=aaa','');