Поле mmCode знаходиться праворуч два інші поля Memo знаходяться ліворуч(одне з яких приховане, за потреби я їх перемикаю)
Тут скріншот
Призначення додатку: виправлення текстового шару електронних книг графічних форматів(Djvu)
Бувають електронні книги коли при копіюванні тексту замість тексту виходять каракулі
Докладніше в темі на форумі
В праве поле я завантажую текстовий шар(з електронної книги), а в ліве(mmCode)завантажую коди для перекодування тексту
▼Текст в полі mmCode виглядає так
А\320\220=\303\200
а\320\260=\303\240
БІ\320\221\320\206=\303\2012
Бі\320\221\321\226=\303\2013
бі\320\261\321\226=\303\2413
Б\320\221=\303\201
б\320\261=\303\241
ВІ\320\222\320\206=\303\2022
Ві\320\222\321\226=\303\2023
ві\320\262\321\226=\303\2423
В\320\222=\303\202
в\320\262=\303\242
ГІ\320\223\320\206=\303\2032
Задум в мене такий:
1-В процесі for вибираю з поля mmCode вибираю першу строку(А\320\220=\303\200)
2-далі ділю її на три частини
А-буква
\320\220-правильний код букви
\303\200-не правильний код букви
3-щоби в полі mmText(Memo) замінити всі не правильний код букви на правильним кодом букви
4-А для контролю і візуального перегляду результату у полі mmTextVisible(Memo) заміную всі не правильний код букви на саму букву(в даному випадку А)
5-Далі йде другий цикл витягується другий рядок (а\320\260=\303\240)
koala написав:Поясніть, будь ласка, нащо ви в циклі виділяєте текст у mmCode?
Щоби бачити процес(хід) роботи
koala написав:Те саме стосується і присвоювання TMemo.Lines, зокрема TMemo.Lines.Text. Якщо хочете щось зробити - зробіть його всередині коду, а потім присвоюйте, не робіть це в циклі обробки.
Ви маєте на увазі це:
mmText.Lines.Text:=StringReplace(mmText.Lines.Text,sKodeFalse,sKodeTrue,[RFREPLACEALL]);//Замінюємо частини
koala написав:але все ж бажано більше літер витрачати на суть. Скажімо, iNumLetterS - ви скоротили "slash" до "s"
Я спочатку змінним дав такі назви:
iNumLetterReverseSolidus:integer;
iNumLetterEqualsSign:integer;
а потім скоротив, та бачу що не варто було скорочувати, дякую за пораду