![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() У меня такая программа. Из текстового файла загружаю санскритско-английский словарь (в richedit, он невидим).
Потом с помощью комманды copy в левое окошко копирую санскритское слово, а в правое английский перевод. И всё это у меня циркулирует в Timer. Так вот, хочеться, чтобы после того, как в левом окошке появилось санскритское слово, была задержка времени перед вставкой перевода, чтобы я мог попробовать отгадать перевод. Я пробовал команду sleep(2000); Не помогает, задержка происходит для всей формы. Попробовал по-другому. Вставку в правое окно вынес в отдельную кнопку. И эту кнопку взял в Timer, выставил задержку времени. Тоже работает для всей формы а не для отдельной кнопки. Почему так? Как решить эту задачку? Код на всякий случай: Код:
procedure TForm1.FormShow(Sender: TObject); begin k_vo_strok_dictionary:=dictionary.Lines.Count; randomize; x:=random(k_vo_strok_dictionary);//выбераем случайную строку stroka:=dictionary.Lines[x]; P:=Pos(z_skobka, stroka);{номер символа разделения санскритского слова и перевода} san_slovo:=copy(stroka,2,p-2);//копируем сан. слово RichEdit1.Text:=san_slovo;//вставляем сан. слово Dlinna_stroki:=length(stroka);{нужно чтобы правильно скопировать перевод} perevod:=copy(stroka, p+2, Dlinna_stroki-p);//копирую перевод RichEdit2.Text:=perevod;//вставляю перевод end; |
#2
|
|||
|
|||
![]() в программе Anki есть какие-то санскритские карточки, там принцип обучения похожий
а если не те, то можно перевести этот словарь в формат слово[tab]перевод[конец строки] (если не ошибаюсь) и импортировать туда Цитата:
ps в Anki ещё произношение может быть к словам Последний раз редактировалось Pyro, 27.06.2012 в 10:34. |
Этот пользователь сказал Спасибо Pyro за это полезное сообщение: | ||
mpdasa (27.06.2012)
|
#3
|
|||
|
|||
![]() Разобрался. Надо было поиграться с таймерами, когда какой включать/выключать.
Кому интересен код: Код:
procedure TForm1.FormShow(Sender: TObject); begin Timer2.Enabled:=true; k_vo_strok_dictionary:=dictionary.Lines.Count; randomize; x:=random(k_vo_strok_dictionary);//выбераем случайную строку stroka:=dictionary.Lines[x]; P:=Pos(z_skobka, stroka);{номер символа разделения санскритского слова и перевода} san_slovo:=copy(stroka,2,p-2);//копируем сан. слово RichEdit1.Text:=san_slovo;//вставляем сан. слово RichEdit2.Text:=''; Dlinna_stroki:=length(stroka);{нужно чтобы правильно скопировать перевод} perevod:=copy(stroka, p+2, Dlinna_stroki-p);//копирую перевод Timer1.Enabled:=false; end; Код:
procedure TForm1.Button1Click(Sender: TObject); begin Timer1.Enabled:=true; Timer2.Enabled:=false; RichEdit2.Text:=perevod;//вставляю перевод end; И FormShow и Button1.click взят в таймер |