Inscription / Connexion Nouveau Sujet
Niveau calculatrices
Partager :

language delphi

Posté par
adoulou
06-02-08 à 18:27

bonjour pouvez vous m'aidez svp
pouvez vous me dire comment faire pour attacher un programme dans mon programme realisé avec delphi
je vous remercié infiniment

Posté par
JJa
re : language delphi 06-02-08 à 19:26

Une bonne adresse pour trouver de l'aide concernant DELPHI :
http://www.developpez.net/forums/forumdisplay.php?f=15

Posté par
adoulou
re : language delphi 08-02-08 à 02:43

merci JJa mais dans ce liens on trouve different probléme de delphi mais je ne pense pas que je trouve la solution de mon probléme
si vous connaissez  une procedure qui permete de jointe ce fiché au programme
merci beaucoup

Posté par
patrice rabiller
re : language delphi 08-02-08 à 04:21

Pourrais-tu préciser ta question ?

S'agit-il, dans ton application, de lancer l'exécution d'une autre application ? Dans ce cas, regarde dans l'aide sur le mot ShellExecute ou bien WinExecAndWait32 (dans les API)

S'agit-il d'utiliser une bibliothèque externe dll ? Dans ce cas, il faut déclarer les routines (functions ou procedures) "external".

Posté par
adoulou
re : language delphi 08-02-08 à 17:40

bonjour patrice rabiller merci de m'avoir répondu
je suis un débutant en delphi je ne sais pas comment chercher cette fonction et comment la declarer pouvez vous me précisé svp
merci beaucoup

Posté par
patrice rabiller
re : language delphi 08-02-08 à 18:37

La fonction WinExecAndWait32 ne fait pas partie des API. J'ai retrouvé un exemple d'utilisation. Il s'agit de lancer l'exécution de l'application "WordPad" pour ouvrir un document texte. Je ne suis pas sûr que c'est ce que tu cherches ...

function WinExecAndWait32(FileName:String; Visibility : integer):dword;
var
  zAppName:array[0..512] of char;
  zCurDir:array[0..255] of char;
  WorkDir:String;
  StartupInfo:TStartupInfo;
  ProcessInfo:TProcessInformation;
begin
  StrPCopy(zAppName,FileName);
  GetDir(0,WorkDir);
  StrPCopy(zCurDir,WorkDir);
  FillChar(StartupInfo,Sizeof(StartupInfo),#0);
  StartupInfo.cb := Sizeof(StartupInfo);

  StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
  StartupInfo.wShowWindow := Visibility;
  if not CreateProcess(nil,
    zAppName,                      { pointer to command line string }
    nil,                           { pointer to process security attributes }
    nil,                           { pointer to thread security attributes }
    false,                         { handle inheritance flag }
    CREATE_NEW_CONSOLE or          { creation flags }
    NORMAL_PRIORITY_CLASS,
    nil,                           { pointer to new environment block }
    nil,                           { pointer to current directory name }
    StartupInfo,                   { pointer to STARTUPINFO }
    ProcessInfo) then Result := 1  { pointer to PROCESS_INF }

  else begin
    WaitforSingleObject(ProcessInfo.hProcess,INFINITE);
    GetExitCodeProcess(ProcessInfo.hProcess,Result);
  end;
end;

procedure TfmLabo.Ouvrirlalettretype1Click(Sender: TObject);
var n : integer;
begin
   n:=WinExecAndWait32('c:\program files\accessoires\wordpad.exe '+chemin+'\devis.rtf',1);
   if n=1 then showmessage('Le fichier "WordPad.exe" est introuvable dans le répertoire'+chr(13)+
                           'C:\Program files\Accessoires\ ...' );
end;

Posté par
adoulou
re : language delphi 08-02-08 à 19:07

est ce que je mettrai ces fonctions dans l'implementation?

Posté par
patrice rabiller
re : language delphi 09-02-08 à 05:55

Oui, il suffit de mettre la fonction WinExeAndWait32 avant la procedure qui l'appellera. Il est inutile de la déclarer dans la partie Interfae sauf si tu veux que ce soit une fonction "publique" qui puisse être appelée par d'autres unités...

Dans mon exemple, la fonction WinExecAndWait32 est appelée par un clic sur un bouton nommé "OuvrirLaLettreType1" : cette procédure est automatiquement déclarée dans la partie interface.

Encore une fois, je ne suis pas sûr que c'est bien ce que tu cherchais



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !