powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Запуск CMD
19 сообщений из 19, страница 1 из 1
Запуск CMD
    #39875937
suzuki-bandit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый деньЕсть строка запуска
Код: pascal
1.
"C:\Program Files (x86)\pgAdmin III\1.16\\pg_dump.exe" --host "192.168.15.50"  --port 5432 --username "postgres" --role "postgres" --no-password --format custom --blobs --section pre-data --section data --section post-data --encoding UTF8 --verbose --file "D:\old.backup" "gilev"



Которую я генерируют
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Var
Checket:integer;
begin
ini_file := TIniFile.Create('config.ini');
StatusBar1.Panels[1].Text:=((ExtractFilePath(Application.ExeName) + 'config.ini'));
try
host.Text:= ini_file.ReadString('conf', 'host','127.0.0.1');
port.Text:= ini_file.ReadString('conf', 'port','5432');
username.Text:= ini_file.ReadString('conf', 'username','5432');
role.Text:= ini_file.ReadString('conf', '=role','postgres');
BD.Text:= ini_file.ReadString('conf', 'BD','Base');
SaveToFile.Text:= ini_file.ReadString('conf', 'file','C:\')+BD.Text+'_'+FormatDateTime('dd.mm.yyyy', Now)+'.backup';
Checket:=StrToInt(ini_file.ReadString('conf', 'Select','0'));
finally
ini_file.Free
end;
If Checket = 0  then
begin
CheckBox1.Checked:=false;
Button1.Enabled:=true;
end
else
begin
CheckBox1.Checked:=true;
Button1.Enabled:=false;
end



Как запустить данную с троку в CMD , что б результат выполнения отображался в memo???
Спасибо
...
Рейтинг: 0 / 0
Запуск CMD
    #39875938
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
suzuki-banditКак запустить данную с троку в CMD , что б результат выполнения отображался в memo???

CreateProcess()
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Запуск CMD
    #39875944
suzuki-bandit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
А как отобразить результат в memo????
...
Рейтинг: 0 / 0
Запуск CMD
    #39875945
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
function Win32ExecAndWait(const CommandLine, Directory:
string; out OutputString: string): integer;
var
  SA: TSecurityAttributes;
  SI: TStartupInfo;
  PI: TProcessInformation;
  StdOutPipeRead, StdOutPipeWrite: THandle;
  WasOK: Boolean;
  Buffer: array[0..255] of AnsiChar;
  PDirectory: PChar;
  BytesRead: Cardinal;
begin
  Result := -1;
  OutputString := '';
  if Directory = '' then
    PDirectory := nil
  else
    PDirectory := PChar(Directory);

  FillChar(SA, SizeOf(SA), 0);
  FillChar(SI, SizeOf(SI), 0);

  with SA do
    begin
      nLength := SizeOf(SA);
      bInheritHandle := True;
      lpSecurityDescriptor := nil;
    end;
  CreatePipe(StdOutPipeRead, StdOutPipeWrite, @SA, 0);
  try
    with SI do
      begin
        cb := SizeOf(SI);
        dwFlags := STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES;
        wShowWindow := SW_HIDE;
        hStdInput := GetStdHandle(STD_INPUT_HANDLE); // don't redirect stdin
        hStdOutput := StdOutPipeWrite;
        hStdError := StdOutPipeWrite;
      end;
    if not CreateProcess(nil, PChar('cmd.exe /C ' + CommandLine),
      nil, nil, True, 0, nil, PDirectory, SI, PI) then
      Result := -1
    else
      begin
        CloseHandle(StdOutPipeWrite);
        try
          repeat
            WasOK := ReadFile(StdOutPipeRead, Buffer, 255, BytesRead, nil);
            if BytesRead > 0 then
              begin
                Buffer[BytesRead] := #0;
                OutputString := OutputString + Buffer;
              end;
          until not WasOK or (BytesRead = 0);
          WaitForSingleObject(PI.hProcess, INFINITE);
          GetExitCodeProcess(PI.hProcess, Cardinal(Result));
        finally
          CloseHandle(PI.hThread);
          CloseHandle(PI.hProcess);
        end;
      end;
  finally
    CloseHandle(StdOutPipeRead);
  end;
end;


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Запуск CMD
    #39875948
suzuki-bandit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий,
а использовать данную функцию как?
...
Рейтинг: 0 / 0
Запуск CMD
    #39875950
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
suzuki-banditа использовать данную функцию как?

Разобрать на запчасти, прочесть в справке что и как делает каждая функция, намотать на ус.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Запуск CMD
    #39875957
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
14.10.2019 13:15, suzuki-bandit пишет:
> а использовать данную функцию как?

ой-йоооо...
имхо, тут программист нужен.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Запуск CMD
    #39876396
suzuki-bandit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что не так делаю??

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
[quote автор]
var
start:string;
RC: Cardinal;
 WorkDir :String;   

   WorkDir := ExtractFilePath(Application.ExeName);
   Memo1.Lines.Text := GetDosOutput( 'cmd /c '+start, WorkDir, Rc );
   ShowMessage( ' Отладка: Код результата = '+IntToStr(R[/quote]
...
Рейтинг: 0 / 0
Запуск CMD
    #39876402
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
suzuki-banditЧто не так делаю??
Как минимум кавычки забыты в командной строке у длинного пути.
...
Рейтинг: 0 / 0
Запуск CMD
    #39876412
suzuki-bandit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman,

Подскажите как правильно расставить ковычки???
...
Рейтинг: 0 / 0
Запуск CMD
    #39876424
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

С кириллицей работать не будет.
...
Рейтинг: 0 / 0
Запуск CMD
    #39876447
suzuki-bandit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если пишу просто
Код: pascal
1.
   mycommand := '"C:\Program Files (x86)\pgAdmin III\1.16\pg_dump.exe" '; 


ТО пишет норм
Как только добавляю параметры
Код: pascal
1.
  mycommand := '"C:\Program Files (x86)\pgAdmin III\1.16\pg_dump.exe" --host ""192.168.15.52"" --port 5432'; 


Все не идет
Вероятно где то не верно расставленны ковычки
Подскажите пожалуйста где
...
Рейтинг: 0 / 0
Запуск CMD
    #39876458
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
без прогрОммиЗда не взлетит...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Запуск CMD
    #39876459
suzuki-bandit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так я для этого и обратился на форум
чтоб помогли
...
Рейтинг: 0 / 0
Запуск CMD
    #39876460
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
15.10.2019 11:38, suzuki-bandit пишет:
>
> Так я для этого и обратился на форум
> чтоб помогли

не-а.
тебе не помощник нужен.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Запуск CMD
    #39876463
suzuki-bandit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за помощь Умники
Сам разберусь
...
Рейтинг: 0 / 0
Запуск CMD
    #39876483
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка в самой команде -- там же написано, что пытается подключиться к localhost, тогда как в команде адрес сервера указан в виде айпишника. Очевидно, что сама команда с адресом задана неверно. Судя по документации нужно:
- либо: -h xxx.xxx.xxx.xxx
- либо: --host=xxx.xxx.xxx.xxx
...
Рейтинг: 0 / 0
Запуск CMD
    #39876486
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
suzuki-bandit,

насколько я помню, для винды кавычки нужны только там, где есть пробелы и только для filepath
...
Рейтинг: 0 / 0
Запуск CMD
    #39876561
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Докдля винды кавычки нужны только там, где есть пробелы и только для filepath

Да нет, это сугубо всё равно. Но пересказывать тут целую лекцию о синтаксисе командной
строки лично мне лень. Так что пусть ТС таки разбирается сам.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Запуск CMD
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]