Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

11

04.11.2015, 16:33

Bist du sicher, dass dein Beispiel gültig(valide) ist? Ich würde fast behaupten es ist nicht ein mal wohlgeformt.
Darum ging's gar nicht. Es ging um die Struktur. Natürlich ist das mit meinem Kommentar in der ersten Zeile nicht valide.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

12

04.11.2015, 17:20

Der Index nach dem String "eingabeTermin" ist falsch:

C#-Quelltext

1
terminAnsicht.Rows.Add(eingabeTermin[1]);


Schau dir mal diese Beispiel an:
MSDN
Das wird vermutlich dein Problem lösen.


Edit:
Die Funktion table.Rows.Add erwartet ein Row-Object. Wenn du solche dir fremden Funktionen aufrufst, achte immer auf die Parameter die du angezeigt bekommst nachdem du die die öffnende Klammer nach dem Methodennamen eingegeben hast. Laut MSDN wäre das hier richtig:

C#-Quelltext

1
2
3
4
DataRow row = table.NewRow();
row["Uhrzeit"] = eingabeUhrzeit;
row["Termin"] = eingabeTermin;
table.Rows.Add(row);
Empires in Space
MMO 4X, Rundenbasiert
HTML5/TypeScript/Javascript/CSS/C#/SQL

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Skratti« (04.11.2015, 21:50)


Garzec

Alter Hase

  • »Garzec« ist der Autor dieses Themas

Beiträge: 693

Wohnort: Gießen

  • Private Nachricht senden

13

06.11.2015, 08:27

Hey danke für deinen Edit :) genau das hatte gefehlt. Wie setze ich meinen Post auf "gelöst"? Falls es dazu einen Button gibt finde ich ihn nicht .. Schande über mein Haupt :dead:

Garzec

Alter Hase

  • »Garzec« ist der Autor dieses Themas

Beiträge: 693

Wohnort: Gießen

  • Private Nachricht senden

14

10.11.2015, 14:00

Der Kalender läuft soweit, ich bin grade an den letzten Anspassungen dran und wollte gerne bei der Zeitangabe eine Grenze setzen, sodass der Anwender nicht zb 25 angeben kann (weils logischerweise nicht 25.00 Uhr gibt ^^).

Als Maximum und Minimum habe ichs mal mit Numericupdowns versucht, wobei ich normale Textboxen schöner finde.

Wenn der Benutzer also etwas falsches eingibt, soll das Feld geleert werden und eine Message Box erscheint.

C#-Quelltext

1
2
3
4
5
if (Convert.ToInt32(textBoxUhrzeitStundeVon.Text) > 24)
            {
                textBoxUhrzeitStundeVon.Clear();
                MessageBox.Show("Zeitangabe muss zwischen 1 und 24 Stunden liegen");
            }


Der Codeblock befindet sich in einem KeyPress Event, gekoppelt an der jeweiligen Textbox. Die Textbox soll also während der Eingabe überprüfen, ob die Bedingung eingehalten wird.

Wenn die Methode aufgerufen wird, erscheint folgende Fehlermeldung:

FormatException
Ein Ausnahmefehler des Typs "System.FormatException" ist in mscorlib.dll aufgetreten.

Zusätzliche Informationen: Die Eingabezeichenfolge hat das falsche Format.


Kann ich also einer Textbox keinen maximalen Wert zuweisen ?

Natürlich könnte ich auch sämtliche mögliche Zahlen in die Bedingung schreiben. Aber bei 60 Minuten wäre das ein großer Block, recht "unsauber", vielleicht kennt ja jemand eine elegantere Lösung ? ?(

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

15

10.11.2015, 14:06

Zitat von »https://msdn.microsoft.com/en-us/library/sf1aw27b(v=vs.110).aspx«

FormatException: value does not consist of an optional sign followed by a sequence of digits (0 through 9).


Was bei einem leeren String ja auch der Fall ist.
Was stört dich denn an NumericUpDowns?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

16

10.11.2015, 14:07

Hinweis:
Convert.ToInt32("foobar") -> System.FormatException
Convert.ToInt32("") -> System.FormatException
Convert.ToInt32("14") -> OK


Edit: :ninja:
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Garzec

Alter Hase

  • »Garzec« ist der Autor dieses Themas

Beiträge: 693

Wohnort: Gießen

  • Private Nachricht senden

17

10.11.2015, 14:15

Ich wollte es simpel halten, einfach nur ein Feld mit Zahleingabe.

Daher fand ich die Numerics halt nich so schön :D

Danke für eure Hinweise, die verstehe ich ja auch, aber mit "Convert.ToInt32()" kann ich den eingegebenen Text doch vom String in einen Integer umwandeln? Bzw. wollt ihr damit sagen das es nur mit Numerics gehen würde?

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

18

10.11.2015, 14:17

Ich wollte es simpel halten, einfach nur ein Feld mit Zahleingabe.

Genau dafür sind aber NumericUpDowns gedacht.

Danke für eure Hinweise, die verstehe ich ja auch, aber mit "Convert.ToInt32()" kann ich den eingegebenen Text doch vom String in einen Integer umwandeln? Bzw. wollt ihr damit sagen das es nur mit Numerics gehen würde?


Geh halt mal mit dem Debugger in die Methode und guck dir an, welchen Wert Text an der Stelle hat ;)

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

19

10.11.2015, 14:23

mit "Convert.ToInt32()" kann ich den eingegebenen Text doch vom String in einen Integer umwandeln
Schon, aber eben nur, was sich umwandeln lässt. Alles, was keine Zahlen sind (auch Leerstrings) werfen eine Exception.
Auch in NumericUpDown kann man Zahlen rein tippen, ich würde das daher immer bevorzugen. Speziell auch, wenn Minimum, Maximum und Nachkommastellen damit festlegbar sind.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Garzec

Alter Hase

  • »Garzec« ist der Autor dieses Themas

Beiträge: 693

Wohnort: Gießen

  • Private Nachricht senden

20

10.11.2015, 14:34

nagut dann änder ich das mal wieder ab, danke euch :)

Werbeanzeige