WinFuture-Forum.de: Konvertierungsproblem Bei C# - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Konvertierungsproblem Bei C#


#1 Mitglied ist offline   skelle 

  • Gruppe: aktive Mitglieder
  • Beiträge: 793
  • Beigetreten: 15. Juli 04
  • Reputation: 0

geschrieben 04. Dezember 2005 - 17:52

Ich hab noch nich wirklich viel Erfahrung in Sachen programmieren, naja in der Schule n bissle Delphi und jetz will ich mich zu Hause ein bisschen mit C# beschäftigen.
Gefällt mir so ganz gut aber ich hab ein Problem:
Wenn man bei Delphi aus einem Textfeld einen Text auslesen wollte ging das ja mit
StrToInt z.b. und dann hatte meine eine Integer Zahl mit der man rechnen konnte.
Ich wollte grad ma ein Programm zum Zahlenraten in C# schreiben, hänge aber an einer Stelle:

Zitat

private void BRaten_Click(object sender, EventArgs e)

{
InitializeComponent();
Random lol = new Random();
int randomNumber = lol.Next(1, 100);
Int32 Eingabe=Convert.ToInt32(TEingabe.Text);

if (Eingabe>randomNumber)
{
LAusgabe.Text="Zahl zu gros";
LAusgabe.Visible = true;
}
else
{
if (Eingabe==randomNumber)
{
LAusgabe.Text="Richtige Zahl";
LAusgabe.Visible = true;
}
else
{
LAusgabe.Text="Zahl zu klein";
LAusgabe.Visible = true;
}
}



}

soweit gehts auch ABER:
beim konvertieren des String aus dem Textfeld am Anfang mach ich was falsch
er startet das Programm zwar aber wenn ich eine Zahl eingebe, dann kommt immer der Fehler:
"Input string was not in a correct format"
Ja meine Frage ist nu wie ich das behebe bzw wie das genau mit dem konvertieren funktioniert.
Ich hab schon google befragt aber wirklich draus schlau geworden bin ich nich :P
mfg skelle
0

Anzeige



#2 Mitglied ist offline   Talla 

  • Gruppe: aktive Mitglieder
  • Beiträge: 225
  • Beigetreten: 24. Februar 04
  • Reputation: 0
  • Wohnort:Esslingen

geschrieben 04. Dezember 2005 - 18:45

Im Prinzip müsste es funktionieren. Strings kannst du entweder mit der von dir verwendeten Convert.ToInt32() oder int.Parse() in Integer umwandeln. Sicher das du auch Zahlen eingibst?!?
Weiß natürlich nicht genau wie dein Programm finktionieren soll, aber glaube da sind einige Fehler in der Programmlogik. Erstmal gehört die InitializeComponent in den Konstruktor, nirgends anders. Dort werden die Controls initialisiert und das geschieht einmal beim Öffnen der Form. Dann erzeugst du bei jedem Drücken des Buttons eine neue Zufallszahl - kann sein dass das so beabsichtigt ist, aber ich denke mal die wenigsten raten die Zahl beim ersten Mal. Vielleicht solltest das einmal überdenken.
Heimat ist nicht immer dort, wo wir zur Welt kamen - Heimat ist wo wir lieben. *Ehm Welk
0

#3 Mitglied ist offline   skelle 

  • Gruppe: aktive Mitglieder
  • Beiträge: 793
  • Beigetreten: 15. Juli 04
  • Reputation: 0

geschrieben 04. Dezember 2005 - 19:00

so das mit dem fehler hab ich hinbekommen, hab anstatt was auszuschneiden nur rauskopiert :P
und das jedes mal eine neue Zahl entsteht is mir auch schon aufgefallen ^^,
aber wie deklariere ich globale variablen in C#`?
wie in delphi gehts ja anscheinend nich ^^
0

#4 Mitglied ist offline   Talla 

  • Gruppe: aktive Mitglieder
  • Beiträge: 225
  • Beigetreten: 24. Februar 04
  • Reputation: 0
  • Wohnort:Esslingen

geschrieben 04. Dezember 2005 - 19:20

Globale Varibalen gibts zum Glück in C# nicht :P

Du fügst die einfach als Membervariable der Klasse ein und kannst darauf innerhalb deiner Funktionen daruf zugreifen. Um einmal einen Random Wert zu erstellen könntest du das im Konstruktor der Form machen.
Heimat ist nicht immer dort, wo wir zur Welt kamen - Heimat ist wo wir lieben. *Ehm Welk
0

#5 Mitglied ist offline   skelle 

  • Gruppe: aktive Mitglieder
  • Beiträge: 793
  • Beigetreten: 15. Juli 04
  • Reputation: 0

geschrieben 04. Dezember 2005 - 21:36

hat zwar n bissle gedauert bis ich das gefunden hab mit den Membervariablen, aber es geht jetz :P
danke
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0