Модуль "Flash_SHX" (часть 16) - FirmwareAddCG

Рубрика: Исходники
Среда, 21 апреля 2010 г.
Просмотров: 164
последняя версия: 3.0.9 build 961 beta
от 07 декабря 2007 г.
procedure TfrmFlash_SHX.FirmwareAddCG;
var
  i: integer;
  fName: TFileName;
  xStartAddr: dword;
  xCGNum: integer;
  k: integer;
  xItem: TListItem;
  tmp: string;
  frmCGAdd: TfrmCGAdd;

begin
//
  //OpenDialog1.DefaultExt:= '*.smg';
  //OpenDialog1.Filter:= 'smg files|*.smg|bin files|*.bin|All files|*.*';
  //OpenDialog1.FilterIndex:= 3;
  //if not OpenDialog1.Execute then exit;
  //fName:= OpenDialog1.FileName;
  // окно с указанием номера CG и StartAddr
  frmCGAdd:= TfrmCGAdd.Create(Self);
  frmCGAdd.ShowModal;
  if frmCGAdd.ModalResult = mrCancel then begin frmCGAdd.Free; exit; end;
  fName:= frmCGAdd.edtCGAddFileName.Text;
  xStartAddr:= hex2int(frmCGAdd.spSkinEdit1.Text);
  xCGNum:= frmCGAdd.cbCGSelect.ItemIndex;
  if xCGNum = 0 then xCGNum:= -2;
  frmCGAdd.Free;
  //
  k:= CG_Add(FName, xStartAddr, xCGNum);
  if k = 255 then exit;
  xItem:= spSkinListView1.Items.Add;
  xItem.Data:= Pointer(k);
  xItem.Caption:= CGStartAddrFName[1, k];
  tmp:= IntToHex(CGStartAddr[1, k], 8);
  xItem.SubItems.Add(tmp);
  tmp:= IntToHex(CGStartAddr[2, k], 8);
  xItem.SubItems.Add(tmp);
  tmp:= Format('%s.%s',[IntToHex(ArrCGCreateFile[k].Signature[14], 2),
                        IntToHex(ArrCGCreateFile[k].Signature[15], 2) ]);
  if (tmp = '00.00') or (tmp = 'FF.FF') then tmp:= ' ';
  xItem.SubItems.Add(tmp);
  xItem.SubItems.Add(IntToStr(ArrCGCreateFile[k].smgfilesize));
  xItem.SubItems.Add(ArrCGCreateFile[k].smgfilename);
  xItem.SubItems.Add('');
end;
Rambler's Top100