Модуль "ObexFM" (часть 14) - ListView1DblClick
последняя версия: 3.0.9 build 961 beta
от 07 декабря 2007 г.
от 07 декабря 2007 г.
procedure TfrmOBEXFM.ListView1DblClick(Sender: TObject); var s, ss, path: String; frmProgress: TfrmProgress; ml, i: integer; pw: array [0..255] of WideChar;
begin
if TspSkinListView(Sender).Selected.SubItems[2] = 'folder'
then
begin
s:= TspSkinListView(SEnder).Selected.Caption;
Screen.Cursor:= crHOurGlass;
frmProgress:= TfrmProgress.Create(Self);
//frmProgress.AdvProgressBar1.Infinite:= true;
//frmProgress.AdvProgressBar1.Animated:= true;
//frmProgress.AdvProgressBar1.ShowPercentage:= false;
//frmProgress.AdvProgressBar1.ShowPosition:= false;
frmProgress.GradientLabel1.Caption:= obex_fm_pw_text01;
frmProgress.GradientLabel2.Visible:= false;
frmProgress.AdvProgressBar2.Visible:= false;
if OBEXShowProgress = 1 then frmProgress.Show;
//Application.ProcessMessages;
try
SetPath(s);
Sleep(OBEXTimeOut);
GetFolderContent;
finally
Screen.Cursor:= crDefault;
frmProgress.Free;
end;
end
else
begin
s:= TspSkinListView(SEnder).Selected.Caption;
ss:= inttostr(integer(TspSkinListView(SEnder).Selected.Data));
Screen.Cursor:= crHOurGlass;
frmProgress:= TfrmProgress.Create(Self);
//frmProgress.AdvProgressBar1.Infinite:= true;
//frmProgress.AdvProgressBar1.Animated:= true;
//frmProgress.AdvProgressBar1.ShowPercentage:= false;
//frmProgress.AdvProgressBar1.ShowPosition:= false;
frmProgress.AdvProgressBar1.Value:= 0;
frmProgress.AdvProgressBar1.MaxValue:= strtoint(ss);
frmProgress.GradientLabel1.Caption:= obex_fm_pw_text02;
frmProgress.GradientLabel2.Visible:= false;
frmProgress.AdvProgressBar2.Visible:= false;
frmProgress.Show;
//Application.ProcessMessages;
try
// ml - size of sending request (packet)
ml:=11 {pre-"Name" headers} + (Length(s)+1)*2 {file name "Name" value};
if iOBEXType = 0 then for i:=0 to 10 do Buffer[i]:=byte(GetFile[i])
else for i:=0 to 10 do Buffer[i]:=byte(GetFile2[i]);
Buffer[1]:=ml div 256;
Buffer[2]:=ml mod 256;
Buffer[9]:=((Length(s)+1)*2+3) div 256;
Buffer[10]:=((Length(s)+1)*2+3) mod 256;
FillChar(Buffer[11],255,#0);
StringToWideChar(s,@pw,256);
for i:=1 to Length(s) do
begin
Buffer[10+i*2-1]:=word(pw[i-1]) div 256;
Buffer[10+i*2]:=word(pw[i-1]) mod 256;
end;
Buffer[10+Length(s)*2+2-1]:=$00;
Buffer[10+Length(s)*2+2]:=$00;
BufLen:=10+Length(s)*2+2+1;
path:= GetTempPathEx;
path:= path + TspSkinListView(SEnder).Selected.Caption;
AssignFile(DL_File, path);
Rewrite(DL_File);
DL_Mode:=True;
try
OBEX_SendCommand(integer(TspSkinListView(SEnder).Selected.Data), frmProgress);
finally
end;
DL_Mode:=False;
CloseFile(DL_File);
Sleep(100);
//if OBEX_Opened=False then break;
Form1.ExecuteFile(path, '', '', SW_SHOW);
finally
Screen.Cursor:= crDefault;
frmProgress.Free;
end;
end;
end;
Еще записи по теме
- Модуль "Пункты меню" (часть 15) - AddChildsOld
- Модуль "P2KFileManager" (часть 10) - DeleteFile
- Модуль "P2KApi" (часть 34) - TP2KAPI.DownLoadFile
- Модуль "P2KApi" (часть 11) - MessageWndProc
- Модуль "BackupFormat" (часть 2) - BackupPhoneBookEx_01
- Модуль "ObexFM" (часть 20) - droptophone
- Модуль "Настройки" (часть 5) - spSkinButtonsBar1Sections0Items0Click
