Salut,
Je dois lors de l'execution de mon programme, ouvrir un fichier .csv � l'�cran avec Excel, J'ai trouv� dans l'aide TFileRun mais aucun moyen de savoir comment l'utiliser...
Merci...
Version imprimable
Salut,
Je dois lors de l'execution de mon programme, ouvrir un fichier .csv � l'�cran avec Excel, J'ai trouv� dans l'aide TFileRun mais aucun moyen de savoir comment l'utiliser...
Merci...
Le code suivant m'a permis d'ouvrir un fichier txt avec l'�diteur associ� :
Code:
1
2
3
4
5
6
7
8 TFileRun* Fichier = new TFileRun(this); Fichier->FileName = "C:\\MonFichier.txt"; Fichier->Operation = "open"; Fichier->Execute(); delete Fichier;
Je te remercie, mais il me met "undefined symbol TFileRun" et dans l'aide de builder il n'est pas �crit ce que je devrais eventuellement d�clarer ?
C'est bizarre qu'il ne le reconnaisse pas ?
Il faut donc ajouter cette ligne dans ton headerCitation:
Envoy� par Aide de Builder sur TFileRun
Code:
1
2 #include <ExtActns.hpp>
OK je te remercie..
Par contre maintenant il me sort une erreur sur cette ligne :
Au "this" et me dis :Code:TFileRun * Fichier = new TFileRun(this);
'Could not find a match for 'TFileRun::TFileRun(MaClasse * const)'
La classe TFileRun a besoin d'avoir un propri�taire pour pouvoir �tre instanci�e. Dans l'exemple que je t'ai donn�, j'ai utilis� this qui correspond � ma fiche de test.Citation:
Envoy� par Fred2209
Vue que je ne sais pas dans quel contexte tu veux utiliser TFileRun, je ne peux t'aider plus...
Nb :Tu aurais pu trouver toutes ses infos dans l'aide en appuyant sur F1
En fait je voudrais lancer cette feuille Excel donc j'ai ins�rer ton morceau de programme dans une fonction qui est elle meme d�clar�e dans une classe.
Alors j'ai essay� � la place de "this" de mettre le nom de ma classe et la il me met " improper use of typedef 'maclasse' "...
Je ne vois pas ce que je pourrais mettre comme propri�taire...
Prototype du contructeur de TFileRun
Pour que TFileRun soit instanci�, il faut un propri�t� d�rivant de TComponent pour que cela marche.Code:
1
2 inline __fastcall virtual TFileRun(Classes::TComponent* AOwner):
Or, TComponent est l'anc�tre commun � tous les composants susceptibles d'appara�tre dans le concepteur de fiches.
Cela ne fonctionnera donc pas dans ta classe � part si tu passes un composant visuel comme propri�t� de ta classe.
Tu dois �galement pouvoir faire ce que tu d�sires avec la fonction ShellExecute...
Pour ce qui est de ShellExecute apparement dans les tutoriels ils pr�cisent que c'est pour lancer un executable alors que moi c'est un .csv comme pour toi un .txt qui vont s'ouvrir avec leur programme respectif...
Sinon, je te promets tu m'as paum�... qu'appelles-tu "ta fiche" ??
ShellExecute fonctionne pour les ex�cutables mais �galement pour les fichiers de donn�es tant qu'un ex�cutable pouvant ouvrir ce d�t fichier existe. Si Excel le supporte, tu peux �galement essayer de lancer Excel avec ton fichier en param�tre.Citation:
Envoy� par Fred2209
Ce que j'appelle fiche, c'est ta classe TForm de base (et c'est, � mon avis, le sens donn� par Borland)
J'ai essay� avec mon TForm de base �a ne marche pas non plus...
j'ai lu vite fait le fil du topic...
perso j'ouvres mes fichiers comme �a:
�a ouvre le fichier avec le prog ad�quat et si pas de prog associ� � l'extension, �a demande de choisir le programme pour ouvertureCode:
1
2
3
4
5
6
7
8
9 int ErrNo ; FilePath = chemin_de_mon_fichier, ErrNo =(int)ShellExecute(NULL,"open",FilePath.c_str(),"","",SW_SHOW); if(ErrNo==SE_ERR_NOASSOC) { String OpenWithCommandParam = "shell32.dll,OpenAs_RunDLL " + FilePath; ShellExecute(NULL,"open","rundll32.exe",OpenWithCommandParam.c_str(),"",SW_SHOW); }
en esp�rant t'aider
A+
�a y est merci � vous !!
�a marche avec ShellExecute !!!:lol:
Fred2209, il y a aussi l'API ShellExecuteEx qui permet d'utiliser une structure SHELLEXECUTEINFO dans la quelle tu peux pr�ciser quel ex�cutable tu veux utiliser en plus du fichier � ouvrir. Sans parler de CreateProcess qui est un peu plus compliquer � utiliser.
bakaneko, pourquoi utilises-tu pr�f�rentiellement le bouton "Citer" plut�t que "Ajouter une r�ponse" ? Cela surcharge le fil inutilement, me semble-t-il :P
Parce que cela permet de devoir rechercher, dans les posts pr�c�dents, l'origne de mes r�ponses.Citation:
Envoy� par Altau