Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Написание своей консоли (командной строки) (http://forum.oszone.net/showthread.php?t=29629)

Guest 17-06-2004 16:33 205020

вот собственно такой вопрос - я просто не знаю откуда начать копать...... так что хелп

задача: - нужно написать виндовое приложение и чтобы в этом приложении была командная строка, чтобы исполнять функции проги путём исполнения своих команд

что непонятно: - непонятно что использовать в принципе для начала работы над этой штукой

я не имею ввиду всякого рода синтаксические и лексические анализаторы введнного текста, с этим всё ясно, но вот сам как бы сказать движок что ли этой самой виндовой консоли.....
спрашивал у гугля, у яндекса - ничего подходящего что то не находится...

F1 pls

Добавлено:

да, извинте, забыл добавить - пишу на MSVC++

hasherfrog 18-06-2004 09:19 205021

Guest
Я Вам сразу предложу "взрослый" вариант. Идёте на сайт DosBox, скачиваете исходники (можете сразу взять их здесь), внимательно изучаете "движок консоли", удаляете лишнее, дописываете своё. Опираясь на готовую модель, пусть и чужую, Вы быстрее напишите качественный продукт.

pva 30-06-2004 13:09 205022

а стандартная консоль не подходит? (которая AllocConsole)

kiroHQ 07-11-2010 04:42 1536633

Оживлю тему. Поднялся тот же вопрос.
Цитата:

Цитата hasherfrog
Идёте на сайт DosBox, скачиваете исходники »

А поточнее можно?
Цитата:

Цитата hasherfrog
(можете сразу взять их здесь) »

Сцыль к сожалению битая.. Не оживите?

Буду очень благодарен за помощь.

lxa85 07-11-2010 05:17 1536638

kiroHQ, а Google нам на что? :)
dosbox / download
Исходники

kiroHQ 07-11-2010 05:22 1536640

Видно мое гугл-фу не так сильно) Спасибо за ссылки.

ganselo 07-11-2010 12:36 1536789

Проще использовать pipe каналы для эмуляции консоли.
http://www.sources.ru/cpp/using_anonymous_pipes.shtml

ganselo 10-11-2010 20:15 1539510

вот ещё вариант)
Код:

#include <stdio.h>
#include <stdlib.h>

int main( void )
{

  char  psBuffer[128];
  FILE  *pPipe;

        /* Run DIR so that it writes its output to a pipe. Open this
        * pipe with read text attribute so that we can read it
        * like a text file.
        */

  if( (pPipe = _popen( "dir *.c /on /p", "rt" )) == NULL )
      exit( 1 );

  /* Read pipe until end of file, or an error occurs. */

  while(fgets(psBuffer, 128, pPipe))
  {
      printf(psBuffer);
  }


  /* Close pipe and print return value of pPipe. */
  if (feof( pPipe))
  {
    printf( "\nProcess returned %d\n", _pclose( pPipe ) );
  }
  else
  {
    printf( "Error: Failed to read the pipe to the end.\n");
  }
}

http://msdn.microsoft.com/en-us/library/96ayss4b.aspx


Время: 02:43.

Время: 02:43.
© OSzone.net 2001-