Задержка командной строки

IlyaBronikovsky

При нажатии кнопки на форме Билдера открывается командная строка, пингует айпишник и тут же закрывается. Как мне ее задержать, чтобы я успел посмотреть результат? system("pause") не подходит
11 ответов

IlyaBronikovsky

#include <iostream>
std::cin.get(); // вместо system("pause")


IlyaBronikovsky

system("pause") не подходит
Чем он не подходит? Запускай приложение не из Билдера, а из командной строки, там не исчезнет.


IlyaBronikovsky

В том то и дело, что мне нужна именно форма


IlyaBronikovsky

Форма? Тогда при чём тут cin?


IlyaBronikovsky

При нажатии кнопки на форме Билдера открывается командная строка, пингует айпишник и тут же закрывается.
А как ты вызываешь этот пинг?


IlyaBronikovsky

AnsiString x=(Edit1->Text); AnsiString y="ping "+x; system(y.c_str());


IlyaBronikovsky

IlyaBronikovsky,
AnsiString x=(Edit1->Text);
AnsiString y="ping "+x + " & pause";
system(y.c_str());


IlyaBronikovsky

Спасибо А не подскажите, как потом результат вывести обратно на форму в Label?


IlyaBronikovsky

А не подскажите, как потом результат вывести обратно на форму в Label?
Как вариант, вместо system использовать CreateProccess и создать для него pipe для перенаправления стандартного вывода от запущенного процесса. Другой вариант, каким-нибудь образом получить дескриптор консоли, достучаться до ее буфера и, собственно, считать оттуда информацию.


IlyaBronikovsky

Честно говоря, я новичек, и мне это ни о чем не говорит


IlyaBronikovsky

В файл сохрани вывод ping.