philippeu64
Messages postés4Date d'inscriptionsamedi 26 juillet 2008StatutMembreDernière intervention28 juillet 2008
-
27 juil. 2008 à 13:32
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 2022
-
29 juil. 2008 à 03:49
bonjour a tous et merci pour le travail que vous effectuer tout les jours pour des anes comme moi
voila je debute en delphi 7 entreprise j ai aucune notion de programation je fait une petite application pour mon boulot
j aimerais ouvrir un document word sur ma form j ai mis un opendialog
en cliquans sur un bouton j ai le repertoire qui s'ouvre bien j ai les fichiers dedans et quand je clique dessus j ai rien qui s'ouvre
j ai fait
opendialog1.execute
merci de votre aide la je seche et pourtant j ai chercher sur google mais pas trouver exactement se quil faut
La touche F1 lance l'aide de Delphi qui est un outil extraordinaire
Indique le nom et le chemin du dernier fichier sélectionné.
property FileName: TFileName;
Description
La propriété FileName renvoie le nom et le chemin complet du dernier fichier sélectionné. La valeur de FileName est identique au premier élément de la propriété Files.
Pour faire apparaître un nom de fichier par défaut dans la boîte de saisie de la boîte de dialogue, vous pouvez affecter une valeur à FileName dans l'inspecteur d'objets ou dans le code du programme. Les modifications par code de FileName sont sans effet si la boîte de dialogue est active.
Renvoie une liste des noms de fichiers sélectionnés.
property Files: TStrings;
Description
Files est une liste de chaînes qui contient chaque nom de fichier sélectionné avec son chemin complet. Pour permettre aux utilisateurs de sélectionner plusieurs noms de fichiers, positionnez l'indicateur ofAllowMultiSelect dans Options. Utilisez les propriétés et méthodes des listes de chaînes pour parcourir cette liste de fichiers et lire les différents éléments.
L'exemple suivant affecte la liste de fichiers dans Files à la propriété Items d'un composant TListBox.
philippeu64
Messages postés4Date d'inscriptionsamedi 26 juillet 2008StatutMembreDernière intervention28 juillet 2008 27 juil. 2008 à 14:16
je te remercie mais chez moi f1 est vide donc pas d aide de delphi
je v juste ouvrir un document word qui est selectionner dans un repertoires par l utilisateur
merci
Il faut sélectionner le composant pour obtenir l'aide correspondant.
Si tu veux ouvrir word avec ton document en parametre, suffit d'utiliser la fonction ShellExecute en rajoutant ShellApi dans les Uses.
Sur le site de Delphipage tu as des exemples d'utilisation de cette fonction.
Ps : Si la solution te convient, une petite validation du message
philippeu64
Messages postés4Date d'inscriptionsamedi 26 juillet 2008StatutMembreDernière intervention28 juillet 2008 27 juil. 2008 à 18:46
bon la commande shell execute je men sert pour ouvrir des document word et exel donc je connait le nom
mais se que je veut c ouvrir un fichier word ou exel qui est dans un repertoire nomme nouveau mais la je connais pas le nom du fichier qui a ete cree par l utilisateur
sur une form j ai mis un opendialog dans l objet inspector j ai mis dans initial dir le chemin du repertoire c:\maintenance\nouveau
et dans filter index doc et xls puisque c les fichiers qui vont etre ouvert
j appelle
procedure TForm2.ouvrirnouveaudocument1Click(Sender: TObject);
begin
opendialog1.execute;
avec sa j ouvre la fenetre ouvrir pour choisir mon fichier c la ou j ai rien j ai dedans un document pour faire des essais je vois le fichier mais quand je clique dessus rien ne s ouvre
merci je debute en programmation et la je suis mal au secour
philippe64
Vous n’avez pas trouvé la réponse que vous recherchez ?
philippeu64
Messages postés4Date d'inscriptionsamedi 26 juillet 2008StatutMembreDernière intervention28 juillet 2008 27 juil. 2008 à 19:14
merci a toi mais
pour moi c pareil j ai fait
if OpenDialog1.Execute then
ShellExecute(0,'OPEN','C:\Program Files\Microsoft Office\OFFICE11\winword.exe', Nil, Nil, SW_SHOW);
et c toujour pareil j ai pas de fichier qui s ouvre
<En mode pas content>
1)Faudrait apprendre à lire :
Il faut sélectionner le composant pour obtenir l'aide correspondant.
Si
tu veux ouvrir word avec ton document en parametre, suffit d'utiliser
la fonction ShellExecute en rajoutant ShellApi dans les Uses.
Sur le site de Delphipage tu as des exemples d'utilisation de cette fonction.
Ta réponse : Tu n'as pas compris
Réponse de Bacterius :
if OpenDialog.Execute then
ShellExecute( ... ce que tu veux executer ...).
Ta réponse : c'est oki mais ca fonctionne pas
Va falloir m'expliquer la différence entre la réponse de Bacterius est la mienne car là je vois pas : je t'ai dis d'utiliser ShellExecute en utilisant le FileName comme parametre dans le ShellExecute. Ca veut dire
With OpenDialog1 Do
Begin
Filter:='Fichier Doc|*.Doc';
DefaultExt:=Filter;
If Not Execute Then Exit
end;
</En mode pas content>
La prochaine fois : fait l'effort de lire les réponses. Une question similaire a été postée juste avant la tienne. Si tu l'avais lu tu aurais meme posé la tienne.
De plus tu n'as meme pas été sur le site de Delphipage
Pour utiliser la
fonction "ShellExecute", il faut commencer à connaitre
chaque paramètre qu'elle contient.
La syntaxe de la fonction "ShellExecute" est la suivante
:
<table border="0" width="100%">----, function ShellExecuteW(hWnd:HWND;Operation,FileName,Parameters,Directory:
PWideChar;ShowCmd:Integer);</td>
</td></tr></tbody></table>
Ce tableau donne une description des différents paramètres
employés par la fonction ShellExecute.
Paramètre, Description, ----
hWND
, Handle
de la fenêtre parent., ----
Operation, Type d'opération
sur un fichier ou un dossier., ----
FileName, Nom complet
du fichier ou du dossier. , ----
Parameters, Paramètres
passé au fichier exécutable spécifié
par le paramètre "FileName"., ----
Directory, Dossier
par défaut., ----
ShowCmd, Détermine
comment la fenêtre d'application va s'ouvrir.
Il est biien marqué le Parameters non ? J'ai besoin de lunettes ou c'est toi qui a pas fait l'effort de regarder ??
Oh mon Dieu il y a un exemple avec NotePad
ShellExecute(Handle,'open',PChar('NotePad'),PChar('c:\test.txt'),nil,SW_SHOW);
f0xi je suis d'accord avec toi mais s'il veut ouvrir un fichier txt avec word, ca fonctionnera pas avec ta procedure
With OpenDialog1 Do
Begin
Filter:='Fichier Doc|*.Doc';
DefaultExt:=Filter;
If Not Execute Then Exit
ShellExecute(Handle,'open',PChar('C:\Program Files\Microsoft
Office\OFFICE11\winword.exe'),PChar(FileName),nil,SW_SHOW);
end;
Merci de valider la réponse Philippe : tu as plus qu'a faire un copier-coller
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202237 28 juil. 2008 à 01:40
ça ne fonctionnera pas non plus avec ta procedure ... :)
voila comment recuperer Word ou Writer ... de office 97 a 2007 et OpenOffice toute version.
uses Registry;
function GetWordOrOOOWriter: string;
var REG : TRegistry;
begin
REG := TRegistry.Create;
try
REG.RootKey := HKEY_LOCAL_MACHINE;
result := '';
if not FileExists(result) then
begin // OpenOffice
if REG.OpenKey('SOFTWARE\OpenOffice.org\UNO\InstallPath',false) then
result := IncludeTrailingBackSlash(REG.ReadString('Path')) + 'SWriter.exe';
end;
if not FileExists(result) then
begin // Office 2007
if REG.OpenKey('SOFTWARE\Microsoft\Office\12.0\Word\InstallRoot', false) then
result := IncludeTrailingBackSlash(REG.ReadString('Path')) + 'WinWord.exe';
REG.CloseKey;
end;
if not FileExists(result) then
begin // Office 2003
if REG.OpenKey('SOFTWARE\Microsoft\Office\11.0\Word\InstallRoot', false) then
result := IncludeTrailingBackSlash(REG.ReadString('Path')) + 'WinWord.exe';
REG.CloseKey;
end;
if not FileExists(result) then
begin // Office XP
if REG.OpenKey('SOFTWARE\Microsoft\Office\9.0\Word\InstallRoot', false) then
result := IncludeTrailingBackSlash(REG.ReadString('Path')) + 'WinWord.exe';
REG.CloseKey;
end;
if not FileExists(result) then
begin // Office 2000
if REG.OpenKey('SOFTWARE\Microsoft\Office\8.0\Word\InstallRoot', false) then
result := IncludeTrailingBackSlash(REG.ReadString('Path')) + 'WinWord.exe';
REG.CloseKey;
end;
if not FileExists(result) then
begin // Office 97
if REG.OpenKey('SOFTWARE\Microsoft\Office\7.0\Word\InstallRoot', false) then
result := IncludeTrailingBackSlash(REG.ReadString('Path')) + 'WinWord.exe';
REG.CloseKey;
end;
finally
REG.Free;
end;
end;