1Danke
ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
733
733
EMPFEHLEN
-
Hallo liebe Tutorials.de Gemeinde.
Ich soll in Informatik ein Programm schreiben. So sieht die Aufgabenstellung aus:
Nun habe ich ein simples Auto als Benutzersteuerelement gebastelt, welches vor und zurück fahren kann, sowie Licht und Warnblinker an und ausschalten kann.Das Benutzersteuerelement (Objekt) soll 2 Methoden und 2 Eigenschaften (Properties) haben.
Dabei hat das Objekt auch einen eigenen Quellkode, in diesem werden die Methoden und Eigenschaften realisiert.
Das Programm (Form1) benutzt dann diese Methoden und Eigenschaften.
Rein von den Methoden her sollte das ja auch reichen. Wenn sie denn im Benutzersteuerelement selbst vorhanden wären. Wie das allerdings funktioniert... ich habe keine Ahnung. Leider habe ich in der Schule aufgrund einer OP mehrere Wochen gefehlt und stehe nun da wie der Ochs vorm Berg.
Ich poste euch einfach mal mein Auto, vielleicht könnt ihr mir hier und da ja mal ein wenig unter die Arme greifen, bzw. mir sagen, wie ich realisieren kann, was der Lehrer von mir möchte...
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216
Public Class Form1 Dim Guthaben As Integer = 100 Dim Tankkosten As Integer = 0 'hier kann man das Auto über die Tasten steuern' Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles UserControl11.KeyDown 'zunächst wird geguckt, ob wir schon an der maximalen position sind' If e.KeyData = Keys.D And UserControl11.Location.X() < 960 And Verbrauch.Value > 1 Then Timer2.Stop() 'wenn nicht, dann stoppen wir alle timer die evtl. laufen' Timer3.Stop() Timer4.Stop() UserControl11.Left += 15 'und fahren dann 5 schritte vor' UserControl11.rücklicht.FillColor = Color.Black Label1.Visible = False Verbrauch.Value -= 1 Else If UserControl11.Location.X() < 960 And Verbrauch.Value > 1 Then Label1.Visible = True Label1.Text = "Du bist liegen geblieben. Geh tanken!" End If Label1.Visible = True 'falls doch, dann zeigen wir eine fehlermeldung an' End If 'das gleiche für die rückwärtsfahrt' If e.KeyData = Keys.A And UserControl11.Location.X() > 15 And Verbrauch.Value > 1 Then Timer2.Stop() Timer3.Stop() Timer4.Stop() UserControl11.Left -= 15 UserControl11.rücklicht.FillColor = Color.White Label1.Visible = False Verbrauch.Value -= 1 End If 'und damit es nicht so aussieht als hätten wir immer den rückwärtsgang drin, machen wir das licht noch aus nach dem rückwärtsfahren' If UserControl11.Location.X() <= 15 Then UserControl11.rücklicht.FillColor = Color.Black End If End Sub Private Sub Licht_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Licht.Click Label1.Visible = False 'hier wird beim klick auf den lichtbutton das licht an und ausgemacht' If UserControl11.licht1.Visible = False Then UserControl11.licht1.Visible = True UserControl11.licht2.Visible = True UserControl11.licht3.Visible = True UserControl11.licht4.Visible = True UserControl11.licht5.Visible = True UserControl11.licht6.Visible = True UserControl11.Select() ElseIf UserControl11.licht1.Visible = True Then UserControl11.licht1.Visible = False UserControl11.licht2.Visible = False UserControl11.licht3.Visible = False UserControl11.licht4.Visible = False UserControl11.licht5.Visible = False UserControl11.licht6.Visible = False UserControl11.Select() End If End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick 'hier legen wir eine kleine schleife für den warnblinker an' Static n As Integer n = n + 1 If n > 2 Then n = 0 'wenn n größer als 2 ist, dann setzen wir n wieder auf 0' Select Case n Case 0 'bei 0 wird die standardfarbe angezeigt' UserControl11.Blinker_hinten.FillColor = Color.LightYellow UserControl11.Blinker_vorn.FillColor = Color.LightYellow Case 1 'bei 1 blinkt es' UserControl11.Blinker_hinten.FillColor = Color.DarkOrange UserControl11.Blinker_vorn.FillColor = Color.DarkOrange Case 2 'usw.' UserControl11.Blinker_hinten.FillColor = Color.LightYellow UserControl11.Blinker_vorn.FillColor = Color.LightYellow End Select End Sub Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick 'das ist der timer zum vorwärtsfahren' If UserControl11.Location.X() < 960 And Verbrauch.Value <= 1 Then Label1.Visible = True Label1.Text = "Du bist liegen geblieben. Geh tanken!" Else If UserControl11.Location.X() < 960 Then UserControl11.Left += 15 UserControl11.rücklicht.FillColor = Color.Black Verbrauch.Value -= 1 Else Timer2.Stop() End If End If End Sub Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick 'dies ist der timer zum rückwärtsfahren' If UserControl11.Location.X() > 15 And Verbrauch.Value <= 1 Then Label1.Visible = True Label1.Text = "Du bist liegen geblieben. Geh tanken!" Else If UserControl11.Location.X() > 15 Then UserControl11.Left -= 15 UserControl11.rücklicht.FillColor = Color.White Label1.Visible = False Verbrauch.Value -= 1 Else Timer3.Stop() UserControl11.rücklicht.FillColor = Color.Black End If End If End Sub Private Sub Timer4_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer4.Tick 'und hier der timer zum schnellen vorwärtsfahren' If UserControl11.Location.X() < 960 And Verbrauch.Value <= 1 Then Label1.Visible = True Label1.Text = "Du bist liegen geblieben. Geh tanken!" Else If UserControl11.Location.X() < 960 Then UserControl11.Left += 45 UserControl11.rücklicht.FillColor = Color.Black Label1.Visible = False Verbrauch.Value -= 2 Else Timer4.Stop() End If End If End Sub Private Sub warnblinker_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles warnblinker.Click 'hier wird der warnblinker an und aus gemacht' If Timer1.Enabled Then Timer1.Stop() UserControl11.Blinker_hinten.FillColor = Color.LightYellow 'ganz wichtig, falls der timer während das blinklicht "on" war deaktiviert wird UserControl11.Blinker_vorn.FillColor = Color.LightYellow 'soll die richtige farbe wieder angezeigt werden' UserControl11.Select() Else Timer1.Enabled = True Timer1.Start() UserControl11.Select() End If End Sub Private Sub vorwaerts_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles vorwaerts.Click 'hier wird bei klick auf vorwärts der timer 1 gestartet, der das auto langsam nach vorn bewegt' If UserControl11.Location.X() < 960 Then Timer3.Stop() Timer4.Stop() Timer2.Start() UserControl11.Select() Else 'falls das auto aber schon zu nah an der wand steht, werfen wir eine fehlermeldung raus' Label1.Visible = True End If End Sub Private Sub vorwaertsschnell_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles vorwaertsschnell.Click 'hier wird der timer fürs schnelle vorwärtsfahren gestartet, natürlich nur dann, wenn wir noch nicht an der wand stehen' If UserControl11.Location.X() < 960 Then Timer2.Stop() Timer3.Stop() Timer4.Start() UserControl11.Select() Else 'falls doch, dann gibts auch hier wieder unsere fehlermeldung' Label1.Visible = True End If End Sub Private Sub rueckwaerts_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rueckwaerts.Click 'und das gleiche nochmal fürs rückwärsfahren' If UserControl11.Location.X() > 15 Then Timer2.Stop() Timer4.Stop() Timer3.Start() UserControl11.Select() Else Label1.Visible = True End If End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'damit wir die tasten zum fahren nutzen können, muss das objekt selektiert werden' UserControl11.Select() If Verbrauch.Value < 1 Then Verbrauch.Value = 1 End If End Sub Private Sub stoppen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles stoppen.Click 'falls man während der fahrt nochmal stoppen möchte' Timer2.Stop() Timer4.Stop() Timer3.Stop() UserControl11.Select() End Sub Private Sub Tanken_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tanken.Click If Verbrauch.Value = 100 Then Label3.Visible = True Label3.Text = "Der Tank ist doch schon voll" UserControl11.Select() Else Label3.Visible = True Tankkosten = 100 - Verbrauch.Value Label3.Text = "Das macht " & 100 - Verbrauch.Value & " Euro" Guthaben = (Guthaben - Tankkosten) guthabenanzeige.Text = "Du hast noch " & Guthaben & " Euro" Verbrauch.Value = Guthaben - Tankkosten UserControl11.Select() End If End Sub End Class
Und ja, ich weiß, dass der Code mit dem Guthaben noch nicht richtig funktioniert, das bekomme ich aber sicher allein in den Griff.
Achja, wie man sieht ist das ja jetzt alles im Form1 untergebracht.
Mir gehts eher um die konkrete Aufgabenstellung. Was kann ich wie ins Benutzersteuerelement packen, damit ich zwei Methoden und zwei Eigenschaften ins eben jenes bekomme? Gibts dazu irgendwelche (brauchbaren) Erklärungen oder so?
Vielen vielen Dank schonmal!
-
08.12.11 19:32 #2
- Registriert seit
- Jan 2011
- Ort
- Köln (NRW)
- Beiträge
- 16
hmmm... Dein Objekt soll laut Aufgabenstellung 2 Methoden haben, in deinem Auto willst du aber schonmal 6 Methoden verwenden. vorwärtsfahren() , rückwärtsfahren(), Licht einschalten(), Licht ausschalten(), Warnlicht einschalten() und Warnlicht ausschalten()...Ich soll in Informatik ein Programm schreiben. So sieht die Aufgabenstellung aus:
Das Benutzersteuerelement (Objekt) soll 2 Methoden und 2 Eigenschaften (Properties) haben.
Dabei hat das Objekt auch einen eigenen Quellkode, in diesem werden die Methoden und Eigenschaften realisiert.
Das Programm (Form1) benutzt dann diese Methoden und Eigenschaften.
Würds für die Aufgabenstellung nicht reichen wenn dein Auto erstmal einfach nur Vorwärtsfahren() und Bremsen() könnte ? Wären ja genau 2 Methoden. Und die 2 Attribute wären dann z.B. Geschwindigkeit und Richtung....
So hab ich es zumindest verstanden was der Lehrer von dir will....
Gruß
-
Aber wie sähe denn genau das dann aus mit dem vorwaerts()? Ich weiß gar nicht, wo ich eben einen solchen Quellcode unterbringen soll

Gibts dazu irgendwelche Tutorials?
-
Ich kann dir sehr das Galileo Openbook als Einstieg in VB.Net empfehlen!
Wie ich aus deiner Aufgabenstellung interpretiere, sollst du objektorientiertes Programmieren lernen. Dazu kann ich dir Kapitel 7 empfehlen.hihi = -h²
-
Genau nach sowas habe ich gesucht, wenn auch Klassen nicht gleich zu benutzen sind wie Benutzersteuerelemente war der Link doch sehr hilfreich und hat dafür gesorgt, dass ichs verstanden hab
Danke!
Ähnliche Themen
-
weapons of mass destruction
Von Basileus im Forum Fun-ForumAntworten: 10Letzter Beitrag: 12.11.04, 09:24 -
Cypress USB Mass Storage Device wird nicht gemountet
Von alois im Forum Mac OSAntworten: 2Letzter Beitrag: 20.10.04, 14:52 -
Anfängerfragen zu C#
Von chell im Forum .NET ArchivAntworten: 19Letzter Beitrag: 14.10.04, 11:14 -
Email Dialog oder Mass Mail
Von hellen im Forum Internet, DSL & FlatrateAntworten: 1Letzter Beitrag: 31.07.04, 01:48 -
PCI Mass Storage ?
Von JTBKN im Forum HardwareAntworten: 10Letzter Beitrag: 26.09.02, 21:39





Zitieren
Login





