| 153 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 154 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 155 | 
   | 
 procedure TForm_RawEdit.list_offsetClick(Sender: TObject); | 
 
 
 
 
 
 
 
 
 
 | 156 | 
 – | 
 var | 
 
 
 
 
 
 
 
 
 
 | 157 | 
 – | 
   i: LongWord; | 
 
 
 
 
 
 
 
 
 
 | 158 | 
 – | 
   raw_info: TRawInfo; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 156 | 
   | 
 begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 157 | 
   | 
   ClearValues; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 158 | 
   | 
   dat_offset := StrToInt('$' + MidStr( | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 181 | 
   | 
 var | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 182 | 
   | 
   Data: Tdata; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 183 | 
   | 
   i:    Word; | 
 
 
 
 
 
 
 
 
 | 184 | 
 + | 
   floatformat: TFormatSettings; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 185 | 
   | 
 begin | 
 
 
 
 
 
 
 
 
 | 186 | 
 + | 
   floatformat.DecimalSeparator := '.'; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 187 | 
   | 
   case datatype of | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 188 | 
   | 
     1: | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 189 | 
   | 
       Result := IntToStr(hex.Data[offset]); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 211 | 
   | 
       Data[1] := hex.Data[offset + 1]; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 212 | 
   | 
       Data[2] := hex.Data[offset + 2]; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 213 | 
   | 
       Data[3] := hex.Data[offset + 3]; | 
 
 
 
 
 
 
 
 
 
 
 
 | 214 | 
 < | 
       Result  := FloatToStr(Decode_Float(Data)); | 
 
 
 
 
 
 
 
 
 
 | 214 | 
 > | 
       Result  := FloatToStr(Decode_Float(Data), floatformat); | 
 
 
 
 
 
 
 
 
 
 
 
 | 215 | 
   | 
     end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 216 | 
   | 
     10: | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 217 | 
   | 
       Result := IntToBin(hex.Data[offset]); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 254 | 
   | 
   Data:  Tdata; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 255 | 
   | 
   str:   String; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 256 | 
   | 
   Value: LongWord; | 
 
 
 
 
 
 
 
 
 | 257 | 
 + | 
   floatformat: TFormatSettings; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 258 | 
   | 
 begin | 
 
 
 
 
 
 
 
 
 | 259 | 
 + | 
   floatformat.DecimalSeparator := '.'; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 260 | 
   | 
   for i := 1 to value_viewer.RowCount - 1 do | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 261 | 
   | 
   begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 262 | 
   | 
     if value_viewer.Cells[0, i] = '1 byte, unsigned' then | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 321 | 
   | 
         SetLength(Data, 4); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 322 | 
   | 
         for j := 0 to 3 do | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 323 | 
   | 
           Data[j] := hex.Data[hex.SelStart + j]; | 
 
 
 
 
 
 
 
 
 
 
 
 | 324 | 
 < | 
         value_viewer.Cells[1, i] := FloatToStr(Decode_Float(Data)); | 
 
 
 
 
 
 
 
 
 
 | 324 | 
 > | 
         value_viewer.Cells[1, i] := FloatToStr(Decode_Float(Data), floatformat); | 
 
 
 
 
 
 
 
 
 
 
 
 | 325 | 
   | 
       end | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 326 | 
   | 
       else | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 327 | 
   | 
         value_viewer.Cells[1, i] := ''; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 385 | 
   | 
   Self.Caption := ''; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 386 | 
   | 
   fileid     := -1; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 387 | 
   | 
  | 
 
 
 
 
 
 
 
 
 | 388 | 
 + | 
 { | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 389 | 
   | 
   value_viewer.ColCount := 2; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 390 | 
   | 
   value_viewer.RowCount := 8; | 
 
 
 
 
 
 
 
 
 | 391 | 
 + | 
 } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 392 | 
   | 
   value_viewer.FixedRows := 1; | 
 
 
 
 
 
 
 
 
 
 | 390 | 
 – | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 393 | 
   | 
   value_viewer.Cells[0, 0] := 'Type'; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 394 | 
   | 
   value_viewer.Cells[1, 0] := 'Value'; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 395 | 
   | 
   value_viewer.Cells[0, 1] := '1 byte, unsigned'; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 458 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 459 | 
   | 
 procedure TForm_RawEdit.panel_contentResize(Sender: TObject); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 460 | 
   | 
 begin | 
 
 
 
 
 
 
 
 
 
 
 
 | 461 | 
 < | 
 //  value_viewer.ColWidths[1] := value_viewer.Width - value_viewer.ColWidths[0] - 28; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 461 | 
 > | 
   if fileid >= 0 then | 
 
 
 
 
 
 | 462 | 
 > | 
     value_viewer.ColWidths[1] := value_viewer.Width - value_viewer.ColWidths[0] - 50; | 
 
 
 
 
 
 
 
 
 
 
 
 | 463 | 
   | 
 end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 464 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 465 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 479 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 480 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 481 | 
   | 
 procedure TForm_RawEdit.hexKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); | 
 
 
 
 
 
 
 
 
 
 
 
 | 482 | 
 < | 
 var | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 483 | 
 < | 
   temps: String; | 
 
 
 
 
 
 
 
 
 
 | 482 | 
 > | 
 //var | 
 
 
 
 
 
 | 483 | 
 > | 
 //  temps: String; | 
 
 
 
 
 
 
 
 
 
 
 
 | 484 | 
   | 
 begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 485 | 
   | 
   if (Shift = [ssCtrl]) and (Key = Ord('C')) then | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 486 | 
   | 
   begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 507 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 508 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 509 | 
   | 
 procedure TForm_RawEdit.hexSelectionChanged(Sender: TObject); | 
 
 
 
 
 
 
 
 
 
 
 
 | 510 | 
 < | 
 var | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 511 | 
 < | 
   selstart: Integer; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 512 | 
 < | 
   i, j:     Word; | 
 
 
 
 
 
 
 
 
 
 | 510 | 
 > | 
 //var | 
 
 
 
 
 
 | 511 | 
 > | 
 //  selstart: Integer; | 
 
 
 
 
 
 | 512 | 
 > | 
 //  i, j:     Word; | 
 
 
 
 
 
 
 
 
 
 
 
 | 513 | 
   | 
 begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 514 | 
   | 
 {    FOR i:=1 TO structs.RowCount-1 DO BEGIN | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 515 | 
   | 
       FOR j:=0 TO structs.ColCount-1 DO BEGIN | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 562 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 563 | 
   | 
 procedure TForm_RawEdit.btn_importClick(Sender: TObject); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 564 | 
   | 
 var | 
 
 
 
 
 
 
 
 
 
 
 
 | 565 | 
 < | 
   Data: Tdata; | 
 
 
 
 
 
 
 
 
 
 | 565 | 
 > | 
 //  Data: Tdata; | 
 
 
 
 
 
 
 
 
 
 
 
 | 566 | 
   | 
   fs:   TFileStream; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 567 | 
   | 
 begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 568 | 
   | 
   opend.Filter := 'Files of matching extension (*.' + OniDataConnection.GetFileInfo( | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 644 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 645 | 
   | 
 procedure TForm_RawEdit.value_viewer_context_copyClick(Sender: TObject); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 646 | 
   | 
 var | 
 
 
 
 
 
 
 
 
 
 
 
 | 647 | 
 < | 
   i:     Byte; | 
 
 
 
 
 
 
 
 
 
 | 647 | 
 > | 
 //  i:     Byte; | 
 
 
 
 
 
 
 
 
 
 
 
 | 648 | 
   | 
   Name:  String; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 649 | 
   | 
   Value: LongWord; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 650 | 
   | 
 begin |