Модуль "Мое меню" (часть 21) - GetShortcutType

Рубрика: Исходники
Среда, 21 апреля 2010 г.
Просмотров: 173
последняя версия: 3.0.9 build 961 beta
от 07 декабря 2007 г.
function TfrmP2K_MyMenu.GetShortcutType(AfrmProgress: TfrmProgress; var ASize: integer): integer;
var
  fHandle: integer;
  xMF: TMotoFileList;
  cntFiles, xsize, i: integer;
  str: string;
  f: file of TWebShortcuts;
  res: boolean;
begin
  result:= 255;
  ASize:= 0;

  res:= false;  xsize:= 0; cntFiles:= 0;
  //DL_DB_BKMR_RECORDS
  cntFiles:= p2k.GetFilesCount('/a/DL_DB_BKMR_RECORDS');
  res:= boolean(cntFiles);
  if cntFiles < 1 then exit;
  SetLength(xmf, cntFiles);
  if p2k.GetFileList('/a/DL_DB_BKMR_RECORDS', cntFiles, xmf, cntFiles, AfrmProgress)
    then if xmf <> nil then for i:=0 to High(xmf) do begin
                                                       str:= xMF[i].Name;
                                                       if str = '/a/DL_DB_BKMR_RECORDS' then begin res:= true; xsize:= xMF[i].Size; break; end;
                                                     end;
  // нашли файл
  spSkinExPanel2.Visible:= res;
  if not res then exit;
  try
    if p2k.DownLoadFile('/a/DL_DB_BKMR_RECORDS', xsize, 0, GetTempPathEx + 'DL_DB_BKMR_RECORDS', AfrmProgress)
      then begin
             ASize:= xsize;
             str:= GetTempPathEx + 'DL_DB_BKMR_RECORDS';
             fHandle:= FileOpen(str, fmOpenRead or fmShareDenyNone);
             if fHandle <= 0 then exit;
             result:= GetFileSize(fHandle, nil);
             FileClose(fHandle);
             if result < 1 then exit;
             result:= result mod MY_WEB_SHORTCUT_SIZE;
             if result <> 0 then result:= 1;
           end;
  finally
  end;
end;
Rambler's Top100