Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
procedureRunDosInMemo(CmdLine: string
; AMemo: TMemo); const
ReadBuffer = 2400; var
Security: TSecurityAttributes; ReadPipe, WritePipe: THandle; start: TStartUpInfo; ProcessInfo: TProcessInformation; Buffer: Pchar; BytesRead: DWord; Apprunning: DWord; begin
Screen.Cursor := CrHourGlass; Form1.Button1.Enabled := False; with
Security do
begin
nlength := SizeOf(TSecurityAttributes); binherithandle := true; lpsecuritydescriptor := nil
; end
; if
Createpipe(ReadPipe, WritePipe, @Security, 0) then
begin
Buffer := AllocMem(ReadBuffer + 1); FillChar(Start, Sizeof(Start), #0); start.cb := SizeOf(start); start.hStdOutput := WritePipe; start.hStdInput := ReadPipe; start.dwFlags := STARTF_USESTDHANDLES + STARTF_USESHOWWINDOW; start.wShowWindow := SW_HIDE; if
CreateProcess(nil
, PChar(CmdLine), @Security, @Security, true, NORMAL_PRIORITY_CLASS, nil
, nil
, start, ProcessInfo) then
begin
repeat
Apprunning := WaitForSingleObject (ProcessInfo.hProcess, 100); ReadFile(ReadPipe, Buffer[0], ReadBuffer, BytesRead, nil
); Buffer[BytesRead] := #0; OemToAnsi(Buffer, Buffer); AMemo.Text := AMemo.text + string
(Buffer); Application.ProcessMessages; until
(Apprunning <> WAIT_TIMEOUT); end
; FreeMem(Buffer); CloseHandle(ProcessInfo.hProcess); CloseHandle(ProcessInfo.hThread); CloseHandle(ReadPipe); CloseHandle(WritePipe); end
; Screen.Cursor := CrDefault; Form1.Button1.Enabled := True; end
; procedure
TForm1.Button1Click(Sender: TObject); begin
Memo1.Clear; RunDosInMemo('ping -t 192.168.28.200', Memo1); end
;