Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > CString с несколькими кавычками внутри


Автор: Proletariy 16.12.2010, 16:30
Вопрос видимо очень простой но я не могу разобраться, подскажите пжл.

Пишу класс для генерации *.html документа
есть теги отвечающие за выравнивание текста, его цвет и др.
например 
Код

<aling = "right">


или вот например 
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

Как мне их загнать в файл?

Формирую *html путем добавления в него сторк
Например
Код

CString str;
file.Open(pathName,CFile::modeWrite);
str =_T("<HTML>\r\n");
file.Write(str,str.GetLength());


Получается внутри строки типа CString нельзя ставить дополнительные кавычки smile 

Автор: Dov 16.12.2010, 16:52
Код
str =_T("\"<HTML>\"\r\n");


Автор: Proletariy 16.12.2010, 16:56
Dov
Спасибо большое. Помогло.))  smile 

Автор: borisbn 16.12.2010, 16:57
1) HTML поддерживает одинарные ковычки
2) Посмотри лучше в сторону XML-библиотек ( http://xmlsoft.org/ или http://www.grinninglizard.com/tinyxmldocs/index.html ). Они всё сделают правильнее и, возможно, быстрее, чем ты smile

Автор: Proletariy 16.12.2010, 17:22
borisbn , спасибо.
Я думаю, что они сделают не только правильнее но и быстрее. 
Я в детстве учил html и решил генерировать отчет именно в нем, т.к. немного еще помню)).

Скажи пожалуйста в двух словах - т.е. эти библиотеки позволяют генерировать xml документы  с поддержкой таблиц и прочего форматирования текста?
TinyXml кажется за деньги?

Автор: borisbn 16.12.2010, 19:36
>TinyXml кажется за деньги?
Обе абсолютно бесплатные. И потом, у тебя же вижуалСтудия+MFC... Она ж рчень дорогая smile 
> эти библиотеки позволяют генерировать xml документы с поддержкой таблиц и прочего форматирования текста?

Они просто генерируют xml-документ. Там есть функции добавления любого пользовательского тэга, в т.ч. и TR и TD и какие хочешь. А также добавления любых аттрибутов к этим тэгам

Автор: Proletariy 17.12.2010, 09:49
borisbn
 smile 
Спасибо, обязательно их изучу.

Автор: borisbn 17.12.2010, 14:17
Код

TiXmlElement * htmlElem = new TiXmlElement( "html" );
    TiXmlElement * bodyElem = new TiXmlElement( "body" );
        TiXmlElement * tableElem = new TiXmlElement( "table" );
            TiXmlElement * trElem = new TiXmlElement( "tr" );
                TiXmlElement * tdElem = new TiXmlElement( "td" );
                    TiXmlText * textElem = new TiXmlText( "1st cell" );
                tdElem->LinkEndChild( textElem );
            trElem->LinkEndChild( tdElem );
                tdElem = new TiXmlElement( "td" );
                    textElem = new TiXmlText( "2nd cell" );
                tdElem->LinkEndChild( textElem );
            trElem->LinkEndChild( tdElem );
        tableElem->LinkEndChild( trElem );
    bodyElem->LinkEndChild( tableElem );
htmlElem->LinkEndChild( bodyElem );
 
TiXmlDocument doc;
doc.LinkEndChild( htmlElem );
doc.SaveFile( "easy_table.html" );

Автор: Proletariy 17.12.2010, 16:59
borisbn, Спасибо большое. Очень помог.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)