procedure TForm1.SaveHexFile(FileName: string);<br />var<br /> FileLen: Integer;<br /> HexFile: TextFile;<br /> str, s: String;<br /> i, k, n, address: Integer;<br /> crc: Byte;<br />begin<br /> if FileExists(FileName) then<br /> begin<br /> if Application.MessageBox('请您确认是否覆盖???', '系统提示:写入配置文件!!!', MB_YESNO) = IDNO then<br /> Exit;<br /> if Application.MessageBox('请您再次确认是否覆盖???', '系统提示:写入配置文件!!!', MB_YESNO) = IDNO then<br /> Exit;<br /> end;<br /> FileLen := StrToInt(Edit4.Text);//文件长度<br /> AssignFile(HexFile, FileName);<br /> ReWrite(HexFile);<br /> try<br /> Writeln(HexFile, ':0400000500000000F7');<br /> Writeln(HexFile, ':020000040000FA');<br /><br /> for i := 1 to StringGrid1.RowCount - 1 do<br /> begin<br /> str := '';<br /> n := 0;<br /> for k := 1 to 16 do<br /> begin<br /> s := Trim(StringGrid1.Cells[k , i]);<br /> if s = '' then<br /> break;<br /> str := str + s;<br /> n := n + 1;<br /> end;<br /> if n = 0 then break;<br /> str := ':' + IntToHex(n, 2)<br /> + IntToHex((i - 1) * 16, 4)<br /> + '00'<br /> + str;<br /> crc := GetStrCrc(str);<br /> crc := crc xor $ff;<br /> crc := crc + 1;<br /> str := str + intToHex(crc, 2);<br /> Writeln(HexFile, str);<br /> end;<br /> Writeln(HexFile, ':00000001FF');<br /> finally<br /> CloseFile(HexFile);<br /> end;<br />end;<br /> <br /> 相关链接:<a href='http://blog.**/hotpower/68894/message.aspx'>http://blog.**/hotpower/68894/message.aspx</a>
|