[VB6] Commandline utility

Pagina: 1
Acties:

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 13:20

me1299

$ondertitel

Topicstarter
Is het mogelijk om met visualbasic een commandline utility te maken?

zoiets zeg maar:

Afbeeldingslocatie: http://members.chello.nl/g.tiele/commandline.jpg

Maar dan met myapp.exe als mijn visual basic programma en niet als batch file :+

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • NetForce1
  • Registratie: November 2001
  • Laatst online: 22-08 23:21

NetForce1

(inspiratie == 0) -> true

Ik denk het niet, misschien dat een uitgebreide MSDN-stooptocht iets oplevert ;) Maar dit kun je misschien beter met QuickBASIC doen, een compiler is vast nog wel ergens op het net te vinden.

De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"


  • Remco
  • Registratie: Januari 2001
  • Laatst online: 23-08 11:45
In vb.net is het zeker mogelijk.
Je kan natuurlijk ook even terugvallen op basic.
Maar kan je het niet met windowsscript of kix32 o.i.d. af ?

The best thing about UDP jokes is that I don't care if you get them or not.


  • me1299
  • Registratie: Maart 2000
  • Laatst online: 13:20

me1299

$ondertitel

Topicstarter
VB.Net heb ik niet.

Basic enzo schiet allemaal niet erg op.

Wat ik hier mee wil is namelijk een commandline proggie maken om in combinatie te gebruiken met php. Zodat ik allerlei uitzonderlijke functionaliteit kan gaan gebruiken.

Commandline parameters doorgeven is geen probleem, maar ook in de commandline iets terug zeggen wel.

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • Noork
  • Registratie: Juni 2001
  • Niet online
Bedoel je in dos? Dan kun je misschien met een batchfile werken. Of bijvoorbeeld het vb programma runnen en het resultaat naar een file schrijven. Vervolgens met de batchfile de inhoud van het bestand tonen of zo?

Maar om welke functionaliteit gaat het dan precies? en hoe wil je het koppelen aan php? hoe had je dat in gedachten?

[ Voor 26% gewijzigd door Noork op 03-04-2003 16:00 . Reden: inhoud is natuurlijk niet met dt ]


  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

VB commandline console executable.. eeuh dat weet ik niet.. maar ik weet wel hoe je heel makkelijk die parameters kan oppakken..

  • NetForce1
  • Registratie: November 2001
  • Laatst online: 22-08 23:21

NetForce1

(inspiratie == 0) -> true

Als het echt niet lukt in VB kun je misschien ook met een file werken, waar je de communicatie ingooit, aangezien je in QB geen events hebt, zul je het eens in de zoveel tijd uit moeten laten lezen.
Of je moet gewoon van VB afstappen :P

De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"


  • me1299
  • Registratie: Maart 2000
  • Laatst online: 13:20

me1299

$ondertitel

Topicstarter
Noork schreef op 03 april 2003 @ 15:57:
Bedoel je in dos? Dan kun je misschien met een batchfile werken. Of bijvoorbeeld het vb programma runnen en dit naar een file schrijven. Vervolgens met de batchfile de inhoudt van het bestand tonen of zo?
Het hoeft iig alleen maar op m'n windows 2000 server zelf te werken. Het belangrijkste is dat ik met php m'n exe file kan uitvoeren met parameters. En hij vervolgens ook wat terug geeft of het gelukt is of wat hij heeft opgehaald oid.

Kortom: PHP moet met mijn VB app kunnen communiceren.

Ik kan dan opzich wel beide programma's (PHP & Mijn VB APP) allebei in een file laten schrijven / lezen. Maar dat lijkt me niet echt efficient.

[ Voor 12% gewijzigd door me1299 op 03-04-2003 16:02 ]

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • Noork
  • Registratie: Juni 2001
  • Niet online
Met php kun je zo een programma starten. (weet niet zeker, ben geen php-expert)
code:
1
<? exec("programma.exe"); exit; ?>

Programmaatje kun je bijvoorbeeld een tekstbestandje aan laten maken of een database bijwerken. Dit kun je hierna weer uitlezen met php.
DeathKnight schreef op 03 April 2003 @ 15:59:
Ik kan dan opzich wel beide programma's (PHP & Mijn VB APP) allebei in een file laten schrijven / lezen. Maar dat lijkt me niet echt efficient.
shit niet goed gelezen. maar volgens mij kun je niet een waarde weer terugsturen aan php.

[ Voor 46% gewijzigd door Noork op 03-04-2003 16:07 ]


  • me1299
  • Registratie: Maart 2000
  • Laatst online: 13:20

me1299

$ondertitel

Topicstarter
Noork schreef op 03 April 2003 @ 16:03:
Met php kun je zo een programma starten. (weet niet zeker, ben geen php-expert)
code:
1
<? exec("programma.exe"); exit; ?>

Programmaatje kun je bijvoorbeeld een tekstbestandje aan laten maken of een database bijwerken. Dit kun je hierna weer uitlezen met php.
Programma's executen met php is geen probleem dat ik heb ik al vaker gedaan. Alleen met visual basic een mysql server aanspreken is echt geen pretje. Dat is me nog nooit echt fijn gelukt. En dan moet je php in een loop telkens laten checken of de betreffende file al bijgewerkt is.

Het mooiste zou gewoon zijn als ik in php het volgende kon doen:

PHP:
1
$woei = shell_exec("mijnApp.exe -doewatleuks");


En dat hij dan wat terug geeft wat vervolgens in $woei staat.

Verder is het alweer een hele tijd geleden dat ik wat in Visual Basic heb gedaan, maar dat komt vanzelf wel weer boven.

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • me1299
  • Registratie: Maart 2000
  • Laatst online: 13:20

me1299

$ondertitel

Topicstarter
Euhh is dit nix? http://www.webwide-system...line_for_visual_basic.htm

Dat ga ik eens ff aandachtig lezen ;)

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • MissingDog
  • Registratie: Augustus 2002
  • Niet online
Met behulp van de Win32 API is het mogelijk om console apps te schrijven in VB...heb ik een paar jaar geleden eens gedaan voor een werkgever, maar heb hier ff geen voorbeelden meer liggen.

  • Noork
  • Registratie: Juni 2001
  • Niet online
oke, geen database dan. Maar als het een klein programmaatje is, zal het wel snel draaien. Dus zet dan gewoon in je html een refresh (met een tijd van 4 a 5 seconden) die een php bestand aanroept dat het bestandje uitleest. Niet echt een real-time oplossing, maar ach.

Ik kan je helaas niet helpen bij je $woei-idee. ;)

[ Voor 8% gewijzigd door Noork op 03-04-2003 16:16 ]


  • NetForce1
  • Registratie: November 2001
  • Laatst online: 22-08 23:21

NetForce1

(inspiratie == 0) -> true

Je zult je dus weer moeten verdiepen in VB, misschien is het dan beter om gelijk over te stappen op .Net of Java, daamee gaat het praten met MySQL een stuk beter.

De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"


  • Noork
  • Registratie: Juni 2001
  • Niet online
Ik heb dit net even getest, en het werkt gewoon. Welliswaar een batchfile, maar het kan wel.
code:
1
2
3
<? $woei = exec("datum.bat"); 
echo $woei;
exit; ?>


en hier de batchfile:
code:
1
2
3
4
5
6
@echo off
cls
date /t >date.txt
FOR /f "eol=; tokens=2,3* delims=, " %%i in (date.txt) do set datum=%%i
echo %datum% >date.txt
type date.txt

[ Voor 14% gewijzigd door Noork op 03-04-2003 16:26 ]


  • me1299
  • Registratie: Maart 2000
  • Laatst online: 13:20

me1299

$ondertitel

Topicstarter
Wat ik natuurlijk ook kan doen is mijn VB applicatie een PHP script aan laten roepen die vervolgens in de database iets bijwerkt zodat mijn primaire script kan kijken of er iets gewijzigd is.

Maar dan moet je toch een vage pauze inbouwen. Of een soort loop dat hij telkens gaat kijken, maar het blijft al met al nogal inefficient.

Ik heb ook al gezocht op www.vbforums.com maar daar vond ik ook nix.

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • me1299
  • Registratie: Maart 2000
  • Laatst online: 13:20

me1299

$ondertitel

Topicstarter
Noork schreef op 03 April 2003 @ 16:25:
Ik heb dit net even getest, en het werkt gewoon. Welliswaar een batchfile, maar het kan wel.
code:
1
2
3
<? $woei = exec("datum.bat"); 
echo $woei;
exit; ?>


en hier de batchfile:
code:
1
2
3
4
5
6
@echo off
cls
date /t >date.txt
FOR /f "eol=; tokens=2,3* delims=, " %%i in (date.txt) do set datum=%%i
echo %datum% >date.txt
type date.txt
Ja maar het probleem is niet hoe ik het met php moet weergeven, maar ik weet niet hoe ik visual basic terug moet laten blaten voor exec();

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • CaineTanathos
  • Registratie: Februari 2001
  • Laatst online: 07-07 22:00
je kan toch bij file - new project (visual basic projects) - Console Applications kiezen

//update

Oeps idd, in vb.net kun je dat wel kiezen, sorry :)

[ Voor 28% gewijzigd door CaineTanathos op 03-04-2003 16:47 ]

Perilous to us all are the devices of an art deeper than we possess ourselves.


  • me1299
  • Registratie: Maart 2000
  • Laatst online: 13:20

me1299

$ondertitel

Topicstarter
CaineTanathos schreef op 03 April 2003 @ 16:40:
je kan toch bij file - new project (visual basic projects) - Console Applications kiezen
Nope, jammer genoeg niet :)


http://nirsoft.multiservers.com/vb/console.html

Dat ziet er trouwens wel heel belovend uit ;)

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

DeathKnight schreef op 03 April 2003 @ 16:43:
[...]


Nope, jammer genoeg niet :)


http://nirsoft.multiservers.com/vb/console.html

Dat ziet er trouwens wel heel belovend uit ;)
Zo dus.. met Api calls dus zoals missngdog al poste... handig om te weten

Verwijderd

hier is een goede voorbeeld voor een console app in VB6 met in en output

http://www.freevbcode.com/ShowCode.Asp?ID=1265

  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

De netste manier om dit te doen lijkt me mbv een COM VB-object. Dan klus je een dll die je in iig ASP kunt aanroepen, ik neem aan ook in PHP op windows2000 ;)
(ik weet iig van activestate perl, dat dat COM ondersteund ;) )

En als je php geen COM ondersteund weet ik wel hoe vbscript commandline args opvangt :) Dan zou je als nood-oplossing die vbscript op de commandline kunnen starten, en in dat script een COM object aanmaken :)

edit: commandline-argumenten met vbscript:
code:
1
blaat = wscript.arguments(0)


edit 2:
(1) Just pass them as you would any other command parameters i.e myvbexe.exe param1 param2 from either a DOS prompt, a shortcut or from the Start..Run menu. To do it within Visual Basic while you are debugging, go to the VB Project menu, and select properties. This shows a project window with 5 tabs (General, Make, Compile, Component, Debugging). Select the Make tab, and fill in your commandline parameters in the textbox marked Command Line Arguments.

(2) In your VB program access the parameters on the command line through the function Command. For example :

Private Sub Form_Unload
MsgBox "The Command Line Arguments were : " & Command()
End Sub
bron

[ Voor 54% gewijzigd door j_du_pee op 03-04-2003 16:56 ]

kaart != map && bottel != fles
Wacht op antwoord


  • me1299
  • Registratie: Maart 2000
  • Laatst online: 13:20

me1299

$ondertitel

Topicstarter
Verwijderd schreef op 03 april 2003 @ 16:49:
hier is een goede voorbeeld voor een console app in VB6 met in en output

http://www.freevbcode.com/ShowCode.Asp?ID=1265
die creert alleen een nieuwe promt ;)


Mijn eigen url werkt nu goed, en die zal ik dan maar gaan gebruiken.

Allemaal bedankt voor jullie inzet!

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 19-08 19:06
Je kan toch gewoon in VB6 een nieuw project aanmaken en vervolgens via:
project->[projectnaam] properties->general->startup object
de waarde van [formnaam] in 'sub main' veranderen.
'sub main' zet je vervolgens in een module en de form kun je verwijderen. Compileer en je hebt een mooie console app, zonder API gerotzooi.
Eén nadeel: ik weet niet hoe je een bericht naar de stdout kan schrijven, maar op msdn zal daar vast wel iets over te vinden zijn.

  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 15-08 11:47

Sponge

Serious Game Developer

Ik heb zoiets gemaakt..niet 100% command line, maar wel een echte console :)

http://www.persistentrealities.com/index.php?p=15 ---> "VB Dos"

Misschien is dat iets wat je kunt gebruiken. Het is overigens wel een tijdje terug dat ik dit gemaakt heb.
Pagina: 1