Сейчас делал импорт данных из смд, но столкнулся с проблеммой их вводить :)
так вот данные вводяться прекрасно, пока я незапускаю батник из смд, после данные вводяться как одна строка, но если ввести [Enter], то потом данные опять вводяться в поток нормально, объясните почему такое бывает.
вот процедурина
procedure Main; var dir,f : string; k : integer; p, input, output,cmd; begin p := dotNET.System_Diagnostics.Process.zctor(); p.StartInfo.FileName := 'c:\Windows\System32\cmd.exe'; p.StartInfo.UseShellExecute := false; p.StartInfo.RedirectStandardOutput := True; p.StartInfo.RedirectStandardInput := True; p.Start; f := read_name_install_file; k := PosEnd(f); dir := copy(f,1,k-1); f := copy(f,k+1,length(f)-k); input := p.StandardInput; output := p.StandardOutput; cmd := Sys.Process('cmd',2).Window('ConsoleWindowClass', '*'); //cmd.Keys('[Enter]'); input.WriteLine_11('cd '+dir); input.WriteLine_11(f); input.WriteLine_11('C:\j2sdk1.4.2_12'); cmd.Keys('[Enter]'); //без этой строки все команды, начиная с предыдущей, //объединяються в одну и вводятся как одна input.WriteLine_11('C:\Sop\jboss-portal-2.6.1.GA'); input.WriteLine_11('update'); input.WriteLine_11('127.0.0.1'); input.WriteLine_11('quit'); while not p.HasExited do Delay(1000); while not output.EndOfStream do Log.Message(output.ReadLine()); //dotNET.System_Diagnostics.Process.zctor. end;