Консоль

  1. program console;
  2. uses crt;
  3. const n=3;
  4. var command:array[1..n] of string;
  5.     commhelp:array[1..n] of string;
  6.     comm,Tindex,com:string;
  7.     index,i,j,comindex:integer;
  8.  
  9. procedure CommandWorker;begin;
  10.  if comindex=1 then begin //if 'help' command
  11.   writeln(' ');
  12.   for i:=1 to n do begin
  13.    writeln('/',command[i],' ',commhelp[i]);
  14.   end;
  15.  end;
  16.  if comindex=2 then CLRSCR; //if 'clear' command
  17.  if comindex=3 then exit; //if 'exit' command
  18.  comindex:=0;com:=' ';index:=1;
  19. end;
  20.  
  21. procedure ComandInit;begin;
  22.  readln(comm);
  23.  Tindex:=copy(comm,1,1);index:=1;com:='';
  24.  if Tindex<>'/' then writeln('Sorry, I dont understand you.:(');
  25.  if Tindex='/' then begin
  26.   while Tindex<>'' do begin
  27.    index:=index+1;
  28.    Tindex:=copy(comm,index,1);
  29.    com:=com+Tindex;
  30.   end;
  31.  end;
  32.  for i:=1 to n do if com=command[i] then comindex:=i;
  33.  commandworker;
  34. end;
  35.  
  36. begin
  37.  writeln('hello, i am beta-console. my father is Himerus. :)');
  38.  
  39.  command[1]:='help';commhelp[1]:='its help you :)';
  40.  command[2]:='clear';commhelp[2]:='its clear console :o';
  41.  command[3]:='exit';commhelp[3]:='its bad idea, man :(';
  42.  
  43.  while 0=0 do begin
  44.   ComandInit;
  45.  end;
  46. end.
И так, представляю свой набросок консоли. Без названия, без будующего. Может кому будет интересно, тот продолжит.

Поясню пару моментов. Массив command несет в себе имена команд, массив commhelp несет в себе пояснения для команды /help.

Процедура CommandWorker выполняет команды, а процедура Com :) mandInit указывает, какую команду выполнять. Вроде всё легко и просто, бери да пиши. С самим же кодом разбирайтесь сами. Был рад помочь.

Реклама

Мы в соцсетях

tw tg yt gt