Cyperfriend
Der ohne Avatar
- Registriert
- 14 Juli 2013
- Beiträge
- 1.123
Ich habe mir für unsere Telefonanlagen ein Tool geschrieben mit dem ich sehr schnell das zentrale Telefonbuch aktualisieren kann. Bislang habe ich die Einträge in eine Multiline-Textbox gepackt, die ich dann speichern konnte. Das sah dann so aus:
Anhang anzeigen 45972
Die Lösung ist eigentlich echt super, hat aber den Nachteil, dass wenn ich Einträge ändern oder löschen möchte ich die ganze Datei durchgucken muss, da die Einträge nicht alphabetisch sortiert werden können.
Daher bin ich jetzt dabei mir eine neue Version zu programmieren und nutze dafür das DatagridView.
Einträge kann ich bereits hinzufügen, aber ich kann die Einträge leider nicht exportieren, bzw. eine entsprechende Datei öffnen. Kann mir bitte jemand mit einfachem Code (=Hauptsache es funktioniert) helfen? Anbei das was ich schon habe, sowie ein Screenshot
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Text.RegularExpressions;
namespace Telefonbuch_Importer_2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// Dateipfad
string datei;
private void Form1_Load(object sender, EventArgs e)
{
//Spalten und Spaltenbreite festlegen
dataGridView1.Columns.Add("colNachname", "Nachname");
dataGridView1.Columns["colNachname"].Width = 150;
dataGridView1.Columns.Add("colVorname", "Vorname");
dataGridView1.Columns["colVorname"].Width = 150;
dataGridView1.Columns.Add("colFestnetz", "Festnetz");
dataGridView1.Columns["colFestnetz"].Width = 150;
dataGridView1.Columns.Add("colMobil", "Mobil");
dataGridView1.Columns["colMobil"].Width = 150;
dataGridView1.Columns.Add("colPrivat", "Privat");
dataGridView1.Columns["colPrivat"].Width = 150;
dataGridView1.Columns.Add("colEmail", "E-Mail");
dataGridView1.Columns["colEmail"].Width = 150;
}
private void cmdEinfuegen_Click(object sender, EventArgs e)
{
// Nur Zahlen zulassen, Lerrzeichen entfernen
Regex tmpFestnetz = new Regex("[^0-9]+");
string Festnetz = tmpFestnetz.Replace(txtFestnetz.Text.Trim(), string.Empty);
Regex tmpMobil = new Regex("[^0-9]+");
string Mobil = tmpMobil.Replace(txtMobil.Text.Trim(), string.Empty);
Regex tmpPrivat = new Regex("[^0-9]+");
string Privat = tmpPrivat.Replace(txtPrivat.Text.Trim(), string.Empty);
// Eintrag hinzufügen
dataGridView1.Rows.Add(txtNachname.Text, txtVorname.Text, Festnetz, Mobil, Privat, txtEmail.Text);
// Textboxen löschen
txtNachname.Clear();
txtVorname.Clear();
txtFestnetz.Clear();
txtMobil.Clear();
txtPrivat.Clear();
txtEmail.Clear();
}
private void txtNachname_TextChanged(object sender, EventArgs e)
{
// E-Mailadresse aus Vor- und Nachnamen zusammenbauen
txtEmail.Text = txtVorname.Text.ToLower() + "." + txtNachname.Text.ToLower() + "@";
}
private void cmdSpeichern_Click(object sender, EventArgs e)
{
try
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "Textdateien (*.txt)|*.txt";
if (sfd.ShowDialog() == DialogResult.OK)
{
string file = sfd.FileName;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
[/src]
Anhang anzeigen 45972
Die Lösung ist eigentlich echt super, hat aber den Nachteil, dass wenn ich Einträge ändern oder löschen möchte ich die ganze Datei durchgucken muss, da die Einträge nicht alphabetisch sortiert werden können.
Daher bin ich jetzt dabei mir eine neue Version zu programmieren und nutze dafür das DatagridView.
Einträge kann ich bereits hinzufügen, aber ich kann die Einträge leider nicht exportieren, bzw. eine entsprechende Datei öffnen. Kann mir bitte jemand mit einfachem Code (=Hauptsache es funktioniert) helfen? Anbei das was ich schon habe, sowie ein Screenshot
[src=csharp]using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Text.RegularExpressions;
namespace Telefonbuch_Importer_2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// Dateipfad
string datei;
private void Form1_Load(object sender, EventArgs e)
{
//Spalten und Spaltenbreite festlegen
dataGridView1.Columns.Add("colNachname", "Nachname");
dataGridView1.Columns["colNachname"].Width = 150;
dataGridView1.Columns.Add("colVorname", "Vorname");
dataGridView1.Columns["colVorname"].Width = 150;
dataGridView1.Columns.Add("colFestnetz", "Festnetz");
dataGridView1.Columns["colFestnetz"].Width = 150;
dataGridView1.Columns.Add("colMobil", "Mobil");
dataGridView1.Columns["colMobil"].Width = 150;
dataGridView1.Columns.Add("colPrivat", "Privat");
dataGridView1.Columns["colPrivat"].Width = 150;
dataGridView1.Columns.Add("colEmail", "E-Mail");
dataGridView1.Columns["colEmail"].Width = 150;
}
private void cmdEinfuegen_Click(object sender, EventArgs e)
{
// Nur Zahlen zulassen, Lerrzeichen entfernen
Regex tmpFestnetz = new Regex("[^0-9]+");
string Festnetz = tmpFestnetz.Replace(txtFestnetz.Text.Trim(), string.Empty);
Regex tmpMobil = new Regex("[^0-9]+");
string Mobil = tmpMobil.Replace(txtMobil.Text.Trim(), string.Empty);
Regex tmpPrivat = new Regex("[^0-9]+");
string Privat = tmpPrivat.Replace(txtPrivat.Text.Trim(), string.Empty);
// Eintrag hinzufügen
dataGridView1.Rows.Add(txtNachname.Text, txtVorname.Text, Festnetz, Mobil, Privat, txtEmail.Text);
// Textboxen löschen
txtNachname.Clear();
txtVorname.Clear();
txtFestnetz.Clear();
txtMobil.Clear();
txtPrivat.Clear();
txtEmail.Clear();
}
private void txtNachname_TextChanged(object sender, EventArgs e)
{
// E-Mailadresse aus Vor- und Nachnamen zusammenbauen
txtEmail.Text = txtVorname.Text.ToLower() + "." + txtNachname.Text.ToLower() + "@";
}
private void cmdSpeichern_Click(object sender, EventArgs e)
{
try
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "Textdateien (*.txt)|*.txt";
if (sfd.ShowDialog() == DialogResult.OK)
{
string file = sfd.FileName;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
[/src]