Автор Тема: к знатокам покет-программирования...  (Прочитано 23779 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Сат Абхава

  • Профессионал
  • ****
  • Сообщений: 441
  • Карма: 6
  • Пол: Мужской
    • телеграм-канал "Китайский для каждого"
  • Skype: satabhava
Уважаемые господа!

Обращаюсь к вам в надежде найти доброго человека, готового помочь всем энтузиастам, изучающим иностранный язык самостоятельно. На форуме МИР ЯЗЫКА в рамках некоммерческого форум-проекта "Вэньянь" я написал java-script для заучивания участниками проекта новых иероглифов. Также написан подобный скрипт для заучивания новых слов и выражений. Скрипты написаны с учетом их универсальности, т.е. они могут быть использованы при работе с любым иностранным языком (при возможностях юникода). Однако перевести эти скрипты в вид, позволяющий работать с ними на покетах, у меня не получилось - слишком слабы возможности покетного IE. Другими словами, необходимо написать программу (вернее, две программки-оболочки, которые могли бы работать с текстовыми файлами "баз" новых слов в юникоде по примеру функциональных возможностей уже написанных скриптов). Хотя программки эти представляются весьма элементарными, но сам я под покеты писать пока не умею. Бог знает, когда научусь, а время не ждет. Если есть добрые люди, готовые оказать помощь, то, пожалуйста, отзовитесь!

Спасибо за внимание!

Оффлайн chamine

  • Бывалый
  • ***
  • Сообщений: 182
  • Карма: 2
  • Пол: Мужской
Re: к знатокам покет-программирования...
« Ответ #1 : 24 Февраля 2005 16:02:09 »
А поподробнее бы ... Ну то есть что надо, как оно должно работать и т.д.  :)
Ага ... скачал скрипт на яве ... то есть надо аналогичное? Это несложно, могу сделать ... Разве что надо бы договориться о формате исходных данных, ну то есть там в исходном варианте было что-то типа
—-
d[О]=['丙','bing3','название 3-го знака 10-ричного цикла']
—-
... просто для явы это вполне нормально, но скажем для чего-то вроде с/с++ несколько неудобен такой формат данных ... хотя впрочем можно и такой использовать
« Последнее редактирование: 24 Февраля 2005 16:17:16 от chamine »
</life>

Сат Абхава

  • Гость
Re: к знатокам покет-программирования...
« Ответ #2 : 25 Февраля 2005 01:18:00 »
А поподробнее бы ... Ну то есть что надо, как оно должно работать и т.д.  :)
Ага ... скачал скрипт на яве ... то есть надо аналогичное? Это несложно, могу сделать ... Разве что надо бы договориться о формате исходных данных, ну то есть там в исходном варианте было что-то типа
—-
d[О]=['丙','bing3','название 3-го знака 10-ричного цикла']
—-
... просто для явы это вполне нормально, но скажем для чего-то вроде с/с++ несколько неудобен такой формат данных ... хотя впрочем можно и такой использовать

Спасибо огромное за то, что Вы откликнулись. Действительно, ничего сложного в этой программе нет, нужно только знать, как к ней приложить руки.  :)

Итак, давайте обсуждать, что нам нужно...

Интерфейс программы предельно прост. Если "спрятать" в опцию настроек все чек-боксы и текстовые поля с цифровыми данными, т.е. чтобы оптимально использовать имеющееся место, то мы фактически имеем три текстовых поля (1 - китайский, 2 - пиньинь, 3 - русский) и три кнопки: "start" (ее тоже можно вынести в опции, чтобы нажимать после того, как режим работы полностью установлен), "next", "answer", кнопку же режима работы через "поиск" тоже можно "спрятать" в настройки.

В идеале хотелось бы, чтобы в программу можно было подгружать текстовый файл "базы" (в юникоде), а также имелась возможность менять эти файлы (поскольку формат "текст-транскрипция-перевод" есть основной словарный формат для любого иностранного языка, т.е. хотелось бы сделать программу универсальной и для других языков). Формат текстовой базы можно избрать следующий:

китайский[знак табуляции]пиньинь[знак табуляции]русский[перевод строки]
китайский[знак табуляции]пиньинь[знак табуляции]русский[перевод строки]
китайский[знак табуляции]пиньинь[знак табуляции]русский[перевод строки]
и т.д.

Теперь по порядку работу.

Открываем программу. Загружаем в нее "базу" для работы. В настойках выставляем режим:
1) желательно, чтобы в настройках сразу после загрузки отображался весь предел "количества базы" (как это сделано в скрипте), например, от 1 до 50, теперь мы можем выставить тот предел, с которым мы хотим работать, например, с 20 по 30.
2) устанавливаем или нет опцию "random" - не все же нам работать с одним и тем же порядком данных;
3) определяем режим: "тест" или "поиск" (режим "тест" можно сделать по умолчанию)
4) выставляем опции, какую информацию отображать сразу, если все три поля - то автоматически работам в режиме "заучивания".
5) если какое-то поле (или два) оставляем чистым, то информация в них будет отображаться лишь после нажатия кнопки "ответ" - для самоконтроля. Кстати, с учетом возможности работы с другими языками (например, европейскими), можно также учесть режим "проверять ответ пользователя" (я его не реализовывал в скрипте), т.е. пользователь может сам вводить ответ в поле задания, а программа сверяет его с данными (например, при нажатии на дополнительную кнопку "check"). Но при работе с китайским языком этот механизм показал себя непродуктивным, т.к. при ответе на иероглифы проще (и полезнее!!!) просто писать их на листе бумаги, чем ковыряться стилусом по экрану покета, или, уж тем более, вводить по набору пиньиня. А потому основной механизм для китайского языка несколько специфический, что-то вроде "проверь сам себя": появляется задание, пишем на бумаге ответ (или произносим его), а потом нажатием кнопки проверяем его правильность.
6) в режиме "поиска" можно задавать условия, чтобы задания выбирались лишь в соответствии с ними (это реализовано в скрипте), например, выбрать все задания, в графе русского языка которых есть слог "ма", а в пиньине есть слог с первым тоном "1", и т.д. После выбора этих заданий дальше работа продолжается в режиме нормального теста.

Еще важно предусмотреть удобство работы по "одной кнопке" (энтэр), это тоже реализовано в скрипте. Очень неудобно тыкаться стилусом. Поэтому в зависимости от выбранного режима работы (количества сразу отображаемой информации) реализован механизм активации кнопок: только "некст" (если работа идет в режиме заучивания), или попеременного "некст"-"ансэр" (если работа идет в режиме "самоконтроля"). С добавлением режима "проверить" и кнопки "чек" последовательность можно сделать "некст"-"чек"-ансэр" (если будет желание, то можно еще в этом режиме ввести учет правильных и неправильных ответов в числовом выражении). 

Вот, собственно, и все премудрости.

Во второй оболочке (под иероглифы) желательно реализовать возможность установки размера шрифта на каждое из полей (это и первой программе не помешало бы), т.к. на начальном этапе учащимся достаточно сложно различать мелкий шрифт иероглифов. К тому же, для второй программы потребуется еще одно текстовое поле - "индекс иероглифов" (в этом поле будет появляться информация об иероглифе, например, в формате: фонетик — ключ — добав. кол-во черт — общее кол-во черт (или что-то в этом роде). Эта информация крайне важна при работе в режиме задействования поиска, т.к. позволит составлять схемы повторения иероглифов с различными условиями: то всех иероглифов с общим ключом, то всех иероглифов одного фонетического семейства и т.д.). Формат данных может быть прежний, лишь с добавкой еще одной колонки:

китайский[знак табуляции]индекс[знак табуляции]пиньинь[знак табуляции]русский[перевод строки]
китайский[знак табуляции]индекс[знак табуляции]пиньинь[знак табуляции]русский[перевод строки]
китайский[знак табуляции]индекс[знак табуляции]пиньинь[знак табуляции]русский[перевод строки]
и т.д.

Чтобы было понятнее, я готов написать скрипт и под этот вариант.  :)
 
Также сразу хочется попросить весь интерфейс делать на английском, а поля можно вообще никак не называть (всё и так понятно), чтобы не сбивать тех, кто будет работать с другими языками...

Остальное - на Ваше творческое авторское усмотрение... Я и без того боюсь, что от Вас слишком многого хочу...

Еще раз огромное Вам спасибо!

Оффлайн Сат Абхава

  • Профессионал
  • ****
  • Сообщений: 441
  • Карма: 6
  • Пол: Мужской
    • телеграм-канал "Китайский для каждого"
  • Skype: satabhava
Re: к знатокам покет-программирования...
« Ответ #3 : 25 Февраля 2005 01:38:49 »
Во! Еще забыл...

Чисто для удобства восприятия. В скрипте реализована разбивка данных по абзацам (если, скажем, есть несколько чтений и несколько значений), например:

китайский[знак табуляции][пробел]I.[пробел]пиньинь1[пробел]II.[пробел]пиньинь2[знак табуляции][пробел]I.[пробел]1.[пробел]русское значение1[пробел]2.[пробел]русское значение2[пробел]II.[пробел]1.[пробел]русское значение1[пробел]2.[пробел]русское значение2[пробел]3.[пробел]русское значение3

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

I. пиньинь1
II. пиньинь2

А в поле русского перевода под ним данные в виде:

I.
1. русское значение1
2. русское значение2
II.
1. русское значение1
2. русское значение2
3. русское значение3

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


Оффлайн Сат Абхава

  • Профессионал
  • ****
  • Сообщений: 441
  • Карма: 6
  • Пол: Мужской
    • телеграм-канал "Китайский для каждого"
  • Skype: satabhava
Re: к знатокам покет-программирования...
« Ответ #4 : 25 Февраля 2005 02:53:01 »
Я, в свою очередь, все же с горем пополам "добился" от покетного Эксплорера какого-то результата, правда, это всё еще "на грани фола". Набросал тут скрипт на отработку сочетаний, сделал "базу" наспех из того, что было под рукой. У меня после долгих мучений отладки заработало. Попробуйте на своих покетах.

Скрипт сочетаний можно скачать здесь: chin_phrases_PPC.rar

Можете взять его в качестве образца для программы.

Вообще, измотал меня этот покетный Эксплорэр в конец.  :) Мало того, что "кастрированный" в квадрате, так еще такой "нежный" и "непредсказуемый", что даже поведением в задокументированных возможностях - бабушка на двое гадала: "здесь играем, здесь - не играем, здесь - жирное пятно, это мы рыбу вчера заворачивали" (с)... ;D К счастью, удалось настроить в реестре опцию сообщения об ошибке. Кое-что по "подсказкам" получилось отловить (но, к сожаоению, не всё). Сам процесс расширения "базы" очень хлопотный. Заключается в несколько этапов:

1. Сначала пишется "база" по тому формату, что я Вам написал выше.
2. Потом я загоняю ее в специально написанный для форматирования скрипт, чтобы получить отформатированный текст массива.
3. Затем открываю ворд-файл с собственно "скриптом сочетаний" и добавляю в него базу в специально отведенное место в конец файла.
4. Сохраняю этот файл как "кодированный текст" (UTF-8) с расширением .htm
5. Копирую полученный htm-файл на покет.

Пробовал подключать к скрипту "базу" в виде внешней библиотеки (файлом .js), но покетный ИЕ при считавании ее почему-то глючит, работать отказывается. Закономерность в этих глюках мне найти не удалось. А если "базу" вписывать в тело самого скрипта, то заработал (во всяком случае, с количеством в 112 данных). Сколько он сможет одолеть, пока не знаю. Я тут не так давно скритик наладил по переводу с трад--упр. (туда-сюда) под покетный вариант. Так этот скрипт без проблем выдержал массив в 2514 данных (правда, данные предельно короткие: упр.--трад. по одному иерогу. Вроде, глюков пока не наблюдал. Сдюжит ли и этот на подобный объем, сказать сложно...
   
И при всем при этом нет никакой гарантии, что с расширением "базы" не произойдет какой-то сбой. Вот и сидишь потом, вылавливаешь дебаггером все покетные капризы (а на десктопе всё и так работает).  :) Одним словом, муторно это всё (и явно не для новичков). А если Ваша программа заработает сразу с текстовым файлом "базы", то пополнять ее они смогут прямо "на лету", на покетах, любым текстовым редактором с поддержкой юникода.

Оффлайн chamine

  • Бывалый
  • ***
  • Сообщений: 182
  • Карма: 2
  • Пол: Мужской
Re: к знатокам покет-программирования...
« Ответ #5 : 25 Февраля 2005 20:10:52 »
Хм... Вроде понятно стало... кажется...   ;D Раза три прочитал  ;D
в общем дело несложное, только время надо ... Если получится - на неделе сделаю первую программку ...
Насчет базы для слов - я пока попробую такую - текстовый файл - в ucs-2 (более удобно для использования чем utf-8, хотя размер конечно растет), на одно слово - одна строка в файле, вида:
слово [транскрипция] /перевод 1/перевод 2/ ... /перевод n/
ну то есть для примера:
丙 [bing3] /название 3-го знака 10-ричного цикла/
Почему в таком виде - просто потому что есть кое-какой софт для покета, который я делал, уже использующий такой вот формат.
</life>

Оффлайн Сат Абхава

  • Профессионал
  • ****
  • Сообщений: 441
  • Карма: 6
  • Пол: Мужской
    • телеграм-канал "Китайский для каждого"
  • Skype: satabhava
Re: к знатокам покет-программирования...
« Ответ #6 : 25 Февраля 2005 23:27:23 »
Хм... Вроде понятно стало... кажется...   ;D Раза три прочитал  ;D в общем дело несложное, только время надо ... Если получится - на неделе сделаю первую программку ...

Спасибо! Лучше, наверное, сначала сделать программу для слов и сочетаний (образец я уже выложил). А по программе для иероглифики у меня родилась еще одна мысль. Я все свои мысли "заскриптую" и выложу в качестве образца, а Вы уже решайте, что возможно, а что нет.

Цитировать
Насчет базы для слов - я пока попробую такую - текстовый файл - в ucs-2 (более удобно для использования чем utf-8, хотя размер конечно растет), на одно слово - одна строка в файле, вида:
слово [транскрипция] /перевод 1/перевод 2/ ... /перевод n/
ну то есть для примера:
丙 [bing3] /название 3-го знака 10-ричного цикла/
Почему в таком виде - просто потому что есть кое-какой софт для покета, который я делал, уже использующий такой вот формат.

Кодировка ucs-2, конечно, удобнее. Это я вынужденно к utf-8 обращаюсь, т.к., как я понял, покетный Эксплорер другого выбора для юникода не оставляет.

А вот по поводу предложенного Вами формата у меня есть другая точка зрения. Он мне не кажется удобным, т.к. испозовать программу можно ведь не только для данных "китайский--пиньинь--русский", но и как угодно наоборот, и даже сразу для связки с тремя языками, например, "китайский--английский--русский". Если бы формат привязки данных к текстовым полям был более "независимым" (например, столбцы, разделенные знаком табуляции), то и ориентироваться в составлении базы под что угодно было бы проще. А иначе придется постоянно держать в памяти, что помещать между "[]", что от чего отделять знаком "/", и т.п. Это не очень удобно, и, наверное, снизит степень универсальности программы. Но раз так удобнее Вам, то вопрос снимаем. Как-нибудь подстроимся под Ваши задачи (может, скрипт какой напишу, чтобы он форматировал в предложенный Вами вид то, что пользователь сначала будет набирать с табуляциями). Как говорят, "дареному коню зубы не смотрят"... :)

Кстати, если не секрет, что еще за программы Вы уже писали под покет, да еще с такими "словарными задачами"?
 

Оффлайн zenzen

  • Бывалый
  • ***
  • Сообщений: 201
  • Карма: 0
  • Пол: Мужской
Re: к знатокам покет-программирования...
« Ответ #7 : 27 Февраля 2005 14:02:06 »
Кстати, если не секрет, что еще за программы Вы уже писали под покет, да еще с такими "словарными задачами"?
 
Извините, что влезаю. Вот, за chamine отвечу:
http://chamine.ru/sha/soft/ppc.php

Просто хочу обратить Ваше внимание на то, что подобная программка на C++ с открытыми и "хорошо откомментированными" (по словам автора) исходниками уже давно имеется. Правда, программа это разработана для японского.
http://www.physics.ucla.edu/~grosenth/jfc.html

Стоит взглянуть. Формат - UTF-8, текстовые поля могут быть разделены либо пробелом, либо знаком табуляции, многие функции, о которых говорит Sat Abhava, поддерживаются. Неоднократно использовал данную программку в переполненных токийских электричках, держа покет одной рукой, и манипулируя листами большим пальцем той же руки. Вот здесь два простеньких скриншота (сейчас уже вышла новая версия, и интерфейс немного изменился):
http://polusharie.com/index.php/topic,2619.msg95994.html#msg95994

И тут уже мой своекорыстный вопрос к chamine, как к знатоку покет-программирования и, вообще, кода. Хотя программа и работает с юникодом, она отображает русские буквы так, как они выглядят в японских кодировках (видно на скриншоте), и никакие подстановки шрифтов не помогают. Поскольку исходники открыты, возможно ли это дело подправить в исходном коде и откомпилировать программу заново? Я лично и многие изучающие японский были бы ужасно благодарны за такой фикс. Сам автор программы, к сожалению, на данном этапе не заинтересован в подобных изменениях. :(

Оффлайн zenzen

  • Бывалый
  • ***
  • Сообщений: 201
  • Карма: 0
  • Пол: Мужской
Re: к знатокам покет-программирования...
« Ответ #8 : 03 Марта 2005 11:20:50 »
И тут уже мой своекорыстный вопрос к chamine, как к знатоку покет-программирования и, вообще, кода. Хотя программа и работает с юникодом, она отображает русские буквы так, как они выглядят в японских кодировках (видно на скриншоте), и никакие подстановки шрифтов не помогают. Поскольку исходники открыты, возможно ли это дело подправить в исходном коде и откомпилировать программу заново? Я лично и многие изучающие японский были бы ужасно благодарны за такой фикс. Сам автор программы, к сожалению, на данном этапе не заинтересован в подобных изменениях. :(

Снимаю вопрос. Договорился с автором. На полном ходу идет отладка и тестирование временного фикса. В дальнейшем запланирована переделка программки в тру-юникод! :)

Оффлайн chamine

  • Бывалый
  • ***
  • Сообщений: 182
  • Карма: 2
  • Пол: Мужской
Re: к знатокам покет-программирования...
« Ответ #9 : 04 Марта 2005 13:54:15 »
Вообще это кстати странно - у меня в программах русские буквы получались только нормального размера ... Насколько я знаю в Windows Mobile все элементы, кнопки, меню, поля ввода и т.д. юникодные изначально и других там просто быть не может ...
</life>

Оффлайн zenzen

  • Бывалый
  • ***
  • Сообщений: 201
  • Карма: 0
  • Пол: Мужской
Re: к знатокам покет-программирования...
« Ответ #10 : 05 Марта 2005 00:24:58 »
Вообще это кстати странно - у меня в программах русские буквы получались только нормального размера ... Насколько я знаю в Windows Mobile все элементы, кнопки, меню, поля ввода и т.д. юникодные изначально и других там просто быть не может ...

Вот, объяснение автора программы:
Цитировать
JWPce/JFC internally use EUC encoding, which is tied directly to the Japanese JIS encoding system..  At the time these programs were first created UNICODE was not even conceived of yet.  EUC code space does not normally provide for any other language other than English and Japanese.  There are in the JIS character set, fixed-width ASCII, fixed-width Cyrillic, and fixed-width Greek character sets.  When UNICODE was added to both programs, it was added by converting text between an extended EUC code and the UNICODE format.  Normally this provides for only one nationality, not may an UNICODE would normally permit.  In any case when Cyrillic or Greek characters were encounter, JWPce/JFC were converting them to fixed width JIS characters.  This made sense on an English, Spanish, French, etc. machine but not on a Greek or Russian system.  This must cause problems using JWPce on a Cyrillic (or Greek) machine.  In these cases typing text should work correctly, but pasting text from a UNICODE program would cause the text to turn into fixed width characters.

После теста нескольких промежуточных вариантов он выслал мне окончательно профиксенные программки (JWPce и JFC), где, для того чтобы русский текст отображался нормально, достаточно выставить в опциях самой программы Кириллическую кодовую страницу для ASCII текста (закладка "Advanced").
Программа, скорее всего, не сразу появится на его сайте. Вот, если интересно, прикладываю саму программку (для Arm и выше). Загрузив, нужно поменять расширение с .mpg на .zip (т.к. форум не принимает архивов и экзешек).

Оффлайн chamine

  • Бывалый
  • ***
  • Сообщений: 182
  • Карма: 2
  • Пол: Мужской
Re: к знатокам покет-программирования...
« Ответ #11 : 09 Марта 2005 14:39:15 »
Сорри Сат, написание софта сильно тормозиться внешними факторами  ;D
Но кое-что вышло ... пока черновой недоделанный вариант, только для WM 2002/2003, ARM/XScale

   http://chamine.ru/shared/wmcoach.zip

1. Скачать, распаковать куда-либо в каталог на КПК.
2. Там будет 3 файла: wmcoach.exe - сам исполняемый файл, config.cfg - файл конфигурации, mydict.ced - файл словарной базы.
3. База - текст в UCS-2. Формат строк: "слово [транскрипция] перевод". ПОСЛЕДНЯЯ СТРОКА НЕ ДОЛЖНА БЫТЬ ПУСТОЙ!
4. Запустив программу выскочит (я надеюсь) следующее окно (см. картинку 1). (Предварительно может последовать предупреждение что нету индексного файла - это нормально, она попытается его создать. Для каждой базы слов должен быть индексный файл для облегчения и ускорения навигации по строкам файла. Программа должна создать такой файл при его отсутствии, либо при ручном изменении файла словарной базы).
5. Кнопка "поиск" (первая слева вверху) - там работают пока только первые две опции, то есть выбор всех слов, либо выбор интервала. (см. картинку 2).
6. Кнопки "вперед" и "назад" - соответственно показывает следующую карточку, либо откатывается на первую из выбранных. (Можно вместо тыкания стилом - нажимать кнопки клавиатуры "вперед"/"назад")
7. Кнопка "книжка" - редактирование словарной базы - пока не работает
8. Кнопка "свойства" - разнообразные свойства: random - будем перемещаться случайно по выбранному диапазону, show word/transcription/translation - соответственно будет показывать либо прятать слово/транскрипцию/перевод - если тут выбраны все пункты - тогда при нажатии "вперед" будет показано след. слово, а если какого-то пункта не хватает - тогда на первом нажатии будут показаны все поля, а только на след. нажатии будет показано след. слово, пункт fonts - выбор шрифтов и размеров для показа слова, транскр. и перевода.
9. Внизу есть тоже кнопка (на картинке на ней написано mydict.ced - показывает название текущего словаря, а также на нее можно нажать чтобы выбрать другой словарь (файлы должны быть в вышеописанном формате, с расширением .ced и лежать в каталоге программы).
...
Софт может глючить ... говорите короче что не так и чего бы хотелось ...
Да ... и еще ... поскольку мой КПК изначально китайский и содержит шрифты, ввод и т.д. - то даже и не знаю как софт будет работать с "некитайскими" КПК, ну то есть с теми у кого установлено нечто вроде Monster Chinese или CE-Star ... кто запустит этот софт - скажите пжл на каких моделях КПК он заработал
« Последнее редактирование: 09 Марта 2005 17:30:47 от chamine »
</life>

Оффлайн zenzen

  • Бывалый
  • ***
  • Сообщений: 201
  • Карма: 0
  • Пол: Мужской
Re: к знатокам покет-программирования...
« Ответ #12 : 09 Марта 2005 20:31:52 »
На моем японском покете (Toshiba Genio e550D, японская WM 2003, проц. PXA255) все прекрасно работает! Никаких специальных китайских шрифтов и систем ввода не стоит, однако иероги в приложенном словарике показывает правильно. С японскими словарями тоже никаких проблем (см. картинку).

Подобные программки можно совершенствовать до бесконечности. Хотелось бы, чтобы была возможность отправить карточку, которую не удалось вспомнить/запомнить, в конец списка, или чтобы она снова показалась через несколько ходов. С нетерпением жду возможности редактирования словарной статьи, как и задумано.
А так, весь необходимый минимум уже имеется – красивая, простая и функциональная программа.

Уж, извините, что я опять вперед Сат Абхава влезаю, пока он борется на форумных баррикадах за независимость Тайваня и традиционные иероглифы. :)
Но эта прога действительно хороша не только для китайского.

Оффлайн zenzen

  • Бывалый
  • ***
  • Сообщений: 201
  • Карма: 0
  • Пол: Мужской
Re: к знатокам покет-программирования...
« Ответ #13 : 09 Марта 2005 22:28:16 »
Ага, нашел одно слабое место.
Сейчас в режиме Random некоторые карточки вылезают помногу раз (причем, часто 2 раза подряд), а некоторых ждешь недождешься. Хорошо бы задать для Random такой алгоритм, чтобы раз показавшись, карточка не показывалась больше, пока не будет пройден весь сет. Ну, и предыдущая просьба о возможности отправить незапоминающуюся карточку в конец списка или вперед на несколько ходов остается в силе.

Оффлайн chamine

  • Бывалый
  • ***
  • Сообщений: 182
  • Карма: 2
  • Пол: Мужской
Re: к знатокам покет-программирования...
« Ответ #14 : 09 Марта 2005 23:11:44 »
угумс ... ясно ... а так сам интерфейс-то работает? ну там например кнопки в диалоговых окнах за границы не вылазят?
</life>

Оффлайн zenzen

  • Бывалый
  • ***
  • Сообщений: 201
  • Карма: 0
  • Пол: Мужской
Re: к знатокам покет-программирования...
« Ответ #15 : 09 Марта 2005 23:22:09 »
С интерфейсом все отлично!
На мой непривиредливый вкус и разумение. :)

Оффлайн Сат Абхава

  • Профессионал
  • ****
  • Сообщений: 441
  • Карма: 6
  • Пол: Мужской
    • телеграм-канал "Китайский для каждого"
  • Skype: satabhava
Re: к знатокам покет-программирования...
« Ответ #16 : 10 Марта 2005 02:20:14 »
Сорри Сат, написание софта сильно тормозиться внешними факторами  ;D

Классно! Работает - СУПЕР!

Random подправить, чтобы дубликатов не выдавал (этот алгоритм без дубликатов реализован в скрипте, если возникнут вопросы, как я его сделал, то расскажу), - ВООБЩЕ БУДЕТ ЗАМЕЧАТЕЛЬНО.

А еще вопрос. Можно ли и "поиск" и по первой строке данных (т.е. иероглиф) сделать?
« Последнее редактирование: 12 Марта 2005 01:58:14 от Sat Abhava »

Оффлайн chamine

  • Бывалый
  • ***
  • Сообщений: 182
  • Карма: 2
  • Пол: Мужской
Re: к знатокам покет-программирования...
« Ответ #17 : 11 Марта 2005 23:32:26 »
Random подправить, чтобы дупликатов не выдавал
А еще вопрос. Можно ли и "поиск" и по первой строке данных (т.е. иероглиф) сделать?
Пробуйте новую версию ... Кое-что подправил ... Random вроде теперь нормально работает ... кажись  ::)
Еще работает добавление слов в словарную базу (и изменение старых тоже)
Появилась кнопка "обновить" - ничего особенного, просто обновляет экран
—-
Что НЕ работает (ну и что хочется сделать):
Одна фишка - после редактирования файла базы программой - он может потерять первые два байта 0xFEFF - признак юникодного текстового файла (хотя сам остается таковым)
Удаление слов из словарной базы
Выбор записей по слову/значению/переводу
Отмечание плохозапоминаемых слов чтобы после окончания прохода по выбранным - затем показывать опять их
Сохранение настроек поиска
... в общем это позже сделаю
« Последнее редактирование: 11 Марта 2005 23:35:55 от chamine »
</life>

Оффлайн Сат Абхава

  • Профессионал
  • ****
  • Сообщений: 441
  • Карма: 6
  • Пол: Мужской
    • телеграм-канал "Китайский для каждого"
  • Skype: satabhava
Re: к знатокам покет-программирования...
« Ответ #18 : 12 Марта 2005 02:00:38 »
Пробуйте новую версию ...

Откуда качать новую версию?

Оффлайн zenzen

  • Бывалый
  • ***
  • Сообщений: 201
  • Карма: 0
  • Пол: Мужской
Re: к знатокам покет-программирования...
« Ответ #19 : 12 Марта 2005 02:08:14 »
Sat Abhava, качать оттуда же, откуда и старую, т.е по той же ссылке. :)

Спасибо большое, chamine!
Я уже влюбился в эту софтину. Немного поковырялся с новым файлом, и вот что нашел:

1) С Random, видимо, еще поработать придется. Вот, например, что получается с сетом в 19 карточек за 19 проходов:
0-1-17-18-19-0-14-0-13-5-9-10-6-7-11-18-12-8-4. Подряд одни и те же карточки уже не идут, однако, как видно, «0» встретился 3 раза, а какие-то числа не показались вовсе. Не понятно, когда закончился весь сет – можно крутить до бесконечности. По идее, Random должен показать все 19 карточек за 19 проходов без повторов и вернуться опять к первой (нулевой) на 20-м проходе.

2) В третьем пункте remarks написано «You can use 'right' and 'left' hardware buttons to roll forward or back». На самом же деле мы перемещаемся не вперед-назад, а вперед и в начало сета.

3) Что выгодно отличает данную программку от других подобных, это то, что все надписи показываются на одном «белом листе» без всяких узких рамочек и полей. Я, например, часто использую такие программы для запоминания не только отдельных слов, но и целых фраз и предложений. В твоей программе это очень хорошо получается, если оставить поле в квадратных скобках пустым и записать в .ced файле только фразу и перевод (впрочем, можно дать и транскрипцию для каких-то слов во фразе). Иногда встречаются довольно длинные предложения. Так, вот, думаю, что программка смотрелась бы еще замечательнее, если бы была возможность переключиться в Full screen mode.

4) Обнаружил интересную фичу. У меня к одному предложению было 2 варианта перевода, разделенных «|». Так предложение идущее после «|» оказалось с нового абзаца и более светлого (серого, что ли) цвета. Это какая-то фича, или неожиданно так получилось? Если знаком «|» можно разбивать текст на абзацы, то так можно отделять, например, разные переводы одного слова.

5) Сейчас русские слова при переносе строки разделяются где попало. Хорошо бы где-нибудь в будущем иметь ward rap для русских слов.

Слишком много всего написал, но мне действительно эта прога ужасно понравилась. :)

Оффлайн zenzen

  • Бывалый
  • ***
  • Сообщений: 201
  • Карма: 0
  • Пол: Мужской
Re: к знатокам покет-программирования...
« Ответ #20 : 12 Марта 2005 12:17:27 »
Еще одна мелочь. На моем скрине для предыдущей версии видно «Index: 3 of 20», а сейчас для той же карточки будет «Index: 3 of 19». На самом же деле в сете так и осталось 20 карточек. Видимо, счет ведется не с «1», а с «0». Можно ли сделать, чтобы счет начинался с «1»? То же и при задаче интервала: не 0-20, а 1-20.

Я понимаю, что счет в большинстве языков программирования ведется с «0», но это не совсем удобно при подсчете таких «физических» единиц, как карточки. :)

Оффлайн zenzen

  • Бывалый
  • ***
  • Сообщений: 201
  • Карма: 0
  • Пол: Мужской
Re: к знатокам покет-программирования...
« Ответ #21 : 12 Марта 2005 14:26:16 »
Еще 2 мелочи. :)
Вроде бы в предыдущей версии можно было перемещаться кнопками «Up» и «Down» по тексту карточки, полностью не умещающемуся в окне. Даже если я ошибаюсь на счет предыдущей версии, хорошо бы было иметь такую возможность.

После того, как я один раз отредактировал (добавил) статью в один словарик, при переключении между словарными базами программа стала часто выдавать сообщение: «Can't open dictionary file» и виснуть. Удалил все файлы, кроме самой программы и добавил словарные базы вновь (на этот раз без «редакции», т.е. с первыми 2-мя байтами), но феномен не исчез...

Все, хватит. Здесь остановлюсь и буду ждать следующей версии. :)

Оффлайн chamine

  • Бывалый
  • ***
  • Сообщений: 182
  • Карма: 2
  • Пол: Мужской
Re: к знатокам покет-программирования...
« Ответ #22 : 13 Марта 2005 22:24:13 »
Еще раз обновил ...
+ разнообразных глюков стало меньше
+ можно удалять слова
+ теперь самая первая строка в файле словаря - информационная, она не будет использоваться для показа
+ random перенесен в "поиск"
+ появилась кнопка "назад" для перехода на предыдущее слово

ссылка для скачивания прежняя, также можно посматривать сюда http://chamine.ru/sha/soft/ppc.php

зы: насчет "серого цвета" после знака | - это такая "фича" ... (поскольку я кусок кода взял с пред. программы - там это использовалось как показ "примеров") ... а также - символы [_br_] (без знаков подчеркивания) и \n будут заменены на переводы строк при показе.
« Последнее редактирование: 13 Марта 2005 22:26:13 от chamine »
</life>

Оффлайн zenzen

  • Бывалый
  • ***
  • Сообщений: 201
  • Карма: 0
  • Пол: Мужской
Re: к знатокам покет-программирования...
« Ответ #23 : 14 Марта 2005 01:05:05 »
Прекрасно! Слов нет!

зы: насчет "серого цвета" после знака | - это такая "фича" ... (поскольку я кусок кода взял с пред. программы - там это использовалось как показ "примеров") ... а также - символы [_br_] (без знаков подчеркивания) и \n будут заменены на переводы строк при показе.

Надеюсь, все это будет поддерживаться и в последующих версиях программы. Можно даже добавить информацию в хелп, который в About. :)

Цитировать
+ теперь самая первая строка в файле словаря - информационная, она не будет использоваться для показа

Очень хотелось бы иметь также возможность вставлять комментарии (строки, начинающиеся с чего-нибудь вроде того же "#") в любом месте файла, что будет весьма удобно для пересмотра и редактирования больших баз на PC.

И вопрос. Что это за звездочка в квадратных скобках после номера карточки в индексе появилась?

Еще раз большое спасибо! :D
« Последнее редактирование: 14 Марта 2005 01:12:36 от Zenzen »

Оффлайн chamine

  • Бывалый
  • ***
  • Сообщений: 182
  • Карма: 2
  • Пол: Мужской
Re: к знатокам покет-программирования...
« Ответ #24 : 14 Марта 2005 14:29:36 »
хм ... вообще конечно хочется переделать там кое-что ... а то такое подозрение что программа криво работает с функциями редактирования файла ... надо будет выбросить использование индексных файлов ...
</life>