1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| var
sw_show,SW_SHOWNORMAL : longint;
MaRequete2,chemin : string;
ErrNo : integer;
Filename,filepath,Params,chem : String;
begin
SQLQuery1.Active:=false;
SQLQuery1.SQL.Clear;
SQLQuery1.SQL.Text:='SELECT chemin FROM TableDossiers WHERE ID_Dossier = '+edit1.text;
SQLQuery1.Active:=True;
edit2.text := SQLQuery1.FieldByName('chemin').AsString;
ErrNo := 0; // ini
Params :='shell32.dll,OpenAs_RunDLL ' + SQLQuery1.FieldByName('chemin').AsString;
SQLQuery1.Active:=false;
{ShellExecute(0, 'open', 'rundll32.exe',
PChar('shell32.dll,OpenAs_RunDLL ' + Filename),
PChar(ExtractFilePath(Filename)), SW_SHOWNORMAL); }
if edit2.text <> '' then
ErrNo := ShellExecute(Handle,'open',PChar(edit2.text),nil,nil,SW_SHOW);
if ErrNo = 31 then
begin
ShellExecute(Handle,'open',PChar('rundll32.exe'),PChar(Params),nil,SW_SHOW);
Label15.caption := '';
end
else
ShellExecute(Handle, 'open', PChar(edit2.text), nil, nil, SW_SHOW);
if (edit2.text = '') AND (ErrNo <> 31) then
begin
if OpenDialog1.Execute then
begin
chemin:=OpenDialog1.FileName; // avec le chemin
Label5.Caption := 'Nouveau chemin : '+chemin;
SQLQuery1.Active:=false;
MaRequete2:= 'UPDATE TableDossiers SET chemin = '+QuotedStr(chemin)+' WHERE Id_Dossier = '+edit1.text ;
SQLQuery1.SQL.Clear;
SQLQuery1.SQL.Text:= MaRequete2 ;
SQLQuery1.ExecSQL;
SQLQuery1.Active:=false;
end;
end;
end; |
Partager