Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > имитация консоли


Автор: Insert 25.4.2006, 23:09
Одной из частей моей курсовой будет проверочная работа, на знание команд Linux, поэтому я 
сначала хотел создать консольное приложение и  в нем имитировать консоль linux, но почитав
документацию на форуме, понял что создать полноценное консольное приложение достточно сложновато. Наверняка можно создать формы, которые имитируют терминальный ввод команд, вопрос как? Мне надо будет лишь считывать введеные данные и проверять их на правильность.
З.Ы. среда разработки Delphi 2006 

Автор: MAKCim 26.4.2006, 07:36
самый простой вариант
Код

#include <iostream>
#include <string>

int main()
{
    std::string line;
    while (getline(std::cin,line))
    {
        // парсинг строки line
        // некоторые дейтвия
    }
    return 0;
}
 

Автор: Insert 26.4.2006, 07:50
ну я в С не разбираюсь пока, хотелось бы создать форму а-ля консоль линух. 

Автор: Snowy 26.4.2006, 15:43
C таким вопросом нужно было идти в раздел "Delphi - Общие вопросы".
Но мы и здесь его найдем smile
Вот сделал коротенькое решение. Знает 3 комманды: dir, echo и exit:
Код

procedure TForm1.Button1Click(Sender: TObject);
var s: string;
  procedure DoCommand(c: string);
  begin
    if c = 'dir' then WriteLn('No files found')
    else if copy(c, 1, 4) = 'echo' then WriteLn(copy(c, 6, Length(c)))
    else WriteLn(c, ' - is not recognized as command');
  end;
begin
  if AllocConsole then Hide else Exit;
  try
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN);
    repeat
      Write('>'); Readln(s);
      DoCommand(s);
    until s = 'exit';
  finally
    FreeConsole
  end;
  Show;
end;
  

Автор: Insert 26.4.2006, 21:46
О спасибо большое! обалденная тема буду так же остальные команды делать!  

Автор: Snowy 26.4.2006, 21:59
Не забывай ставить галочку "Вопрос решен".
Будут проблемы - забегай в раздел "Delphi" 

Автор: Insert 26.4.2006, 22:05
ок, спасибо 

Автор: Fixin 27.4.2006, 18:14
Перенесено из раздела "Центр помощи" в "Delphi - общие вопросы" 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)