Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вставка текста из файла в компонент, как вставить форматированый текст 
:(
    Опции темы
NordWolf
Дата 13.3.2008, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 15.8.2007

Репутация: нет
Всего: 1



Как можно вставить форматированный текст из фалйа (добпустим содержимое HTML странички сохранённой на винте) в свою программу? Каким компонентом можно воспользоваться для его отображения?

Это сообщение отредактировал(а) NordWolf - 13.3.2008, 21:34
PM MAIL   Вверх
Dmi3ev
Дата 13.3.2008, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 16
Всего: 41



можно воспользоваться много чем, например Memo с вкладки Standart!
а загружать можно так (например страница html1 расположена в C:\\)
Код

Memo1->Lines->LoadFromFile("C:\\html1.html");

кинь этот текст на нажатие кнопки, разберешься!!!
пиши, если че не так


--------------------

PM MAIL   Вверх
NordWolf
Дата 15.3.2008, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 15.8.2007

Репутация: нет
Всего: 1



да, проблема в том, что он отображает не сам форматированный текст,а весь код странички. Как сделать чтобы отображался именно форматированый текст,а  не код?
PM MAIL   Вверх
NordWolf
Дата 15.3.2008, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 15.8.2007

Репутация: нет
Всего: 1



Нашёл интересный компонент, но он только для Delphi. 
Компонент THtmlLite позволяет отображать HTML-документы в Delphi-приложениях. 
Аналогичные для Builder c++ есть?
PM MAIL   Вверх
dumb
Дата 15.3.2008, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 32
Всего: 158



Цитата(NordWolf @  15.3.2008,  23:10 Найти цитируемый пост)
Аналогичные для Builder c++ есть?
дельфевые компоненты в билдере используются "на ура".
PM MAIL   Вверх
NordWolf
Дата 16.3.2008, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 15.8.2007

Репутация: нет
Всего: 1



Цитата(dumb @  15.3.2008,  23:27 Найти цитируемый пост)
дельфевые компоненты в билдере используются "на ура".


нет, к сожалению в демо-версии этого компонента только реализация под delphi. Расширение *.dpl. А в билдере bpk.
PM MAIL   Вверх
dumb
Дата 16.3.2008, 03:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 32
Всего: 158



эм. погоди-ка... а про существование TCppWebBrowser тебе известно? используй поиск по этому слову.
PM MAIL   Вверх
NordWolf
Дата 16.3.2008, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 15.8.2007

Репутация: нет
Всего: 1



Благодарю. Найденный путь решения проблемы:

Код

void __fastcall TForm3::FormCreate(TObject *Sender)
{

    TCppWebBrowser *CppWebBrowser = new TCppWebBrowser ( this );

   CppWebBrowser->TOleControl::Parent = this;
   CppWebBrowser->Align = alClient;

   CppWebBrowser->Navigate(WideString("С:\\Development\\html1.html"));

}


Возникло ещё 2 вопроса.
1) Когда я вставил следующий(см. выше) код в TForm3, то вся форма преобрела вид браузера, то есть все кнопки и компоненты которые были расположены на Form3 скрылись, сотался только контент TCppWebBrowser. Как сделать,чтобы Содержимое компонента TCppWebBrowser (в нашем случае файл html1.html) открывался в отдельном компоненте, а рядышком можно было расположить допустим какую-либо кнопку.

2)А как можно запустить файл находящийся в папке с программой? Если просто написать CppWebBrowser->Navigate(WideString("html1.html"));  то он не открывает, пишет ошибку...
PM MAIL   Вверх
Dmi3ev
Дата 16.3.2008, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 16
Всего: 41



NordWolf, по 1 пункту:
убери align=alclient оно по умолчанию alnone и управляй положением TccpBrowser с помощью след св-в
Left-положение относительно левой границы формы
Top-положение относительно верхней границы формы
Height-высота
Width-ширина
ты просто делаешь выравнивание и твой компонент растягивается по всей форме

теперь по 2:
у тебя текущей директорией является не та, где лежит проект! узнать путь к проекту можно функцией, а ещё, по-моему можно это как-то делать в самом Bilder


--------------------

PM MAIL   Вверх
NordWolf
Дата 16.3.2008, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 15.8.2007

Репутация: нет
Всего: 1



Поставил в свойстве align=alnone и на форме и в компоненте, но всё равно компонент предательски загребает всё пространство, развёртываясь на всей форме...

по поводу второго - Project>Options>Directories... Там прописаны пути проекта, всё вроде в порядке, но не грузится. Я это делаю так: CppWebBrowser->Navigate(WideString("html1.html"));
PM MAIL   Вверх
Dmi3ev
Дата 16.3.2008, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 16
Всего: 41



по 1
не надо вообще ничего писать, просто выравнивайте компонент с помощью св-в, которые я описал
Цитата

Left-положение относительно левой границы формы
Top-положение относительно верхней границы формы
Height-высота
Width-ширина

иначе ничего не будет

по 2
значит надо использовать функцию, которая возвращает путь к проекту, сейчас нет справочника под рукой, а то бы подсказал


--------------------

PM MAIL   Вверх
NordWolf
Дата 17.3.2008, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 15.8.2007

Репутация: нет
Всего: 1



Цитата(Dmi3ev @  16.3.2008,  21:58 Найти цитируемый пост)
иначе ничего не будет


так и сделал. Там видать какое-то свойство стоит чтобы по всей форме растягивалось независимо от размеров.
свойства компонента:
align=alNone
Left=1
Top=1
Height=608
Width=860

свойства формы:
align=alNone
Left=230
Top=170
Height=717
Width=885

Добавлено через 14 минут и 7 секунд
Цитата(Dmi3ev @  16.3.2008,  21:58 Найти цитируемый пост)
значит надо использовать функцию, которая возвращает путь к проекту, сейчас нет справочника под рукой, а то бы подсказал


сделал так:
Код

CppWebBrowser->Navigate(WideString(ExtractFilePath(Application->ExeName) + "html1.html"));


всё открыл)

PM MAIL   Вверх
NordWolf
Дата 17.3.2008, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 15.8.2007

Репутация: нет
Всего: 1



ЗЫ:
вообщем уладил проблему с выравниванием следующим способом:

поставил на форму две панели TPanel. одну сделал align = alBottom.а другую alClient. потом на вторую поместил веб браузер и тоже alClient. а на ту что alBottom поместил кнопку

прикольно получилось.
Пасибо всем кто помогал. Я ещё обращусь к вам)

Это сообщение отредактировал(а) NordWolf - 17.3.2008, 17:47
PM MAIL   Вверх
NordWolf
Дата 23.4.2008, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 15.8.2007

Репутация: нет
Всего: 1



Возникла следующая проблема. При помещении этого же компонента в другой форме  этого же проекта, то компонент не отображает файл (изменил только имя файла, который надо открывать).  Код использую тот же:

Код


   TCppWebBrowser *CppWebBrowser = new TCppWebBrowser ( this );

   CppWebBrowser->TOleControl::Parent = this;
   CppWebBrowser->Align = alClient;

CppWebBrowser->Navigate(WideString(ExtractFilePath(Application->ExeName) + "html2.html"));





Это сообщение отредактировал(а) NordWolf - 24.4.2008, 19:39
PM MAIL   Вверх
NordWolf
Дата 24.4.2008, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 15.8.2007

Репутация: нет
Всего: 1



 smile 

пробовал поменять открывающий файл, пробовал оставлять предыдущий файл(открывать тот же что и на предыдущей форме) - всё бестолку, белый фон.  Народ, помогите, диплом подвис в воздухе.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.2542 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.