Site Tools


elearntab

enum idLanguage {ENGLISH = 11, RUSSIAN, FRENCH…}

после выбора языков.

назначить переменным соответствующие языки; eng = 11 rus = 16
Если 1116.sql отсутствует:
  получить все id языков -> получить их общие числа и создать базу 1116.sql (меньшее в переди);
  в базе 1116 следующие table -> id, done;
Иначе, использовать существующую
В начале работы

Загрузить id where done = 0 из совместной sql в контейнер;
2: переменная int "следующая пара" = (Получить случайное значение контейнера);
переменная string следующее верхнее слово = LanguageA.get(следующая пара);
переменная string следующее нижнее слово = LanguageB.get(следующая пара);

Отобразить слова в соответствие с настройками таймера каждого из них;
Перейти ко 2: шагу
удаление пары (выучивание)

объект контейнера id->done(переменная int "текущеяя пара"); // Слова из системных (языковых) баз не удаляем, иначе необходимо реализовывать
//в базе id 1116.sql ставится done=1 к id пары              // пересчет id при каждом запуске\выборе языка. +зачем удалять?
удалить int"текущаяя пара" из текущего контейнера;
Перевод слова 

Получение слова в переменную string "верхее слово" с использованием Drop and Drag или вставки;
Проверка этого слова в изучаемом словаре; // проверять на соответствиее языка?
Если слова в базе нет:
  Обращаемся к translateApi передавая string "Верхнее слово";
  translateApi возвращает перевод в string "нижнее слово";
Иначе:
  возвращаем string из languageB в нижнее слово;
Добавление слова, после перевода
Если перевод осуществлялся из базы:
  сигнализируем, что все хорошо, но ничего не делаем. // слово уже есть в базе.
Иначе, если перевод слова осуществлялся translateApi:
  // Реализация с использованием id базы для хранения пользовательских переводов.
  Если нажимается кнопка "Добавить":
    Верхнее и нижнее слово добавляются в поля Ru En,  id-и базы с id > 10000, но не занятое;
    id нового слова, добавляется в контейнер id для отображения в текущем сеансе;
    // при этом, нам придется реализовать получение слов из данной базы.
    // зато, мы избежим рассинхронизации id слов в отношение словарей.
    // реализация на 3. практичность для программы на 4-5, так как пользователь не видит стыков.
    
  // Реализация с использованием локально файла настроек хранящих id последнего перевода.
  Если нажимается кнопка "Добавить":
    переменная "idДляНового слова" = (int setting.lastIdTranslate() + 1);
    setting.setLastIdTranslate(idДляНового слова);
    в базу 11.sql добавляется новое английское слово + "idДляНового слова"
    в базу 16.sql добавляется новое русское слово + "idДляНового слова"
    id нового слова, добавляется в контейнер id для отображения в текущем сеансе;
  // Реализация на 4+, практичность для программы 5.
  
You could leave a comment if you were logged in.
elearntab.txt · Last modified: 2019/10/19 17:38 (external edit)

Page Tools