Страницы: 1 2 3 4 След.
RSS
[ Закрыто ] Программа для запоминания англ. слов
 
Добрый день. Люди добрые, может кто-нибудь поможет сделать макрос для запоминания англ. слов (предложений). Описание: после вызова макроса появляется форма (см. лист "Пример формы"). В форме 2 поля и 2 кнопки. При нажатии на кн. «Следующее» в верхнем поле  появляется русское предложение, при следующем нажатии этой кнопки в нижнем поле появляется английское предложение. Желательно чтобы русское при этом не уходило, чтобы не забыть какое-либо слово. База находится на 1 странице: в столбце А – русские предложения, в столбце  В – английские. Если предложение знаешь, то жмешь кн. «Следующее», если не знаешь, то жмешь кн. «Не выучил» и невыученные предложения парой (например: рус. из ячейки А2 + анг. из ячейки В2) копируются на другой лист «Не выученное». И, если можно, то сделать шрифт не слишком мелкий (Arial 20 или т.п.), лишь бы длинные предложения умещались в форму.
Заранее спасибо и извините, если слишком много хотелок.  
Изменено: Денис Зуев - 23.09.2016 22:15:07
Не серчайте, ежели, что не так сказал...
 
Есть специальный сайт для изучения английского языка
Программа для изучения английских слов и выражений - http://enghelp.ru/downloads/602-programma-dlja-izuchenija-anglijjskikh.html
Teacher - программа для запоминания английских слов - http://enghelp.ru/downloads/537-teacher-programma-dlja-zapominanija.html
и много чего полезного
 
Спасибо. Но в рекомендуемой Вами программе English_Word, можно работать только с готовыми словарями .dat и не вижу возможности работы со своими примерами в формате Ексель (у меня же есть готовые паттерны в Екселе). Также хотелось бы, не выбирать из 5-ти готовых вариантов, а активно вспоминать самому. Ну, а если бы программа могла сохранять трудные слова на отдельном листе, чтобы прорабатывать потом только их - это было значительно ускорило время освоения английского. Можно, конечно, по-старинке: писать карточки вручную, но это занимает много времени. Есть еще "Анки", но она не портабельна поэтому макрос в Ексель был бы идеальным вариантом.
p.s. teacher - не пошел на Win 8.1
Изменено: Денис Зуев - 23.09.2016 23:49:59
Не серчайте, ежели, что не так сказал...
 
Цитата
Денис Зуев написал: и извините, если слишком много хотелок.
извините, что нарушаю Правила Форума? или что не ознакомился с ними?
- зачем извиняться, если можно исправляться?  :excl:
Количество вопросов вас не смущает? -
Цитата
Денис Зуев написал:
1) появляется форма (см. лист "Пример формы"). В форме 2 поля и 2 кнопки.
2) При нажатии на кн. «Следующее» в верхнем поле  появляется русское предложение,
3) при следующем нажатии этой кнопки в нижнем поле появляется английское предложение.
4) Если предложение знаешь, то жмешь кн. «Следующее»,
5) если не знаешь, то жмешь кн. «Не выучил»
6) невыученные предложения парой (например: рус. из ячейки А2 + анг. из ячейки В2) копируются на другой лист «Не выученное».
7) сделать шрифт не слишком мелкий (Arial 20 или т.п.),
на какие вопросы нашли ответы через Поиск? как пробовали применить для своей проблемы? в чём и где возникла проблема?
p.s. ищите примеры оформления TextBox и подтягивайте в др. поле с листа - или методом Range().Find, или поиском по массиву, или по словарю, созданному из массива или собранному из ячеек..... или Application.Match
Изменено: JeyCi - 13.10.2016 08:13:17
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Вы правы. Нашел, в соседней ветке, на просторах «Планеты Excel», программу для английских слов. Переделал под себя как мог. Осталось решить 2 вопроса:
1.С копированием на другой лист невыученных слов;
2. Отображение ответа не в TextBox, а таком же поле (Label), как и вопрос, чтобы можно было увеличить шрифт.
Помогите пож-ста, т.к. VBA не знаю.
Не серчайте, ежели, что не так сказал...
 
А в какой момент должен появиться перевод? И Label только из-за того, чтобы увеличить размер шрифта? Но ведь и в ТекстБокс (а не в MsgBox, как сейчас) можно задать нужный размер шрифта.  
 
При нажатии на кн. «Следующее» в верхнем поле появляется русское предложение, при следующем нажатии этой же кнопки, в нижнем поле появляется английское предложение (перевод). Желательно чтобы русское при этом не уходило.
Label  или ТекстБокс - не принципиально,важен размер шрифта. Но писать в ТекстБоксе не планируется (займет больше времени, а важна скорость повторения), только перебирать предложения с др. листа.  
Изменено: Денис Зуев - 24.09.2016 12:06:45
Не серчайте, ежели, что не так сказал...
 
Так в чём же смысл тестирования? Человек будет просто жать на кнопку «Следующее». Я так понимаю, что в нижнем поле тестируемый должен написать СВОЙ вариант перевода, а потом идёт сравнение.
Цитата
Денис Зуев написал:
Желательно чтобы русское при этом не уходило.
А в какой момент русский текст должен исчезнуть?
 
Посмотрите вариант, и скажите, что сейчас не так.
 
Есть файлы с готовыми примерами в Ексель. Смысл проги в том, чтобы показать из базы предложение на русском, быстро вспомнить его на английском и следующим нажатием проверить правильность его воспроизведения. Наработать скорость воспроизведения каждой фразы - до 2-3 сек. Т.е. добиться автоматизма на готовых примерах.  
Русский текст данного предложения исчезает как и сейчас, при следующем нажатии кнопки "Следующее".
Т.е. нажал - появился только русский текст сверху;
нажал - на экране остается русский сверху и появляется англ. снизу;
нажал - сверху новое русское предложение (анг. - пусто);
нажал - на экране остается  русский сверху и появляется англ. снизу, и т.д.
Изменено: Денис Зуев - 24.09.2016 12:33:18
Не серчайте, ежели, что не так сказал...
 
Файл посмотрели?
 
Цитата
Юрий М написал:
Посмотрите вариант, и скажите, что сейчас не так.
Английский сразу видно быть не должно. Я его должен вспомнить сам. А уже потом нажать и проверить: правильно я его помню или нет. Т.к. перевести с на анг. на рус. достаточно легко. А вот обратно воспроизвести фразу уже труднее
Изменено: Денис Зуев - 24.09.2016 12:38:40
Не серчайте, ежели, что не так сказал...
 
Цитата
Денис Зуев написал:
Английский сразу видно быть не должно. Я его должен вспомнить сам. А уже потом нажать и проверить: правильно я его помню или нет.
Сейчас так и происходит: загрузили форму - есть только русский, а английского нет.
 
Извините, сразу не понял. Спасибо большое.  
Изменено: Денис Зуев - 24.09.2016 13:15:08
Не серчайте, ежели, что не так сказал...
 
Денис, ну а посмотреть внимательно? ))
 
Извините еще раз. Не посмотрел. Спасибо большущее!!! Теперь изучение английского пойдет гораздо быстрее!!!
А можно последнюю просьбу (если конечно реализовать ее не сложно). Можно как-то завершить цикл? Т.е. в базе 20 слов. Можно показывать их по порядку и после программа завершает показ. Просто сейчас не понятно: все слова были показаны из базы или что-то программа не успела показать, а ты завершил просмотр.
Изменено: Денис Зуев - 24.09.2016 19:52:29
Не серчайте, ежели, что не так сказал...
 
Добавил цифры перед предложениями. Может так отслеживать еще не показанное будет проще? Хотя если в базе 30 фраз, была показана 27-ая или нет - будет сложно определить.  
Изменено: Денис Зуев - 25.09.2016 10:45:55
Не серчайте, ежели, что не так сказал...
 
Я бы немного изменил схему: добавил бы на форму кнопку "Перевести", при нажатию на которую в ТекстБокс мы получали бы перевод. А кнопка "Следующее", как и обычно. Со счётчиком проблема решаема.
 
Ваше решение конечно улучшит программу! Кнопку добавить я смогу, а вот прописать к ней код, знаний не хватает...
Не серчайте, ежели, что не так сказал...
 
Добавил кнопку. Немного изменил интерфейс (мне кажется так удобнее).
Не серчайте, ежели, что не так сказал...
 
Писал код - не видел Вашего сообщения. Посмотрите мой вариант )
 
Теперь программа стала идеальна! Есть все что нужно. Есть еще светлые головы в России! Спасибо большое за потраченное на меня силы и время. Теперь английский держись!!!
Не серчайте, ежели, что не так сказал...
 
Если ТекстБокс заполнять не планируется, то лучше заблокировать его от ввода данных. Или удалить процедуру обработки.
 
Для перебора фраз я думаю это не принципиально. Тем более, что случайное добавление или удаление слова в это поле не влияет ни на базу, ни на копирование невыученных слов.  
Не серчайте, ежели, что не так сказал...
 
Заметил одну деталь. Программа берет из базы (например, из 30 шт.) фразы в случайном порядке. Какие-то фразы она покажет 3 раза, какие-то 2 раза и какие-то 1 раз, а несколько шт. - ни разу. Счетчик отсчитает 30 раз и либо выходим, либо продолжаем заниматься. Но может получиться, что какую-либо фразу, программа не покажет и за 2 раза, т.е. она останется не выученной.
Не серчайте, ежели, что не так сказал...
 
Такой вариант возможен. Обходной маневр: или переделывать код, чтобы были только неповторяющиеся случайные значения, или перебирать подряд все строки в базе. Второй проще в реализации.
 
А можно второй вариант, фиг с ним (со случайным перебором). Порядок работы планирую такой: прошел базу, на ее место копируем невыученные слова и добавляем еще новые слова. Поэтому случайный перебор не принципиален.
Изменено: Денис Зуев - 25.09.2016 14:30:39
Не серчайте, ежели, что не так сказал...
 
Проверьте такой вариант.
 
Ну теперь вроде все. Спасибо, что не бросили со мной возиться. Надеюсь, что программа пригодиться не только мне, но и другим изучающим английский язык.
Не серчайте, ежели, что не так сказал...
 
Здравствуйте Юрий.
А можно еще одну просьбу? Если в ячейке с русской фразой, часть предложения перенесена на другую строку с помощью ALT+Enter, то программа не показывает перевод этой строки в ТекстБоксе (см. приложенный файл). Я так понимаю, дело в последней строке (выделял красным)
Код
Private Sub CommandButton5_Click()
Dim Rng As Range
 Set Rng = Sheets("List of words").Columns(1).Find(what:=Me.Label2.Caption, LookIn:=xlValues, lookAt:=xlWhole, SearchDirection:=xlPrevious)

Можно как-то обойти это или все предложения должны быть только в одну строку?
Не серчайте, ежели, что не так сказал...
Страницы: 1 2 3 4 След.
Наверх