![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Bes |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
Оказывается нигде нет компонента полностью имитирующего работу с командной строкой. Так, например, команда ftp не срабатывает ни в одном найденом мною примере. Почему это происходит, неизвестно. Предлагаю объединиться и найти или даже написать компонент консоль и выложить этот шедевр в копилку ВинГрада.
|
|||
|
||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
А чем Cmd не устраивает?
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
А универсальным способом, будет: 1. кинуть поле Edit; 2. и программиру те команды которые те нужны, в часности запуск ShelExecute из модуля ShelApi, ну и т.д. |
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Ну уж не знаю где ты такие примеры находил. ftp нормально работает. -------------------- Все знать невозможно, но хочется |
|||
|
||||
| Bes |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
2Alex: CMD не устраивает тем, цто она не втроена в мою программу т.е.
1) что я не могу выдрать из нее содержимое окна и отдать команду к ней в окно 2) что ее можно закрыть без моей программы т.е. программы разделяется на два живущих своей жизнью окна. 2Zero: так я уже сделал, но задача в другом. Зачем изобретать велосипед и писать под каждую задачу новый код. а если мне завтра понадобиться не только запускать приложения но и лазить по папкам сопировать удалять файлы пинговать сеть управлять безопасность и доступом использовать фтп и телнет.. и пр. Что, для каждой задачи встраивать новый модуль и делать программу более тяжелой и менее надежной? Может просто использовать готовое решение - встроенную консоль которую и за собой таскать не надо и работает там все отлично. 2Петрович: Я не нашел, а можно посмотреть на то, что у вас работает с фтп? |
|||
|
||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
А вот тут позволю не согласиться, все зависит от того как вы вызовите процесс -------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| Bes |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
2Alex: В приципе я готов рассмотреть любое решения данной проблемы. Если можно работать с консолью из приложения и корректно получать и передавать ввод-вывод то я только за. Подскажите тогда пожалуйста, как это делается. Спасибо.
|
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Не у всякого приложения можно перехватить ввод/вывод. Только если приложение использует для этого консольные потоки. Кстати, ввод/вывод самой cmd.exe получить вряд-ли получится. Поэтому, либо придется самому реализоывать вызов вутренних команд - а изобретать уже неоднократно изобретенный велосипед кому охота? Либо, создавай у себя в приложени консольное окно, и запускай cmd назначив ему созданное консльоное окно. В общем что-то вроде этого. Но, это решение будет не универсальным. Под разными виндами это делается по разному. Короче, как подумаешь об этом всем, так сразу и понимаешь - гемору много, а кайфа в результате чуть. -------------------- Все знать невозможно, но хочется |
|||
|
||||
| Bes |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
2Петрович:
Что вы имели ввиду под этим? И вообще я так и не понял, идеи есть как решить эту проблему? |
|||
|
||||
| Петрович |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Тогда, вернемся к началу. Встречный вопрос
Оссобенно под "не срабатывает"? -------------------- Все знать невозможно, но хочется |
||||
|
|||||
| Bes |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
Это значит, что в любом найденном мною примере работы с консолью при вводе в консоль комманды ftp (после чего в cmd.exe выпадывает приглашение для работы с фтп) программа виснет.
Использование компонентов для работы непосредственно с фтп типа TNMFTP или как там ее... тут ни причем. |
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Естественно. При вводе в cmd.exe комманды ftp, запускается соответствующая программа. А она, работает интерактивно. Т.е. ей надо со стандартного потока ввода подавать комманды. И вообще, ты, по моему, сваливаеш в кучу разные понятия. Консоль, это консоль. А cmd.exe, это cmd.exe. Т.е., консоль, это не обязательно cmd.exe (или другой интерпретатор). Это всего лишь окно, выполняющее две задачи: 1 - отображение того что выводит связанная с консолью программа в стандартный поток вывода и в поток ошибок, 2 - посылку в стандартный поток ввода всего того что пользователь понажимает на клаве. Частным случаем является запущенная например программа cmd.exe, связанная с консольным окном. -------------------- Все знать невозможно, но хочется |
|||
|
||||
| Bes |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
Блин, Круто! Ну за что уважаю Петровича это за способность увидеть ошибку в 17-й строке. Точно.
Я ведь так и думал!!! Признаюсь чайник, но нашелся же человек..... я даже запустил из коммандной строки ftp и запустилась консоль которая мне нужна. Вот только теперь другая проблема:
Как это сделать? или
Как сделать чтобы эта программа была связана не с консольным окном а с TMemo? Вот. |
||||||
|
|||||||
| Neitron |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 580 Регистрация: 3.10.2005 Где: Москва Репутация: нет Всего: 5 |
см MSDN ф-ции работы с КОНСОЛЬЮ.
-------------------- Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей. Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ |
|||
|
||||
| Bes |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
Не конструктивно. Так на любой вопрос можно ответить.
Вопрос по базам данных - "см. MSDN ф-ии работы с базами данных" Вопрос по печати - "см. MSDN ф-ии работы с печатью" .......... главное не забывать модное слово MSDN Это приравнивается к тому что "изучи эту область программирования" но. 1) Я все эти задачи могу решить и другими способами. 2) я как раз ищу (см. тему) готовый компонент, функцию, способ. P.S. конструировать с нуля..... ну вообще-то это должно быть очень,.. очень просто. Просто я не знаю как. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |