/* **************************************************************
* Dieses Programm dient zum erstellen eines HTML - Gerüsts
* Inkl. einiger Grundwerkzeuge. Das Programm erstellt eine
* HTML - Datei und den dazugehöhrigen Code.
* **************************************************************
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;
namespace HTML_CodeGenerator
{
public partial class FormMain : Form
{
//***********Variabeln***************
private string Filesource;
private string htmlgeruest;
private string selectedText;
private string dateiname;
private StreamWriter HtmFile;
public string csssource { get; set; }
//***********************************
//Die FormSettings laden
private FormSettings Grundeinstellungen;
public FormMain()
{
InitializeComponent();
Grundeinstellungen = new FormSettings();
}
private void FormMain_Load(object sender, EventArgs e)
{
//Das Grundgeruest von HTML in einem String definieren
htmlgeruest = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">";
htmlgeruest += Environment.NewLine + "<html>";
htmlgeruest += Environment.NewLine + " <head>";
htmlgeruest += Environment.NewLine + " <title>" + "</title>";
htmlgeruest += Environment.NewLine + "<link rel=\"stylesheet\" type=\"text/css\" href=\"" + dateiname + ".css\">";
htmlgeruest += Environment.NewLine + " </head>";
htmlgeruest += Environment.NewLine + " <body>";
htmlgeruest += Environment.NewLine + " </body>";
htmlgeruest += Environment.NewLine + "</html>";
}
//Per Klick auf button_einrichten die Formsettings starten
private void button_einrichten_Click(object sender, EventArgs e)
{
Grundeinstellungen.csssource = this.csssource;
Grundeinstellungen.Show();
/*Grundeinstellungen.ShowDialog();
string str = Grundeinstellungen.HTMLFarbe;*/
}
//Datei erstellen mit SavafileDialog
private void button_CreateFile_Click(object sender, EventArgs e)
{
SaveFileDialog dlgSave = new SaveFileDialog();
string FileName = "";
dlgSave.DefaultExt = "htm";
if (dlgSave.ShowDialog() == DialogResult.OK)
{
FileName = dlgSave.FileName;
StreamWriter sw = File.CreateText(FileName);
sw.Write(htmlgeruest);
Filesource = FileName;
sw.Flush();
sw.Close();
using (StreamReader sr = new StreamReader(Filesource))
richTextBox_Fileview.Text = sr.ReadToEnd(); //html Datei in RichTextBox einlesen
dateiname = Path.GetFileNameWithoutExtension(Filesource);
csssource = Path.GetDirectoryName(Filesource) + "\\" + dateiname + ".css";
MessageBox.Show(csssource);
File.Create(dateiname + ".css").Close(); //CSS Datei erstellen und schliessen
if (File.Exists(dateiname + ".css"))
{
using (StreamReader sr = new StreamReader(dateiname + ".css"))
richTextBox_css.Text = sr.ReadToEnd(); //css Datei in RichTextBox einlesen
}
else
{
MessageBox.Show("Die CSS Datei wurde nicht gefunden");
}
}
}
//Datei öffnen mit openfileDialog //Aus MSDN übernommen
private void button_openfile_Click(object sender, EventArgs e)
{
Stream myStream;
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.InitialDirectory = "c:\\";
openFileDialog1.Filter = "Textdateien|*.txt|Internetdateien|*.htm;*.html"; //Auswahl auf htm und html Datein beschränken
openFileDialog1.FilterIndex = 2;
openFileDialog1.RestoreDirectory = true;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
if ((myStream = openFileDialog1.OpenFile()) != null)
{
myStream.Close();
}
MessageBox.Show("datei" + openFileDialog1.FileName);
Filesource = openFileDialog1.FileName;
using (StreamReader sr = new StreamReader(Filesource))
richTextBox_Fileview.Text = sr.ReadToEnd(); //Datei in RichTextBox einlesen
dateiname = Path.GetFileNameWithoutExtension(Filesource);
File.Create(dateiname + ".css").Close(); //CSS Datei erstellen und schliessen
if (File.Exists(dateiname + ".css"))
{
using (StreamReader sr = new StreamReader(dateiname + ".css"))
richTextBox_css.Text = sr.ReadToEnd(); //css Datei in RichTextBox einlesen
}
else
{
MessageBox.Show("Die CSS Datei wurde nicht gefunden");
}
}
}
//einen Titel erstellen und in die Datei schreiben
private void button_titlecreate_Click(object sender, EventArgs e)
{
if (Filesource == "")
{
MessageBox.Show("Bitte zuerst eine Datei erstellen oder öffnen");
}
//definieren der Grösse
//*************************************************
string grösse1;
string grösse2;
if (comboBox_grösseTitel.Text == "klein")
{
grösse1 = "<h3>";
grösse2 = "</h3>";
}
else if (comboBox_grösseTitel.Text == "mittel")
{
grösse1 = "<h2>";
grösse2 = "</h2>";
}
else if (comboBox_grösseTitel.Text == "gross")
{
grösse1 = "<h1>";
grösse2 = "</h1>";
}
else
{
MessageBox.Show("Fehler in Grössendefinition");
grösse1 = "<h1>";
grösse2 = "</h1>";
}
//**************************************************
selectedText = richTextBox_Fileview.SelectedText;
selectedText = grösse1 + selectedText + grösse2;
MessageBox.Show(selectedText);
richTextBox_Fileview.SelectedText = selectedText;
HtmFile = File.CreateText(Filesource); //Inhalt von RichTextBox in datei schreiben
HtmFile.Write(richTextBox_Fileview.Text);
HtmFile.Close();
}
private void button_review_Click(object sender, EventArgs e)
{
Process.Start(Filesource); //Datei mit standardbrowser öffnen
HtmFile = File.CreateText(Filesource); //Inhalt von RichTextBox in datei schreiben
HtmFile.Write(richTextBox_Fileview.Text);
HtmFile.Close();
}
}
}