2012-06-26 14 views
6

Bien, he terminado de codificar y todos mis resultados están listos, todo lo que tengo que hacer ahora es crear informes HTML para mostrar estos resultados. ¿Cómo creo un informe HTML usando C++? ¿alguna idea? Si sirve, estoy usando Visual Studio para compilar y ejecutar mi código, aunque no estoy muy interesado en usar bibliotecas VS y preferiría usar bibliotecas estándar de C++, si las hay. Gracias de antemanoCrear informes HTML usando C++

+0

Podría ayudar si explica qué tipo de informe desea crear? De la entrada de datos al programa? Del programa en sí? ¿Algo más? Además, ¿debería llamarse desde un servidor web, o simplemente generar HTML puro? –

+0

http://whathaveyoutried.com/ – Griwes

+0

@JoachimPileborg Necesito crear un informe de los datos que se calculan dentro del programa, los datos de entrada no se incluirán. No se llama nada desde el servidor web, todo se llama desde el programa en sí. – vin

Respuesta

2

Una manera rápida de hacerlo es simplemente escribiendo las etiquetas html como cadenas. He aquí un ejemplo

ofstream myfile; 
    myfile.open ("C:\\report.html"); 
    myfile << "<!DOCTYPE html><html><head></head><body>"; //starting html 

    //add some html content 
    //as an example: if you have array of objects featuring the properties name & value, you can print out a new line for each property pairs like this: 
    for (int i=0; i< reportData.length(); i++) 
     myfile << "<p><span style='font-weight: bold'>" << reportData[i].name << "</span><span>" << reportData[i].value << "</span></p>"; 

    //ending html 
    myfile << "</body></html>"; 
    myfile.close(); 

Editar: código actualizado

+0

¿Puede explicar un poco más? da un error que se lee como: 'nombre seguido de :: debe ser una clase o un nombre de espacio de nombres' – vin

+0

No es un código C++. C++/CLI posiblemente. – n0rd

+0

Ah, olvidé que StreamWriter y el espacio de nombres del sistema no están disponibles a menos que use .Net CLR. Actualicé el código para que use la clase ofstream en su lugar. El contenido de ejemplo que he escrito crea un párrafo para cada elemento en la matriz de ReportData. (No es que no haya definido la matriz, así que es solo un ejemplo, el código aún no es ejecutable) – Drkawashima

0

Bueno, HTML es texto, por lo que todas las herramientas comunes de write a std::ostream son totalmente capaces de producir resultados para usted. Sin embargo, sugeriría que simplemente genere XML que describa su jerarquía de estructura de datos y luego aplique scripts, hojas de estilo o lo que sea para formatearlo a su gusto.

0

Lo que es posible que desee aquí es un motor de plantillas HTML C++. Puede encontrar una lista here