Witam, po pierwsze zanim zacznę to prowadzę naukę w szwecji dlatego opisy są nie po polsku. Uczę się od 2,3 tyg więc nie wszystko wiem co i jak także prosiłbym o bardziej jasne wytłumaczenie błędów jakie popełniam.
Mam mały problem z przyciskiem usuń użytkownika (Ta_bortknap_Click). Nie działa i nie wiem jak to zrobić.
Drugi problem to wyszukiwanie (Sökknap_Click) Aktualnie jest tak że mogę wyszukiwać jedynie po Imieniu i jak zrobić aby wyszukiwać po nr telefonu czy mejlu itd?
namespace Inlämningsuppgift_1
{
public partial class Form1 : Form
{
//Vägen till filen
public string path = @"C:\temp\AdressBok.txt";
public Form1()
{
InitializeComponent();
}
private void Avslutaknap_Click(object sender, EventArgs e)
{
//Stänger ner programmet
this.Close();
}
private void Rensaknap_Click(object sender, EventArgs e)
{
//Rensar listBox
listBox1.Items.Clear();
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
textBox5.Clear();
textBox6.Clear();
}
private void Form1_Load(object sender, EventArgs e)
{
//Skapar txt fillen
var file = @"C:\temp\AdressBok.txt";
if (!File.Exists(file))
File.Create(file);
Loading();
//Ändrad FormBorderStyle till FixedSingle så att man kan inte ändra storleken
//samt MaximizeBox to False
}
private void Registeraknap_Click(object sender, EventArgs e)
{
//Läser in klassen och läggs till värde
Person person = new Person(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text,
textBox6.Text);
//Om Register metoden går genom då rensas alla rutor
if (person.Register())
{
listBox1.Items.Add(person.Name);
//Rensar textbox efter man har tryck register kanpen
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
textBox5.Clear();
textBox6.Clear();
}
}
private void Uppdatera_knapp_Click(object sender, EventArgs e)
{
//Uppdaterar kontakt som redan finns
List<string> linesToUp = new List<string>();
string Name = textBox1.Text;
string Gatu = textBox2.Text;
string Postnr = textBox3.Text;
string Postort = textBox4.Text;
string Telefon = textBox5.Text;
string Email = textBox6.Text;
string line;
string lineUpdate = ($"{Name}, {Gatu}, {Postnr}, {Postort}, {Telefon}, {Email}");
using (StreamReader sr = new StreamReader(path))
{
while ((line = sr.ReadLine()) != null)
{
if (line.Contains(Name))
{
line = lineUpdate;
linesToUp.Add(line);
}
else linesToUp.Add(line);
}
}
using (StreamWriter sw = new StreamWriter(path))
{
foreach (var i in linesToUp)
{
sw.WriteLine(i);
}
}
//Person uppdaterad = new Person(Name, Gatu, Postnr, Postort, Telefon, Email);
//personer.Add(uppdaterad);
MessageBox.Show("Sparat !");
}
private void Ta_bortknap_Click(object sender, EventArgs e)
{
//Raderar kontakt
List<string> linesToKeep = new List<string>();
string Name = textBox1.Text;
string Gatu = textBox2.Text;
string Postnr = textBox3.Text;
string Postort = textBox4.Text;
string Telefon = textBox5.Text;
string Email = textBox6.Text;
string line;
string lineDelete = ($"{Name}, {Gatu}, {Postnr}, {Postort}, {Telefon}, {Email}");
using (StreamReader sr = new StreamReader(@"C:\temp\AdressBok.txt"))
{
while ((line = sr.ReadLine()) != null)
{
if (line.CompareTo(lineDelete) != 0)
{
linesToKeep.Add(line);
}
}
}
using (StreamWriter sw = new StreamWriter(@"C:\temp\AdressBok.txt"))
{
foreach (var i in linesToKeep)
{
sw.WriteLine(i);
}
}
MessageBox.Show("Raderat !");
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
List<string> lines = File.ReadAllLines(@"C:\temp\AdressBok.txt").ToList();
Loading();
foreach (string a in lines)//Foreach-loop som går igenom hela textfilen och kategoriserar texten i olika index.
{
string[] vektor = a.Split(new string[] { "," }, StringSplitOptions.None);
string Name = vektor[0];
string Adress = vektor[1];
string Zipcode = vektor[2];
string Locality = vektor[3];
string Phone = vektor[4];
string Email = vektor[5];
if (listBox1.SelectedItem.ToString() == Name.ToString())
{
MessageBox.Show(Name.ToString() + " " + Adress.ToString() + " " + Zipcode.ToString() + " " + Locality.ToString() + " " + Phone.ToString() + " "
+ Email.ToString());
textBox1.Text = Name.ToString();
textBox2.Text = Adress.ToString();
textBox3.Text = Zipcode.ToString();
textBox4.Text = Locality.ToString();
textBox5.Text = Phone.ToString();
textBox6.Text = Email.ToString();
}
}
}
private void Ladda_uppknap_Click(object sender, EventArgs e)
{
//Tömmer tidigare sökresultat
listBox1.Items.Clear();
//Vissar allt från txt filen i listBoxen
List<string> lines = File.ReadAllLines(path).ToList();
foreach (string linet in lines)
{
listBox1.Items.Add(linet);
}
}
private void Sökknap_Click(object sender, EventArgs e)
{
////Söker om namnet finns i bla txt filen och då visas i vänstra rutan (listbox).
string text = textBox7.Text;
listBox1.Items.Clear();
List<string> lines = File.ReadAllLines(@"C:\temp\AdressBok.txt").ToList();
foreach (string a in lines)//Foreach-loop som går igenom hela textfilen och kategoriserar texten i olika index.
{
string[] vektor = a.Split(new string[] { "," }, StringSplitOptions.None);
string Name = vektor[0];
string Adress = vektor[1];
string Zipcode = vektor[2];
string Locality = vektor[3];
string Phone = vektor[4];
string Email = vektor[5];
if (Name.ToLower() == textBox7.Text.ToLower())
{
listBox1.Text = vektor[0];
listBox1.Items.Add(Name.ToString());
}
}
}
////Vid starten läser allt från txt filen och lägger till listan
public void Loading()
{
StreamReader sr = new StreamReader(path);
string line = "";
while (!sr.EndOfStream)
{
line = sr.ReadLine();
var array = line.Split(',');
string Name = array[0];
string Adress = array[1];
string Postnr = array[2];
string Postort = array[3];
string Telefon = array[4];
string Email = array[5];
}
sr.Close();
}
}
}