Toon posts:

[Delphi] DOS command

Pagina: 1
Acties:
  • 225 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
halo,

Ik heb een vraagje
hoe kan je in delphi een dos prompt openen met een bepaalde command bv ping
ik heb de volgende regel gebruikt maar het lukt niet echt

WinExec('COMMAND.COM /C DIR *.*', SW_SHOWNORMAL);

:?

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 18-05 09:50

pjvandesande

GC.Collect(head);

Je kan toch gewoon een batch bestand starten die dit voor je doet?

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Verwijderd schreef op maandag 27 december 2004 @ 15:06:
halo,

Ik heb een vraagje
hoe kan je in delphi een dos prompt openen met een bepaalde command bv ping
ik heb de volgende regel gebruikt maar het lukt niet echt

WinExec('COMMAND.COM /C DIR *.*', SW_SHOWNORMAL);

:?
dat werkt prima, alleen sluit de dosbox meteen zodra hij klaar is :)

  • FendtVario
  • Registratie: Januari 2002
  • Laatst online: 12-05-2025

FendtVario

The leader drives Vario!

Of direct het command ping uitvoeren. Er zijn ook manier om de console te lezen (en dus ook wel om te schrijven). Hier een stukje code dat ik op internet vond met de termen delphi read console

www.fendt.com | Nikon D7100 | PS5


Verwijderd

Topicstarter
WinExec('COMMAND.COM /C DIR *.*', SW_SHOWNORMAL);

dus als hij klaar is, sluit ie weer af :S

maar als ik schrijf telnet, dan sluit ie ook. 8)7

waar precies moet je die command nou schrijve tusse die twee * ??

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 18-05 09:50

pjvandesande

GC.Collect(head);

Wat wil je precies doen? Want ik heb het gevoel dat er veel meer oplossingen zijn voor jou probleem. Command sluit gelijk weer, maar voer maar is een ping uit. Dan sluit command pas als de ping is uitgevoerd.

Je kan de output stream ook gewoon uitlezen, hoef je geen window te showen. Maar nogmaals, wat wil je precies doen?

toevoeging:
Verwijderd schreef op maandag 27 december 2004 @ 15:27:
[..]
waar precies moet je die command nou schrijve tusse die twee * ??
Nee, dat is je dir filter. Kijk is naar de arguments die Command.exe aanneemt en probeer hier is wat mee te spelen.

Ik weet niet precies wat je nou wilt, een ping command uitvoeren in het command window?

[ Voor 39% gewijzigd door pjvandesande op 27-12-2004 15:35 ]


  • FendtVario
  • Registratie: Januari 2002
  • Laatst online: 12-05-2025

FendtVario

The leader drives Vario!

Het programma sluit af omdat het klaar is met het uitvoeren van de opdracht. Als je de uitvoer dus wilt lezen (of wilt laten zien) zul je er dus voor moeten zorgen dat het programma niet direct gesloten wordt of dat je de uitvoer opvangt (bijv. via de code die ik hierboven gelinkt heb (heb ik alleen gevonden, niet getest)).

www.fendt.com | Nikon D7100 | PS5


Verwijderd

Topicstarter
kun je aub dat ene regel met ping hier zette ?? O-) _/-\o_


da's alles :P

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 18-05 09:50

pjvandesande

GC.Collect(head);

Verwijderd schreef op maandag 27 december 2004 @ 15:36:
kun je aub dat ene regel met ping hier zette ?? O-) _/-\o_


da's alles :P
Wat wil je nou precies? Wil je een ping actie uitvoeren? Wil je weten of een server up is en dit in je applicatie laten zien? Wil je echt iets pingen en in een command window? Wil je de ping results?

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Delphi heeft ook componenten om zelf een ping uit te voeren en er mee te doen wat je wilt. Geen moeilijk console afvang gedoe. Bijvoorbeeld Indy's TIdICMPClient.

We adore chaos because we like to restore order - M.C. Escher


  • FendtVario
  • Registratie: Januari 2002
  • Laatst online: 12-05-2025

FendtVario

The leader drives Vario!

Verwijderd schreef op maandag 27 december 2004 @ 15:36:
kun je aub dat ene regel met ping hier zette ??
da's alles
Zoals ik zei had ik alleen een code voorbeeldje opgezocht om een console te lezen. Bekijk en probeer die eens, pas het aan als jij iets anders wilt. Op internet is waarschijnlijk zat te vinden. Zelf heb ik geen programma(voorbeeld) dat een console leest.

Als je inderdaad alleen een ping wilt uitvoeren probeer dan zoals LordLarry zegt eens de Indy componeten.

[ Voor 2% gewijzigd door FendtVario op 27-12-2004 16:15 . Reden: smilies in quote verwijderd ]

www.fendt.com | Nikon D7100 | PS5


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Verwijderd schreef op maandag 27 december 2004 @ 15:36:
kun je aub dat ene regel met ping hier zette ?? O-) _/-\o_


da's alles :P
Delphi:
1
WinExec('ping -t 127.0.0.1', SW_SHOWNORMAL); 


:?

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 18-05 09:50

pjvandesande

GC.Collect(head);

Als je echt wilt pingen lijkt mij een ping components iets makkelijker of zelf even een ping component in elkaar drukken dmv sockets. Is zat over te vinden op het internet, ook voor Delphi.

  • FendtVario
  • Registratie: Januari 2002
  • Laatst online: 12-05-2025

FendtVario

The leader drives Vario!

Erkens schreef op maandag 27 december 2004 @ 16:20:
Delphi:
1
WinExec('ping -t 127.0.0.1', SW_SHOWNORMAL); 
Dat kan natuurlijk, maar dat stopt nooit :). Expres niet gepost omdat ik vermoedde dat dit voor de TS ook niet de juist op lossing is (als dat het wel is wil ik wel eens weten wat het voor nut heeft).

www.fendt.com | Nikon D7100 | PS5


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

FendtVario schreef op maandag 27 december 2004 @ 16:29:
[...]


Dat kan natuurlijk, maar dat stopt nooit :). Expres niet gepost omdat ik vermoedde dat dit voor de TS ook niet de juist op lossing is (als dat het wel is wil ik wel eens weten wat het voor nut heeft).
natuurlijk, maar zonder info van de TS is dit een juiste oplossing, en dat die nooit stopt tja haal de -t weg of druk op ctrl-c enzo, niet mijn probleem.

Overigens kan dit soms best wel nuttig zijn om het zo te doen, als je toch zelf niks met de info verder doet ;)

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 14-05 03:35
Op torry hebben ze wel een leuk componentje die je een commandline kan sturen en die de output in een memotje oid zet :) ben er toevallig zelf ook mee bezig

  • FendtVario
  • Registratie: Januari 2002
  • Laatst online: 12-05-2025

FendtVario

The leader drives Vario!

Megamind schreef op maandag 27 december 2004 @ 16:38:
Op torry hebben ze wel een leuk componentje die je een commandline kan sturen en die de output in een memotje oid zet. ben er toevallig zelf ook mee bezig
Als je dat componentje dan toch al gevonden hebt en er over begint zou een linkje wel gewaardeerd zijn :).

www.fendt.com | Nikon D7100 | PS5


Verwijderd

Topicstarter
oké mense ik weet genoeg ;)

bedankt voor de moeite


_/-\o_
Pagina: 1