Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Pascal: Komentojen suoritus

NanoSoft [08.05.2006 15:18:15]

#

Kuinka voisin suorittaa komentorivin komentoja suoraan koodista? Kielenä Delphi.

zacura [08.05.2006 16:26:01]

#

Esimerkiksi ShellExecute funktiolla. Tuossa esimerkki VB:lle, mutta ei pitäisi olla vaikea soveltaa Delphillekään ja Delphin ohjeissa on lisää asiaa funktiosta.
https://www.ohjelmointiputka.net/koodivinkit/23549-vb6-shellexecute-funktio

NanoSoft [08.05.2006 18:06:10]

#

kiitos, mutta mitä eroa on ShellExecuteA ja ShellExecute?

Blaze [08.05.2006 18:26:37]

#

A on ANSI, siis ei-Unicode, versio.

NanoSoft [08.05.2006 19:20:32]

#

Löysin tämmösen koodin pätkän:

procedure ExecuteShellCommand(cmdline: string; hidden: Boolean);
const
  flags: array[Boolean] of Integer = (SW_SHOWNORMAL, SW_HIDE);
var
  cmdbuffer: array[0..MAX_PATH] of Char;
begin
  GetEnvironmentVariable('COMSPEC', cmdBUffer, SizeOf(cmdBuffer));
  ShellExecute(0,'open',cmdbuffer, PChar('/c' + cmdline), nil, flags[hidden]);
end;

Delphiläinen valittaa tuosta MAX_PATH:sta, SW_NORMAL:sta ja SW_HIDE:sta, joten miten saan sen toimimaan?
EDIT: niin ja että tuossa GetEnv. jutusta olisi liikaa parametrejä...

EDIT: En tarvitsekkaan enään apujanne, koska itse sain sählättyä semmoisen koodin, joka suorittaa niitä komentoja

procedure ExeCmd(cmdline: string);
begin
  ShellExecute(0,'open',PChar(GetEnvironmentVariable('ComSpec')), PChar('/c' + cmdline), nil, 0);
end;

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta