Kuinka voisin suorittaa komentorivin komentoja suoraan koodista? Kielenä Delphi.
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/
kiitos, mutta mitä eroa on ShellExecuteA ja ShellExecute?
A on ANSI, siis ei-Unicode, versio.
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;
Aihe on jo aika vanha, joten et voi enää vastata siihen.