У процесі роботи над веб-сайтами, розробники часто зіштовхуються із проблемою коректного перекладу тексту в HTML таблиці. У цій статті фахівці студії web-дизайну WebStudio2U поділяться досвідом написання найпростішого текстового парсера. Ми розповімо про те, як за 15 хвилин написати програму мовою програмування Delphi, що буде перетворювати текст із роздільниками в HTML таблицю. Дана стаття призначена для користувачів, що мають мінімальні знання з Delphi.
Для початку, помістимо на форму два компоненти Memo (mmo1 і mmo2) і один компонент Button (btn1). Тепер перейдемо до редагування значень параметрів компонентів за допомогою панелі Object Inspector. У компонентів класу TMemo змінимо значення параметра ScrollBars на ssBoth і відредагуємо значення параметра Lines - заберемо з тексту назву компонента. Змінимо значення параметра Caption для кнопки на "Створити таблицю". (див. рис. 1).
Рис.1
Двічі клацаємо на кнопку btn1 і заміняємо процедуру на наведену нижче:
Для роботи цього коду необхідно додати функцію яка буде розбивати роздільником рядок на масив рядків. Код функції вставляємо вище коду процедури обробки натискання на кнопку.
От у принципі й усе. Компілюємо програму (F9).
Передбачається, що вихідний текст буде міститися в mmo1 а після обробки HTML таблиця буде виводиться в mmo2.
Для зручності, ми додали ще необов'язковий оброблювач натискання сполучення клавіш Ctrl+A на компоненті mmo2 (Подія onKeyDown).
Сам оброблювач події onKeyDown компонента mmo2
Така проста, але дуже корисна програма стала в нагоді при написанні статті Найпопулярніші пошукові запити 2009 року. Дані копіювалися через буфер обміну в Excel, там підготовлялися, потім вставлялися в mmo1 (після копіювання в Excel текст автоматично перетворювався в текст із роздільником - знак табуляції) і за допомогою програми перетворювалися в HTML таблицю.
Якщо виникнуть питання, пишіть, з радістю відповімо!
P.S. Для роботи процедури копіювання в буфер обміну знадобитися додати модуль Clipbrd у список модулів, що підключаються, (список uses на самому початку програмного коду)
P.P.S. Саму програму з вихідними кодами можна скачати тут.
Теги:
парсер,
html таблиця,
текст в таблицю,
delphi,
текст з роздільниками,
код,
програма,
пишемо програму,
парсер тексту |