Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Пропущенные буквы


Автор: Михалыч 11.12.2016, 18:41
Подскажите как можно реализовать такое. Нужно выводить небольшой текст с пропущенными буквами например:
Код

 На дв ре — зима. Ст ит чудесный солнечный день. На небе ни облачка. Снег, к торый шел всю ночь, п крыл зем­лю, дома, м шины белым пушистым п крывалом.

Далее пользователь должен вставить нужные буквы не изменяя основного текста.
В принципе сам вопрос ни как выводить, а в чем? Что бы можно было вставить пропущенные буквы не изменяя основного текста.

Автор: Garmahis 12.12.2016, 09:43
Да хоть в мемо... Если у тебя есть алгоритм определяющий в каком месте буква пропущена или список этих пропусков то в том же мемо отслеживаешь нажатие кнопок и принудительно ставишь курсор на нужную позицию. После ввода буквы курсор сам переводишь на новое место.

Автор: Михалыч 12.12.2016, 19:18
Цитата(Garmahis @  12.12.2016,  09:43 Найти цитируемый пост)
Да хоть в мемо... Если у тебя есть алгоритм определяющий в каком месте буква пропущена или список этих пропусков то в том же мемо отслеживаешь нажатие кнопок и принудительно ставишь курсор на нужную позицию. После ввода буквы курсор сам переводишь на новое место. 

Спасибо, как вариант рассмотрю. А не подскажите как в stringgrid вписать слово,  что бы в каждой ячейки было по букве. То есть как вписать я знаю:
Код

form1.StringGrid1.Cells[1,2]:='В';
form1.StringGrid1.Cells[2,2]:='А';
form1.StringGrid1.Cells[3,2]:='С';
form1.StringGrid1.Cells[4,2]:='Я';


Но нужно например из memo в stringgrid

Автор: Garmahis 13.12.2016, 09:31
Ну например так:
Код

for i := 0 to Length(Memo1.Lines.Text) - 1 do
  StringGrid1.Cells[i+1,2]:= Memo1.Lines.Text[i]

Автор: testX 20.12.2016, 13:43
Цитата(Garmahis @  13.12.2016,  09:31 Найти цитируемый пост)
Ну например так:

лучше предварительно text вынести в отдельную локальную переменную. Как минимум - уменьшатся накладные расходы на конструирование итоговой строки из TStrings.GetTextStr.
А с учетом того, что у TMemo получение текста реализовано через сообщения - это чревато более серьезными последствиями.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)