Bonjour,
je voulais savois si il etait possible de faire des etexecute des script vbs avec delphi 7 et 2005
merci
Version imprimable
Bonjour,
je voulais savois si il etait possible de faire des etexecute des script vbs avec delphi 7 et 2005
merci
:salut:
qu'entends tu par faire ?
s'il s'agit de coder, compiler et déboguer je ne pense pas. delphi n'est pas VB quand même, et encore !
pour ce qui est de les exécuter, un simple ShellExecute suffit non ?
Non,Juste la posibile d 'execute un script en passant des variablr
Exemple
et faire paser le teste d un edit comme variable a la place de nomde l'OU.Code:
1
2
3
4 Set objDomain = GetObject("LDAP://dc=delphi ,dc=local") Set objOU = objDomain.Create("organizationalUnit", "ou=nom de l'OU") objOU.SetInfo
Mais si il etait possible de mettre des script dans delphi ca serait encore mieux.
merci
une solution serait de créer ton script dans un programme delphi à la volée, pour contenir la valeur d'un edit, de l'enregistrer dans un fichier sur le disque et puis de le lancer via ShellExecute.
tu peux utiliser le TScriptControl pour executer des script vbs ou javascript
apres avoir importer la bibliotheque de type "Microsoft Script Control" et creer le wrapper a condition que le vbscript soit installe sur ta machine.
ensuite tu peux executer du VBScript dans delphi ex:
je suis pas un as du vbscript mais ceci a pour effet de demander le nom (exemple Kaféine) et ensuite afficher "bonjour Kaféine"Code:
1
2
3
4
5
6
7
8
9
10
11
12 procedure TForm1.btn1Click(Sender: TObject); begin c := TScriptControl.Create(Self); try c.Language := 'VBScript'; c.AddCode('Nom = InputBox("Rentrez votre nom")'); c.AddCode('MsgBox "Bonjour " & Nom '); finally c.Free; end; end;
+1 @Kaféine.
que demander de plus ?
Merci je vais chercher tout ce que tu as di:king:
Par curiosite
C'est pas un objet de la palette de composant
Si oui ou
J'ai bien compris que je le creais mais comment as tu decouvert ca
merci
Desole je connais un peu mieux le vbs que delphi et je n'arrive apres avoir copier ton code a faire tourne.
Comment declarer TScriptControl et ou
merci
tu dois importer un contrôle ActiveXCitation:
Envoyé par Kaféine
si tu ne sais pas comment t'y prendre, regarde ici dans la :faq:
et puis fais preuve d'un peu de patience tout de même, un forum c'est pas un chat ! :aie:
Merci j'ai fais un tour sur la FAQ trop tard
bonjour,
tiens, question bête : pourquoi executer du script vbs dans Delphi ? Pourquoi ne pas l'écrire tout simplement en Delphi ?
@++
Dany
oui mais comment:(
un des intérêts qui me viens à l'esprit c'est que avec les scripts tu peux ajouter des fonctionnalites à l'application sans avoir à recompiler celle-ci.Citation:
Envoyé par skywaukers
ex: beaucoup de client IRC utilise les scripts.
oui mais comment quoi? :)Citation:
Envoyé par neuneu1
Ben ne pas passer par l objet script.
Par contre merci a toi mes script tourne bien (nouveau user dans Ad, UO, etc..)
La je m'attaque a recuper les donner d un script dans un grid, pas gagne :yaisse2:
Ben ne pas passer par l objet script.l'ecrire en delphi.
Par contre merci a toi mes script tourne bien (nouveau user dans Ad, UO, etc..)
La je m'attaque a recuper les donner d un script dans un grid, pas gagne :yaisse2
en important la bibliotheque de type ActiveDs_TLB tu peux faire ce que tu dit a propos de Active Directory directement dans delphi sans les scripts vbsCitation:
Envoyé par neuneu1
Desole surement rop balaise pour mois .
un exemple un tuto ds lecoin:(
merci quand meme
j'ai trouve ca mais du mal a comprendre
j'ai telecharge les unite, je dois bien faire projet ajoute
par contre la librairie et activex ????
http://developpez.net/forums/showthread.php?t=309949
Pour les construction ad ca va aller mais le debut dur.
Plus simple avec le rootds
merci
script VB:
Code:
1
2
3
4 Set objDomain = GetObject("LDAP://dc=delphi ,dc=local") Set objOU = objDomain.Create("organizationalUnit", "ou=nom de l'OU") objOU.SetInfo
Citation:
Envoyé par skywaukers
et bien voilà...Citation:
Envoyé par neuneu1
Code:
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 function ADsGetObject(lpszPathName: PWideChar; const riid: TGUID; out obj): HResult; stdcall; external 'activeds.dll'; function ADsOpenObject(lpszPathName: PWideChar; lpszUserName: PWideChar; lpszPassword: PWideChar; dwReserved: LongInt; const riid: TGUID; out obj): HResult; stdcall; external 'activeds.dll'; //=== Ajout dans les USES: ActiveDs_TLB === procedure TForm1.Button1Click(Sender: TObject); var LDAPWideStr:WideString; adDomain:IADsContainer; adOU:IADsOU; UnknownObj: IUnknown; i:integer; begin LDAPWideStr:='LDAP://dc=delphi,dc=local'; ADsGetObject( PWideChar(LDAPWideStr),IADsContainer,adDomain); adOU:=IADsOU(adDomain.Create('organizationalUnit', 'ou=EBDemo')); adOU.SetInfo; end;