Aide pour conception d'un prog ... - Delphi/Pascal - Programmation
Marsh Posté le 14-11-2002 à 19:13:44
oui, tu peux faire ca en delphi, c++ builder, java aussi, visual basic, ...
le plus simple pour ca, c'est bien VB ou Delphi
tu crées un nouveau projet appli windows, tu colles 3 textfield et 1 button
tu double-cliques sur ton boutton, et tu edites le code pour faire un exec (je connais plus les commandes ...) d'une chaine que tu vas contruire:
chaine = "tonbat " + field1.text + " " + field2.text + " " + field3.text
Marsh Posté le 14-11-2002 à 19:16:51
vb est simple, delphip as essayer...
ta la command shell() je kroi pour executé un prog... app.path de tete pour recuperer le dossier, et rulez...
Marsh Posté le 14-11-2002 à 19:18:18
vous regardez jamais le titre des messages ou la section ?
parce que le langage, il est déja choisi, la...
Marsh Posté le 14-11-2002 à 19:19:21
lorill a écrit a écrit : vous regardez jamais le titre des messages ou la section ? parce que le langage, il est déja choisi, la... |
ce ke g mal lu, c surtt le nom des posteurs
g vu vb kke part, g cru ke ct lui, mea culpa
Marsh Posté le 14-11-2002 à 19:32:21
ShellExecute(0, nil, PChar('fichier.bat', PChar(Format('%s %s %s', [Edit1.Text, Edit2.Text, Edit3.Text])), nil, SW_SHOWNORMAL);
Marsh Posté le 14-11-2002 à 19:36:31
Citation : ShellExecute(0, nil, PChar('fichier.bat', PChar(Format('%s %s %s', [Edit1.Text, Edit2.Text, Edit3.Text])), nil, SW_SHOWNORMAL); |
mais est ce que dos peut faire:
Code :
|
car sans vouloir etre mechant il me semble que DOS ne supporte que deux parametres !
Marsh Posté le 14-11-2002 à 19:43:55
bah j'aimerai faire ca en delphi le blem c ke le pascal je connai pas du tout, je ds le java plutot mais pas encore les interface grafique
du coup je me lance dans Delphi
fai trois case de text et un bouton c pas tro dur ^^
mais je cherche la syntaxe pour ke le klick sur le bouton lance mon .bat
Marsh Posté le 14-11-2002 à 19:44:24
je sais pas à combien c'est limité, mais c'est plus que 2 en tout cas
Marsh Posté le 14-11-2002 à 19:45:58
EpoK a écrit a écrit : mais je cherche la syntaxe pour ke le klick sur le bouton lance mon .bat |
dans l'éditeur de la Form où tu as mis le bouton, tu cliques 2x sur le bouton (ou via l'onglet "Events" de l'Inspector, sur la ligne OnClick) et là dans la procédure Button1OnClick que Delphi aura rajouté tu fais l'appel à ShellExecute.
Pour ça tu dois aussi rajouter ShellAPI parmis les units qui sont mentionnées derrière "uses" dans le début de la unit.
Marsh Posté le 14-11-2002 à 19:49:02
les case ke je cré en Delphi c'est bien des "Edit" dans le menu Standard non ?
Marsh Posté le 14-11-2002 à 19:52:22
procedure TForm1.Button1Click(Sender: TObject);
begin
end;
end.
tu fais l'appel à ShellExecute.
c koi la syntaxe ?
Marsh Posté le 14-11-2002 à 20:05:46
antp a écrit a écrit : ShellExecute(0, nil, PChar('fichier.bat', PChar(Format('%s %s %s', [Edit1.Text, Edit2.Text, Edit3.Text])), nil, SW_SHOWNORMAL); |
Code :
|
Marsh Posté le 14-11-2002 à 20:25:59
ShellExecute(0, nil, PChar('fichier.bat', PChar(Format('%s %s %s', [Edit1.Text, Edit2.Text, Edit3.Text])), nil, SW_SHOWNORMAL);
ca marche !
mais si jeu veu mette kekechoz avec l'argument ? du text ... le début d'une cmd dos du style "ping"
Marsh Posté le 14-11-2002 à 20:38:10
niveau arguments tu peux au moins aller de %1 à %9.
Pour info, tu peux même tester %0 qui correspond à la commande (.bat) qui reçoit les arguments. C'est case-sensitive si je me souvient bien
Marsh Posté le 14-11-2002 à 20:40:08
EpoK a écrit a écrit : ShellExecute(0, nil, PChar('fichier.bat', PChar(Format('%s %s %s', [Edit1.Text, Edit2.Text, Edit3.Text])), nil, SW_SHOWNORMAL); ca marche ! mais si jeu veu mette kekechoz avec l'argument ? du text ... le début d'une cmd dos du style "ping" |
ShellExecute(0, nil, PChar('fichier.bat', PChar(Format('%s %s %s', [Edit1.Text, Edit2.Text, Edit3.Text])), nil, SW_SHOWNORMAL);
comment inséré du text avt les argument ?
Marsh Posté le 14-11-2002 à 20:51:31
ShellExecute(0, nil, PChar('fichier.bat', PChar('tontextici',PChar(Format('%s %s %s', [Edit1.Text, Edit2.Text, Edit3.Text])), nil, SW_SHOWNORMAL);
ca marche pas comme ca?
Marsh Posté le 14-11-2002 à 20:53:55
leirn a écrit a écrit : ShellExecute(0, nil, PChar('fichier.bat', PChar('tontextici',PChar(Format('%s %s %s', [Edit1.Text, Edit2.Text, Edit3.Text])), nil, SW_SHOWNORMAL); ca marche pas comme ca? |
marche po
Marsh Posté le 14-11-2002 à 21:11:23
EpoK a écrit a écrit : ShellExecute(0, nil, PChar('fichier.bat', PChar(Format('%s %s %s', [Edit1.Text, Edit2.Text, Edit3.Text])), nil, SW_SHOWNORMAL); comment inséré du text avt les argument ? |
ShellExecute(0, nil, PChar('fichier.bat', PChar(Format('ping %s %s %s', [Edit1.Text, Edit2.Text, Edit3.Text])), nil, SW_SHOWNORMAL);
par exemple
ou bien
ShellExecute(0, nil, PChar('fichier.bat', PChar('ping' + Format('%s %s %s', [Edit1.Text, Edit2.Text, Edit3.Text])), nil, SW_SHOWNORMAL);
1er param = 0, c'est un handle de je sais plus quoi, on s'en fout
2e param = nil, c'est un pointeur vers la chaine contenant l'action à affectuer, par défaut open, donc on s'en fout
3e param = pointeur vers la chaine contenant le nom (+ chemin éventuel) du fichier à exécuter
4e param = nil, pointeur vers la chaine contenant le dossier à partir duquel on execute. Pour bien faire il faut mettre là le dossier où est le .bat. Tu peux aussi mettre ce dossier avant le nom du fichier. Exemples si le fichier.bat est dans le même dossier que l'application :
ShellExecute(0, nil, PChar('fichier.bat', PChar(Format('%s %s %s', [Edit1.Text, Edit2.Text, Edit3.Text])), PChar(ExtractFilePath(ParamStr(0))), SW_SHOWNORMAL);
ou
ShellExecute(0, nil, PChar(ExtractFilePath(ParamStr(0)) + 'fichier.bat', PChar(Format('%s %s %s', [Edit1.Text, Edit2.Text, Edit3.Text])), nil, SW_SHOWNORMAL);
ParamStr(0) = 'c:\monprogramme\project1.exe' si ton exe d'appelle comme ça et est là. ça permet de récupérer le dossier de l'application, son nom d'exe, etc...
ExtractFilePath(...) = extraction du dossier d'une chaine contenant un dossier+fichier
5e param = aspect de la fenêtre à l'ouverture, ici normale (on pour l'agrandir; la faire minimisée, etc..)
Marsh Posté le 14-11-2002 à 21:15:10
Y a des tutoriels Delphi pour débutants sur www.developpez.com je pense
Tu devrais y jeter un coup d'oeil
Sinon y a pas mal de liens ici : http://forum.hardware.fr/forum2.php3?post=16838&cat=10
Marsh Posté le 15-11-2002 à 07:21:35
antp a écrit a écrit : Y a des tutoriels Delphi pour débutants sur www.developpez.com je pense Tu devrais y jeter un coup d'oeil Sinon y a pas mal de liens ici : http://forum.hardware.fr/forum2.php3?post=16838&cat=10 |
merci pour ton aide
jai jeté un couil d'oeuil o tuto mais j'suis un peu a la bourre et j'arrivé pas a trouvé ce ki me fallais
encore merci
Marsh Posté le 15-11-2002 à 07:22:16
une kestion c possible d'intérgré le .bat au .exe pour évité d'avoir 2 fichier ?
Marsh Posté le 15-11-2002 à 09:25:44
le bat étant un fichier texte et l'exe un fichier binaire, non, tu ne peux pas.
Marsh Posté le 15-11-2002 à 09:33:15
Heu si on peut (dans les ressources) mais bon ça va être un bordel monstre pour l'exploiter
Mais je vois pas trop l'intérêt du bat une fois que t'as le exe, suffit de refaire en Delphi+Win32 ce que tu faisais en commandes DOS
Marsh Posté le 15-11-2002 à 09:48:48
damn
Marsh Posté le 14-11-2002 à 19:08:02
Vala je cherche a faire une interface toute conne avec 3 case vide et un bouton, le principe est que l'ultilisateur rempli les 3 cases puis en appuiant sur le bouton cela lance un .bat (qui est ds le meme dossier) avec comme argument les 3 info kil a renseigné dans les cases.
spossible ?