Announcement

Collapse
No announcement yet.

Hilfe bei .net Hausaufgabe

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Hilfe bei .net Hausaufgabe

    Hi Leute,
    ich muss bis morgen ein Programm für die Uni schreiben. Aber leider bin ich ziemlich planlos. Vielleicht könnt ihr mir weiterhelfen. Ich bräuchte ein paar Ansätze oder was noch besser wäre eine Schritt für Schrittanleitung wie ich vorgehen muss.
    Ich benutze übrigens VisualStudio2005.

    Ihr seit meine letzte Hoffnung!
    Vielen Dank für eure Mühen!

    eure Biene

    Dies ist die Aufgabe:

    1. Schreiben Sie eine Klasse ClsNumberField, die von System.Windows.Forms.TextBox abgeleitet ist. Definieren Sie in der Klasse die Attribute _zahl, _minValue und _maxValue, vom Typ integer. Fügen Sie weiterhin die Eigenschaften Zahl, MinValue und MaxValue hinzu, wobei die Eigenschaften jedoch vom Typ string sein sollen! (Hinweis: Lesen Sie sich bitte die Aufgabenstellung vollständig durch, bevor Sie sich für den Datentyp der Eigenschaften entscheiden).

    2. Definieren Sie in der Klasse ClsNumberField ein Ereignis InputErrorEvent mit den Parametern sender vom Typ Object, eingabewert vom Typ String und fehlertext vom Typ String.

    3. Schreiben Sie in der Klasse ClsNumberField eine Methode NumberChecker, die überprüft, ob ein ihr übergebener Parameter vom Typ String eine gültige Zahl ist. Die Funktion gebe true zurück, wenn der Parameter in eine Zahl vom Typ integer konvertiert werden kann. (Hinweis:
    Mit Hilfe der Fehlerbehandlung kann die Funktionalität programmiert werden. Überlegen Sie sich, wie die Eingabe von Dezimalzahlen behandelt werden soll.)

    4. Über die Eigenschaften Zahl, MinValue und MaxValue können die entsprechenden Instanzvariablen verändert werden. Dies soll aber nur erfolgen, wenn eine gültige Zahl übergeben wird. Ansonsten soll ein InputErrorEvent-Ereignis ausgelöst werden, wobei der Fehlertext für
    jede Eigenschaft speziell anzupassen ist (z.B.: „Der minimale Wert muss eine ganze Zahl sein.“).

    5. Beim Setzen der Eigenschaft Zahl soll weiterhin überprüft werden, ob der Wert kleiner als der minimale bzw. größer als der maximale Wert ist. In diesem Fall soll wiederum ein InputErrorEvent-Ereignis mit entsprechendem Fehlertext ausgelöst werden. (Hinweis: Nachdem die Klasse ClsNumberField fertiggestellt ist, sollten Sie das Projekt neu erstellen (kompilieren). Erst dadurch haben Sie Ihre neue Klasse als Steuerelement in der Toolbox zur Verfügung).

    6. Definieren Sie ein Formular mit zwei Textfeldern vom Typ ClsNumberField. Setzen Sie den minimalen und den maximalen Wert auf 0 und 100 bzw. 10000 und 99999. Beim Leave-Ereignis soll die Eigenschaft Zahl jeweils den Wert der Text-Eigenschaft erhalten. Die Ereignis-Methode soll die Ereignisse beider Steuerelemente behandeln.

    7. Schreiben Sie eine weitere Methode, die das InputErrorEvent-Ereignis ebenfalls beider Steuerelemente behandelt. Diese soll Auskunft die Eingabe und den Fehlertext in einer Messagebox ausgeben. Ferner soll das ClsNumberField mit dem falschen Eintrag rot hinterlegt werden.
    Sorgen Sie dafür, dass die Hintergrundfarbe bei einer erneuten richtigen Eingabe wieder auf den normalen Wert (weiß) gesetzt wird.

  • #2
    Und was hast du schon bisher gemacht? Woran hängt es oder verstehst du komplett nur Bahnhof.

    Du glaubst doch wohl nicht das es hier viele User gibt die dir ein fertiges Programm liefern? Dazu gibt es andere Webseiten welche dir gegen Bezahlung diesen (Selbst-)Betrug ermöglichen.

    Comment


    • #3
      Mir fehlt der Ansatz. Schon beim ersten Schritt weiß ich nicht was ich machen soll.

      1. Schreiben Sie eine Klasse ClsNumberField, die von System.Windows.Forms.TextBox abgeleitet ist.

      Mit was für ein Projekttypen muss ich anfangen? Muss ich einfach ein leeres Projket erstellen und dann eine neue Klasse hinzufügen oder ein neues Benutzersteuerelement?

      Danke für deine Hilfe!

      Und sorry für den Doppelpost

      Comment


      • #4
        Hallo!

        Ein leeres Projekt waere schon mal nicht so schlecht - wuerde ich sagen, denn alleine lauffaehig wird deine Textbox ja ohnehin nicht werden.
        Dann fuegst du einfach ein neues UserControl hinzu, das von Textbox vererbt und setzt deine drei Properties, usw. - fertig.
        *-- robert.oh. --*

        Comment


        • #5
          Hi Robert.Oh!

          Ich hab jetzt ein neues leeres Projekt erstellt und ein Benutzersteuerelement hinzugefügt.

          Dann heb ich folgendes eingegeben:

          PHP Code:
          Public Class ClsNumberField
              Inherits System
          .Windows.Forms.TextBox

          End 
          Class 
          Nun treten sofort folgende Fehler auf:

          "Sub Main" wurde nicht in "Uebung5" gefunden
          "AutoScaleDimensions" ist kein Member von "Uebung5.ClsNumberField"
          "AutoScaleMode" ist kein Member von "Uebung5.ClsNumberField"

          Und folgende Warnung:

          Der Designer kann Code in Zeile 22 nicht ausführen:

          Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)

          Vielen Dank für deine Antwort!

          deine Biene

          Comment


          • #6
            Hallo Biene!

            Ausfuehren kannst du dieses Projekt nicht, was soll der Compiler denn mit der Textbox machen? Darum auch kein 'Sub Main'.
            Sie kann nur dazu verwendet werden, in einer Form angezeigt zu werden.

            Vielleicht fuegst du deiner Solution noch in 'Testproject' (normale Windows App.) hinzu. Darin kannst du dann (mittels Referenz auf dein Textbox-Projekt) die erstellte ClsNumberField-Textbox testen.

            Die beiden anderen Fehler 'AutoScale...' kannst ruhigen Gewissens entfernen, da passiert nix.
            [Sollte ich falsch liegen, bitte berichtigen.]
            *-- robert.oh. --*

            Comment

            Working...
            X