Модуль "Kjava" (часть 3) - GetKJava
последняя версия: 3.0.9 build 961 beta
от 07 декабря 2007 г.
от 07 декабря 2007 г.
function TfrmP2KKJava.GetKJava(ADrive: string; AImei: string; var ASize: integer): boolean; var frmProgress: TfrmProgress; xMF: TMotoFileList; cntFiles, xsize, xatr, i: integer; isF: boolean; str, str2, substr: string; x, flg: word; f0: file of TJ2MEST_372; f1: file of TJ2MEST_373; f2: file of TJ2MEST_300; f3: file of TJ2MEST_E1000; f4: file of TJ2MEST_3x; f5: file of TJ2MEST_K1; f6: file of TJ2MEST_3x86;
begin
NullKJava;
result:= false;
ASize:= 0;
frmProgress:= TfrmProgress.Create(self);
Screen.Cursor:= crHourGlass;
try
//~~~~~~~~~~~ найти J2MEST на диске /a ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
isF:= false; xsize:= 0;
cntFiles:= p2k.GetFilesCount(Format('/%s/J2MEST',[ADrive]));
if cntFiles > 0 then begin
SetLength(xmf, cntFiles);
if p2k.GetFileList(Format('/%s/J2MEST',[ADrive]), cntFiles, xmf, cntFiles, frmProgress)
then begin
if xmf <> nil then begin
for i:=0 to High(xmf) do
begin
str:= xMF[i].Name;
if ADrive = 'a' then substr:= '/J2MEST' else substr:= AImei + '/J2MEST';
if Pos(substr, str) > 0 then begin isF:= true; xsize:= xMF[i].Size; break; end;
end;
end;
end;
end;
//~~~~~~~~~~~ скачать J2MEST с диска /a ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
str2:= GetTempPathEx + Format('J2MEST_%s',[ADrive]);
if p2k.DownLoadFile(str, xsize, 0, str2, frmProgress)
then begin
//пропарсить файл
i:= 0;
case xKJType of
0,1: begin
AssignFile(f0, str2);
Reset(f0);
repeat
Read(f0, xJ2MEST_372[i]);
flg:= xJ2MEST_372[i].MIDletType;
if (flg and KJAVA_MIDLETINSTALLED) <> 0 then begin
Memo1.Lines.Add(xJ2MEST_372[i].AppName);
end;
inc(i);
until eof(f0);
CloseFile(f0);
end;
2 : begin
AssignFile(f1, str2);
Reset(f1);
repeat
Read(f1, xJ2MEST_373[i]);
flg:= convert_word(xJ2MEST_373[i].MIDletType);
if (flg and KJAVA_MIDLETINSTALLED) <> 0 then begin
Memo1.Lines.Add(xJ2MEST_373[i].AppName);
end;
inc(i);
until eof(f1);
CloseFile(f1);
end;
3 : begin
AssignFile(f2, str2);
Reset(f2);
repeat
Read(f2, xJ2MEST_300[i]);
flg:= xJ2MEST_300[i].MIDletType;
if (flg and KJAVA_MIDLETINSTALLED) <> 0 then begin
Memo1.Lines.Add(xJ2MEST_300[i].AppName);
end;
inc(i);
until eof(f2);
CloseFile(f2);
end;
4 : begin
AssignFile(f3, str2);
Reset(f3);
repeat
Read(f3, xJ2MEST_E1000[i]);
flg:= xJ2MEST_E1000[i].MIDletType;
if (flg and KJAVA_MIDLETINSTALLED) <> 0 then begin
Memo1.Lines.Add(xJ2MEST_E1000[i].AppName);
end;
inc(i);
until eof(f3);
CloseFile(f3);
end;
5 : begin
AssignFile(f4, str2);
Reset(f4);
repeat
Read(f4, xJ2MEST_3x[i]);
flg:= convert_word(xJ2MEST_3x[i].MIDletType);
if (flg and KJAVA_MIDLETINSTALLED) <> 0 then begin
Memo1.Lines.Add(xJ2MEST_3x[i].AppName);
end;
inc(i);
until eof(f4);
CloseFile(f4);
end;
6 : begin
AssignFile(f5, str2);
Reset(f5);
repeat
Read(f5, xJ2MEST_K1[i]);
flg:= convert_word(xJ2MEST_K1[i].MIDletType);
if (flg and KJAVA_MIDLETINSTALLED) <> 0 then begin
Memo1.Lines.Add(xJ2MEST_K1[i].AppName);
end;
inc(i);
until eof(f5);
CloseFile(f5);
end;
7 : begin
AssignFile(f6, str2);
Reset(f6);
repeat
Read(f6, xJ2MEST_3x86[i]);
flg:= convert_word(xJ2MEST_3x86[i].MIDletType);
if (flg and KJAVA_MIDLETINSTALLED) <> 0 then begin
Memo1.Lines.Add(xJ2MEST_3x86[i].AppName);
end;
inc(i);
until eof(f6);
CloseFile(f6);
end;
end;
end;
finally
frmProgress.free;
result:= isF;
ASize:= xsize;
Screen.Cursor:= crDefault;
end;
end;
Еще записи по теме
- Модуль "ObexFM" (часть 15) - OBEX_GoTo_Root
- Модуль "Сообщения" (часть 15) - DeleteMessages
- Модуль "Flash_Patching" (часть 9) - GetPatchEndAddr
- Модуль "Пункты меню" (часть 27) - EditNodeItem
- Модуль "ObexFM" (часть 19) - ClearElements
- Модуль "P2KApi" (часть 16) - FillTCIFSACStruct
- Модуль "АТ-команды" (часть 4) - определение переменных и типов данных
