forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   Тест англ. языка. (http://forum.boolean.name/showthread.php?t=7502)

VM 25.12.2008 14:55

Тест англ. языка.
 
Хочу написать программку для проверки англ. грамматики.
Интерфейс следующий:
На экране предъявляется тестовое русское предложение и варианты англ. слов из которых надо составить перевод. При выборе этих вариантов на экране должно выводиться английское предложение, которое должно располагаться под русским предложением.
Как такой интерфейс реализовать?

abcdef 25.12.2008 15:37

Ответ: Тест англ. языка.
 
интересная задумка! поделишся исходниками?
- formAddString пишешь русский текст, потом также выводишь каждое английское слово, добавляешь кнопки вверх-вниз, которыми упорядочивается набор слов...

VM 25.12.2008 16:39

Re: Ответ: Тест англ. языка.
 
Цитата:

Сообщение от abcdef (Сообщение 92769)
...выводишь каждое английское слово, добавляешь кнопки вверх-вниз, которыми упорядочивается набор слов...

Не понятно как перемещаться по этим словам и выбирать их.
Кусок бы кода посмотреть...

dimanche13 25.12.2008 18:04

Ответ: Тест англ. языка.
 
я бы с удовольствием потестил такую прогу, когда закончишь

abcdef 25.12.2008 20:53

Ответ: Тест англ. языка.
 
Примерно так (на java было бы по-красивше, но можно делать и графическом режиме):
Код:

var
  m : array[0..100] of string;
  i,n,max : integer;
  get : boolean;
  s : string;
  leftCmd,rightCmd,getCmd,okCmd,exitCmd,cmd : command;
  id_txt : integer;
begin
  showForm;
  leftCmd := createCommand('left', CM_SCREEN, 1);
  rightCmd := createCommand('right', CM_SCREEN, 2);
  getCmd := createCommand('get', CM_OK, 1);
  exitCmd := createCommand('exit', CM_EXIT, 1);
  okCmd := createCommand('ok', CM_OK, 1);
  addCommand(leftCmd);
  addCommand(rightCmd);
  addCommand(getCmd);
  addCommand(exitCmd);
  addCommand(okCmd);
  repeat
    //загрузка текста
    m[0]:='RUS: программирование от arT (c). e-mail: [email protected]'+chr(10)+'________________'+chr(10)+'ENG: ';
    m[1]:='arT';
    m[2]:='programming';
    m[3]:='by';
    m[4]:='(c).';
    m[5]:='e-mail:';
    m[6]:='[email protected]';
    max:=6;
    n:=1;
    get:=false;
    //цикл выборки
    repeat
      s:='';
      for i:=0 to max do
        if (n<>i) then s:=s+m[i]+' '
          else
            if get then s:=s+'['+m[i]+'] '
              else s:=s+'{'+m[i]+'} ';
      id_txt := formAddString(s);
      repeat
        cmd := getClickedCommand;
      until (cmd<>emptyCommand);
      if (cmd=leftCmd) then
      begin
        if (n>1) then
        begin
          n:=n-1;
          if get then begin s:=m[n+1]; m[n+1]:=m[n]; m[n]:=s; end;
        end {else begin n:=max; if get then begin s:=m[1]; m[1]:=m[n]; m[n]:=s; end; end{};
      end
      else if (cmd=rightCmd) then
      begin
        if (n<max) then
        begin
          n:=n+1;
          if get then begin s:=m[n-1]; m[n-1]:=m[n]; m[n]:=s; end;
        end {else begin n:=1; if get then begin s:=m[max]; m[max]:=m[n]; m[n]:=s; end; end{};
      end
      else if (cmd=getCmd) then  get:=not get;
      formRemove(id_txt);
    until (cmd=exitCmd) or (cmd=okCmd);
  until (cmd=exitCmd);
end.


VM 25.12.2008 22:08

Re: Тест англ. языка.
 
abcdef спасибо, буду разбираться...


Часовой пояс GMT +4, время: 03:31.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot