C# Programmering 2. Hjälp med windows forms projekt.
ÖVERBLICK:
Mitt program visar en textruta som i sin tur vid knapptryck genererar en slumpvald boks ToString-override().
Dessa böcker är importerade från en textfil via en Streamreader.
PROBLEMET:
Min fråga är. Hur ska jag visa i utskriften om en bok finns tillgänglig eller inte? I textfilen finns även ett boolean värde, true eller false för böckerna. Men hur ska jag beroende på vad deras boolean värde är satt till kunna visa det i den slutgiltiga utskriften?
Hur ska jag konvertera ett boolean värde så att jag får ut en sträng som visar om boken finns eller inte.
Min kod:
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;
namespace Tipsmaskinen
{
public partial class Form1 : Form
{
List<Bok> mainList = new List<Bok>();
List<string[]> coreList = new List<string[]>();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
FileLoader();
}
//
public void FileLoader()
{
if (File.Exists("texter.txt"))
{
List<string> itemSaver = new List<string>();
StreamReader reader = new StreamReader("texter.txt", Encoding.Default, true);
string item = "";
while ((item = reader.ReadLine()) != null)
{
itemSaver.Add(item);
}
foreach (string b in itemSaver)
{
string[] vektor = b.Split(new string[] { "###" }, StringSplitOptions.None);
coreList.Add(vektor);
switch (vektor[2])
{
case "Roman":
mainList.Add(new Roman(vektor[0], vektor[1], vektor[2]));
break;
case "NovellSamling":
mainList.Add(new Novellsamling(vektor[0], vektor[1], vektor[2]));
break;
case "Tidskrift":
mainList.Add(new Tidskrift(vektor[0], vektor[1], vektor[2]));
break;
default:
break;
}
Random random = new Random();
string obj = mainList[random.Next(mainList.Count)].ToString();
textBox1.Text = Convert.ToString(obj);
}
}
}
}
public class Bok
{
public string typ;
public string tittel;
public string skribent;
// Konstruktor för bok.
public Bok(string tittel, string skribent, string typ)
{
this.typ = typ;
this.tittel = tittel;
this.skribent = skribent;
}
//En standard ToString för en bok.
public override string ToString()
{
return tittel + ". " + skribent + ". " + typ;
}
public string GetTitel()
{
return tittel;
}
}
public class Roman : Bok
{
public Roman(string tittel, string skribent, string typ) : base(tittel, skribent, typ) { }
public override string ToString()
{
typ = "Roman";
return "\"" + tittel + "\" " + "av " + skribent + ". (" + typ + ")";
}
}
public class Novellsamling : Bok
{
public Novellsamling(string tittel, string skribent, string typ) : base(tittel, skribent, typ) { }
public override string ToString()
{
typ = "Novellsamling";
return "\"" + tittel + "\" " + "av " + skribent + ". (" + typ + ")";
}
}
public class Tidskrift : Bok
{
public Tidskrift(string tittel, string skribent, string typ) : base(tittel, skribent, typ) { }
public override string ToString()
{
typ = "Tidskrift";
return "\"" + tittel + "\" " + "av " + skribent + ". (" + typ + ")";
}
}
}