Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU
(Тестовый режим)

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 44
от 17.02.2005, 06:20

Администратор:Калашников О.А. (adm@rusfaq.ru)
В номере:Вопросов: 2, Ответов: 7


Вопрос № 16894
Здравствуйте! Проблема: у меня есть строка содержащая HTML текст. Мне необходимо преобразовать ее так, чтобы на выходе получилась строка с обычным текстом DOS, и таблицы чтобы псевдографикой рисовались. Подскажите как реализовать, пожалуйста
Отправлен: 11.02.2005, 14:07
Вопрос задал: Zubko Maksim (статус: Читатель)
Всего ответов отправлено: 4

Отвечает: Boriss
Здравствуйте, Zubko Maksim!
Реализация будет зависеть от того, где именно будет отображать текст, но скорее всего, как понимаю, в файл. Но уточнить надо ...
А так - анализировать html- файл. Самое простое. Или можно поискать утилиту
Ответ отправил: Boriss (статус: Профессионал)
Отправлен: 11.02.2005, 16:01

Отвечает: Bob Johnson
Здравствуйте, Zubko Maksim!
Так это достаточно сложно - тебе нужно писать свой html parser, который будет хотя бы ширину таблиц учитывать. Или попробуй поискать - может быть кто-либо уже делал такую программу.
Ответ отправил: Bob Johnson (статус: Академик)
Отправлен: 11.02.2005, 21:42

Отвечает: sir henry
Здравствуйте, Zubko Maksim!
HTML текст, Вы имеете в виду - текст с разметкой HTML?
Здесь проблема не в HTML, а скорее всего в кодировке, если я правильно Вас понял.
Если Ваш текст на английском языке, то перекодировать его не нужно. Псевдографика рисуется с помощью символов псевдографики, это символы с номерами от 179 до 218 (как раз с помощью них в досовских текстах рисовались таблицы. Но преобразовать таблицу из HTML в текстовый(досовский) вариант один к одному, вряд ли удасться, т.к. разный принцип рисования в Виндоус и Дос.
Перекодировать нужно будет только русский текст. В HTML страничке обычно кодировка либо KOI-8R, либо win1251. В Досе кодировка 866. Значит Вам нужно составить таблицу соответствия русских букв. Далее все просто, будете подставлять код нужной буквы и текст будет в досовской кодировке.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 12.02.2005, 05:10

Отвечает: Фасхутдинов Азат
Здравствуйте, Zubko Maksim!
Чтоб рисовать псевдографикой, посмотри таблицу ASCII символов или выведи сам, потом смотря на номер символа выводи что-то типа этого
x := chr( n );
где x - место где надо вывести( например label1.caption );
n - номер ASCII символоа.
Ответ отправил: Фасхутдинов Азат (статус: 3-ий класс)
Отправлен: 12.02.2005, 10:45


Вопрос № 16896
Как можно определить нажатие на клавиатуре не стандартных Ctrl/Shift/Alt комбинаций, а произвольных сочетаний клавиш. Например <A> + <D> или <NumPad 6> + <NumPad 2>?
Отправлен: 11.02.2005, 14:42
Вопрос задала: Shizuku Tsukishima (статус: 1-ый класс)
Всего ответов отправлено: 3

Отвечает: Гриценко Юрий Алексеевич
Здравствуйте, Shizuku Tsukishima!
Как я знаю нельзя, т.к. только Ctrl/Shift/Alt в ОС считаются кнопками-модификаторами и посілаются как флаги модификаторы(даже на уровне железа), так что придётся выкручиваться по-другому(отслежывать нажатие каждой клавиш и сопоставлять), а вообще данную проблему в 99% можно обойти использовав Ctrl/Shift/Alt!
Ответ отправил: Гриценко Юрий Алексеевич (статус: 2-ой класс)
Отправлен: 11.02.2005, 17:18

Отвечает: Bob Johnson
Здравствуйте, Shizuku Tsukishima!
Используй функцию GetKeyboardState, которая возвращает состояние всех клавиш клавиатуры или сам отлавливай нажатие на каждую требуемую клавишу и запоминай его в обработчике OnKeyDown.
Ответ отправил: Bob Johnson (статус: Академик)
Отправлен: 11.02.2005, 21:46

Отвечает: Полховский Александр Владимирович
Здравствуйте, Shizuku Tsukishima!
Отслеживать отдельно события на нажатие/отжатие необходимых клавишь. Примерно так:
procedure form1.onkeydown(тра-та-та)
begin
case key of
'A':AisPressed:=true;
'D':Dispressed:=true;
else ;
if (AisPressed)and(DisPressed)
then givemeabottleofmyfavouritebeer;
end;
ну и соответственно на отжатие:
procedure form1.onkeyup(тра-та-та)
begin
case key of
'A':AisPressed:=false;
'D':Dispressed:=false;
else ;
end;
Ответ отправил: Полховский Александр Владимирович (статус: 5-ый класс)
Отправлен: 14.02.2005, 01:26


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, Россия, Москва. Идея, дизайн, программирование: Калашников О.А.


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Отписаться

В избранное