Delphi Win-32 приложение и консольное приложение

Тема в разделе "Delphi - Система", создана пользователем lazynov, 3 дек 2006.

  1. lazynov

    lazynov Гость

    Короче, суть вот в чем:
    У меня есть консольная прога, допустим на Паскале:

    program test;
    begin
    writeln('Test OK');
    end.

    Как мне из Win-32 приложения запустить консольное приложение и результат его работы (в данном случае - Test OK) вывести в TMemo например...

    Реально ли ето?? Кто-нить может знает???
     
  2. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    Погугли на GetStdHandle(STD_INPUT_HANDLE)
     
  3. zubr

    zubr Гость

    На форуме похожая тема уже обсуждалась.
    Смотри здесь
     
  4. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
  5. lazynov

    lazynov Гость

    Дело в том, что код етот только и работает для 'ping -t xxx.xxx.xxx.xxx'. Для моего примера, где на выходе должно быть Test OK - не пашет! Memo остается пустым! Че теперь? Не понимаю я.... Может как еще мона?

    Етот вариант я вобще не допер! Кода с таким кол-вом ошибок я еще ни разу не видел! Извините разработчики! Если мона - поясните...
     
  6. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--QuoteBegin-lazynov+5:12:2006, 15:28 -->
    <span class="vbquote">(lazynov @ 5:12:2006, 15:28 )</span><!--QuoteEBegin-->Дело в том, что код етот только и работает для 'ping -t xxx.xxx.xxx.xxx'. Для моего примера, где на выходе должно быть Test OK - не пашет! Memo остается пустым! Че теперь? Не понимаю я.... Может как еще мона?
    [snapback]49880" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    брехня. :) . проверяйте как отрабатывает Ваша консоль , выводит ли она чтото на экран?
    хоть прога в одной папке с консолью?
     
  7. Kmet

    Kmet Well-Known Member

    Регистрация:
    25 май 2006
    Сообщения:
    1.017
    Симпатии:
    1
    c 16битным кодом могут быть нюансы, так он и сполняется под виртуальной машиной.

    Подлючить инклуды не догадался?!
     
  8. lazynov

    lazynov Гость

    Догадался! Не на стока я и не умный, чтобы просто ctrl+c и ctrl+v использовать! НЕ ПАШЕТ!!! :D

    В том то и дело что в консоле пашет!!! А просто - нет! Я и в файл пытался - он создает его, но файл пустой!
     
  9. zubr

    zubr Гость

    Для: lazynov
    Вот в своем архиве нашел, делал когда то в познавтельных целях. Программка запускает консольное приложение в интерактивном режиме - то есть позволяет как осуществлять вывод в мемо, так и ввод данных для приложения.
    Порядок работы:
    1. В нижнее окошко edit вводим путь к консольному приложению.
    2. Нажимаем кнопку пуск.
    3. Если нужно ввести какие то данные, вводим их в правое мемо и нажимаем кнопку ввод.
    4. В левом мемо должны отображаться выходные данные.
    Для
    Код (Text):
    program test;
    begin
    writeln('Test OK');
    end.
    'Test OK' выведет сразу, а для:
    Код (Text):
    program test;
    begin
    writeln('Test OK');
    Readln;
    end.
    выведет после нажатия кнопки ввод, а если еще что то ввести в правое мемо, выведет 'Test OK'+то что ввели. Надеюсь понятно, почему.
    Проект, если мне не изменяет память, собирался в Delphi6.
     

    Вложения:

    • GUI_konsol.zip
      Размер файла:
      8,2 КБ
      Просмотров:
      88
  10. lazynov

    lazynov Гость

    Блин! Ты не мог бы выложить скомпилированную рабочую exe-шку... Пожалста!
    Меня начинают терзать смутные сомнения, что у меня либо мой Delphi7 глючед, либо еще какая хрень... :eek:
     
  11. zubr

    zubr Гость

    Да в Delphi7 все нормально собирается. Правда программку я тестировал только в WinXP.
    Выкладываю exe-шку.
     

    Вложения:

    • Project1.rar
      Размер файла:
      161,7 КБ
      Просмотров:
      75
  12. lazynov

    lazynov Гость

    млин! не пашет! она случаем не привязана ни к каким процессам Windows??? Че то я совсем не допираю... Вот файл test.exe потести его. Должно вывести - Ok! Если у тя все заработает - то я и не знаю...
     

    Вложения:

    • test.rar
      Размер файла:
      1,7 КБ
      Просмотров:
      64
  13. zubr

    zubr Гость

    Да у тебя это досовская программа - ничего не выйдет, скомпилируй тот же самый код не в Turbo Paskale, а в консольном приложении Delphi - и будет тебе счастье.
     
  14. lazynov

    lazynov Гость

    Спасибо! Значит вывод: dos-овскую консоль можно только через файл и command.com! Блин, хреново! Может еще как мона???
     
Загрузка...
Похожие Темы - Delphi Win приложение
  1. antares
    Ответов:
    0
    Просмотров:
    439
  2. agapoviv
    Ответов:
    1
    Просмотров:
    2.958
  3. Dock1100
    Ответов:
    0
    Просмотров:
    3.161
  4. cybert
    Ответов:
    0
    Просмотров:
    94
  5. Shouldercannon
    Ответов:
    0
    Просмотров:
    156

Поделиться этой страницей