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.