Программный Файл: ...\Samples\Solution\Controls\TXT_EDT\Text.scx

В данном примере показано использование Свойств SelStart, SelLength, SelText базового Контрола Edit Box для обработки Текстового элемента в режиме Run-Time. В примере также подсчитывается количество Символов, Слов и Параграфов текстового файла, обеспечивается возможность Поиска требуемой строки символов в указанном Файле.

Форматирование Текста

Следующий фрагмент Кода может быть использован для включения в событие Click некоторой Кнопки Форматирования Текста - перевода всех символов выделенного Фрагмента в верхний регистр:

  CopyCode imageКопировать Код
lo = THIS.Parent.edtText
lnOldStart = lo.SelStart
lnOldLength = lo.SelLength
lo.SelText = UPPER(lo.SelText)
lo.SelStart = lnOldStart
lo.SelLength = lnOldLength

Если вам требуется изменить атрибуты Текста (выделенного фрагмента текста), изменения Шрифта, его размера - рекомендуется использовать внешний Контрол RichText (ActiveX).

Поиск Фрагмента Текста

Представленный далее фрагмент Программного Кода обеспечивает процедуру Поиска заданной Подстроки Текста в стандартном Контроле Edit Box:

  CopyCode imageКопировать Код
llKeepLooking = .T.
DO WHILE llKeepLooking
FOR i = lnStart TO LEN(loEDT.Value)
loEDT.SelStart = i
loEDT.SelLength = lnLen
IF loEDT.SelText = ALLTRIM(loCBO.Text) OR ;
(!llCaseSensitive AND ;
(UPPER(loEDT.SelText) = UPPER(ALLTRIM(loCBO.Text))))
llFound = .T.
llKeepLooking = .F.
EXIT
ENDIF
ENDFOR
IF !llFound
lnChoice=MESSAGEBOX("Search string not found.", ;
64+0+4)
IF lnChoice = 6 && Yes
llKeepLooking = .T.
lnStart = 0
ELSE
llKeepLooking = .F.
ENDIF
ENDIF
ENDDO
NoteСовет

Рекомендуется выполнять установку значения Свойства формы LockScreen = True (.T.) - перед началом выполнения процесса Поиска подстроки; и далее: LockScreen = False (.F.) - после завершения Поиска. В противном случае, при каждом изменении значения свойства SelStart выполняется обновление содержания рассматриваемого Контрола Edit Box.

См. также