Funktioniert das Script in VB 2008?

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von JoshuasFragende.

    Funktioniert das Script in VB 2008?

    Hallo liebe VBP-Community,

    Ich habe für die Schule ein Programm geschrieben, dass einen typischen Ampelzyklus Grafisch darstellt.
    Ich habe das Script / die Grafik zu Hause mit VisualBasic 2010 geschrieben / designt.

    Das Problem ist: Die Computer in der Schule haben VisualBasic 2008, also eine etwas ältere Version,
    auf der aber die VisualBasic-Powerpacks für OvaleShape, LineShape ect. installiert wurden. Ich kann
    die VB 2008 Version zu Hause nicht benutzen, weil Projekte nicht geöffnet werden. Deshalb habe ich
    vor das Script auf einen Stick zu kopieren und dann in der Schule in einem VB 2010-Projekt einzufügen.

    Meine Frage ist nun: Ist das folgende Script auch in einer VB-2008-Version mit Powerpacks kompatibel
    (wird es auch in der älteren VB-Version funktionieren, wenn ich es kopiere)?

    Ich hoffe jemand kann mir helfen und kann mal einen Blick auf mein Script werfen, würde mich sehr freuen :)

    Hier das Script:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim zeit As Integer
    3. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. OvalShape17.BackColor = Color.Gray
    5. OvalShape18.BackColor = Color.Gray
    6. OvalShape19.BackColor = Color.Gray
    7. OvalShape9.BackColor = Color.Gray
    8. OvalShape10.BackColor = Color.Gray
    9. OvalShape15.BackColor = Color.Gray
    10. OvalShape22.BackColor = Color.Gray
    11. OvalShape21.BackColor = Color.Gray
    12. OvalShape20.BackColor = Color.Gray
    13. OvalShape10.BackColor = Color.Gray
    14. OvalShape11.BackColor = Color.Gray
    15. OvalShape12.BackColor = Color.Gray
    16. OvalShape13.BackColor = Color.Gray
    17. OvalShape14.BackColor = Color.Gray
    18. OvalShape15.BackColor = Color.Gray
    19. OvalShape29.BackColor = Color.Gray
    20. OvalShape30.BackColor = Color.Gray
    21. OvalShape31.BackColor = Color.Gray
    22. OvalShape32.BackColor = Color.Gray
    23. OvalShape33.BackColor = Color.Gray
    24. OvalShape34.BackColor = Color.Gray
    25. OvalShape4.BackColor = Color.Gray
    26. OvalShape5.BackColor = Color.Gray
    27. OvalShape6.BackColor = Color.Gray
    28. OvalShape35.BackColor = Color.Gray
    29. OvalShape36.BackColor = Color.Gray
    30. OvalShape37.BackColor = Color.Gray
    31. OvalShape38.BackColor = Color.Gray
    32. OvalShape39.BackColor = Color.Gray
    33. OvalShape40.BackColor = Color.Gray
    34. OvalShape28.BackColor = Color.Gray
    35. OvalShape28.BackColor = Color.Gray
    36. OvalShape27.BackColor = Color.Gray
    37. OvalShape26.BackColor = Color.Gray
    38. OvalShape34.BackColor = Color.Gray
    39. OvalShape35.BackColor = Color.Gray
    40. OvalShape36.BackColor = Color.Gray
    41. OvalShape25.BackColor = Color.Gray
    42. OvalShape24.BackColor = Color.Gray
    43. OvalShape23.BackColor = Color.Gray
    44. OvalShape40.BackColor = Color.Gray
    45. OvalShape16.BackColor = Color.Gray
    46. OvalShape8.BackColor = Color.Gray
    47. OvalShape7.BackColor = Color.Gray
    48. OvalShape1.BackColor = Color.Gray
    49. OvalShape2.BackColor = Color.Gray
    50. OvalShape3.BackColor = Color.Gray
    51. OvalShape11.BackColor = Color.Gray
    52. OvalShape12.BackColor = Color.Gray
    53. OvalShape13.BackColor = Color.Gray
    54. OvalShape14.BackColor = Color.Gray
    55. Timer1.Enabled = False
    56. zeit = 0
    57. End Sub
    58. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    59. OvalShape1.BackColor = Color.Red
    60. OvalShape3.BackColor = Color.LightGreen
    61. OvalShape17.BackColor = Color.Red
    62. OvalShape20.BackColor = Color.Red
    63. OvalShape6.BackColor = Color.LightGreen
    64. OvalShape8.BackColor = Color.Red
    65. OvalShape25.BackColor = Color.LightGreen
    66. OvalShape28.BackColor = Color.LightGreen
    67. OvalShape9.BackColor = Color.Red
    68. OvalShape11.BackColor = Color.LightGreen
    69. OvalShape29.BackColor = Color.Red
    70. OvalShape32.BackColor = Color.Red
    71. OvalShape14.BackColor = Color.LightGreen
    72. OvalShape16.BackColor = Color.Red
    73. OvalShape35.BackColor = Color.Red
    74. OvalShape38.BackColor = Color.Red
    75. Timer1.Enabled = True
    76. End Sub
    77. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    78. zeit = zeit + 1
    79. If zeit = "11" Then
    80. OvalShape30.BackColor = Color.Yellow
    81. OvalShape33.BackColor = Color.Yellow
    82. OvalShape29.BackColor = Color.Gray
    83. OvalShape32.BackColor = Color.Gray
    84. OvalShape24.BackColor = Color.Yellow
    85. OvalShape27.BackColor = Color.Yellow
    86. OvalShape28.BackColor = Color.Gray
    87. OvalShape25.BackColor = Color.Gray
    88. OvalShape3.BackColor = Color.Gray
    89. OvalShape6.BackColor = Color.Gray
    90. OvalShape11.BackColor = Color.Gray
    91. OvalShape14.BackColor = Color.Gray
    92. OvalShape4.BackColor = Color.Red
    93. OvalShape5.BackColor = Color.Red
    94. OvalShape12.BackColor = Color.Red
    95. OvalShape13.BackColor = Color.Red
    96. End If
    97. If zeit = "12" Then
    98. OvalShape1.BackColor = Color.Gray
    99. OvalShape8.BackColor = Color.Gray
    100. OvalShape9.BackColor = Color.Gray
    101. OvalShape16.BackColor = Color.Gray
    102. OvalShape2.BackColor = Color.LightGreen
    103. OvalShape7.BackColor = Color.LightGreen
    104. OvalShape10.BackColor = Color.LightGreen
    105. OvalShape15.BackColor = Color.LightGreen
    106. OvalShape31.BackColor = Color.LightGreen
    107. OvalShape34.BackColor = Color.LightGreen
    108. OvalShape30.BackColor = Color.Gray
    109. OvalShape33.BackColor = Color.Gray
    110. OvalShape24.BackColor = Color.Gray
    111. OvalShape27.BackColor = Color.Gray
    112. OvalShape23.BackColor = Color.Red
    113. OvalShape26.BackColor = Color.Red
    114. End If
    115. If zeit = "33" Then
    116. OvalShape30.BackColor = Color.Yellow
    117. OvalShape33.BackColor = Color.Yellow
    118. OvalShape31.BackColor = Color.Gray
    119. OvalShape34.BackColor = Color.Gray
    120. OvalShape36.BackColor = Color.Yellow
    121. OvalShape39.BackColor = Color.Yellow
    122. OvalShape35.BackColor = Color.Gray
    123. OvalShape38.BackColor = Color.Gray
    124. OvalShape2.BackColor = Color.Gray
    125. OvalShape7.BackColor = Color.Gray
    126. OvalShape10.BackColor = Color.Gray
    127. OvalShape15.BackColor = Color.Gray
    128. OvalShape1.BackColor = Color.Red
    129. OvalShape8.BackColor = Color.Red
    130. OvalShape9.BackColor = Color.Red
    131. OvalShape16.BackColor = Color.Red
    132. End If
    133. If zeit = "34" Then
    134. OvalShape30.BackColor = Color.Gray
    135. OvalShape33.BackColor = Color.Gray
    136. OvalShape36.BackColor = Color.Gray
    137. OvalShape39.BackColor = Color.Gray
    138. OvalShape37.BackColor = Color.LightGreen
    139. OvalShape40.BackColor = Color.LightGreen
    140. OvalShape3.BackColor = Color.LightGreen
    141. OvalShape6.BackColor = Color.LightGreen
    142. OvalShape11.BackColor = Color.LightGreen
    143. OvalShape14.BackColor = Color.LightGreen
    144. OvalShape30.BackColor = Color.Gray
    145. OvalShape33.BackColor = Color.Gray
    146. OvalShape29.BackColor = Color.Red
    147. OvalShape32.BackColor = Color.Red
    148. OvalShape4.BackColor = Color.Gray
    149. OvalShape5.BackColor = Color.Gray
    150. OvalShape12.BackColor = Color.Gray
    151. OvalShape13.BackColor = Color.Gray
    152. End If
    153. If zeit = "45" Then
    154. OvalShape18.BackColor = Color.Yellow
    155. OvalShape21.BackColor = Color.Yellow
    156. OvalShape36.BackColor = Color.Yellow
    157. OvalShape39.BackColor = Color.Yellow
    158. OvalShape17.BackColor = Color.Gray
    159. OvalShape20.BackColor = Color.Gray
    160. OvalShape37.BackColor = Color.Gray
    161. OvalShape40.BackColor = Color.Gray
    162. OvalShape3.BackColor = Color.Gray
    163. OvalShape6.BackColor = Color.Gray
    164. OvalShape11.BackColor = Color.Gray
    165. OvalShape14.BackColor = Color.Gray
    166. End If
    167. If zeit = "46" Then
    168. OvalShape2.BackColor = Color.LightGreen
    169. OvalShape7.BackColor = Color.LightGreen
    170. OvalShape10.BackColor = Color.LightGreen
    171. OvalShape15.BackColor = Color.LightGreen
    172. OvalShape4.BackColor = Color.Red
    173. OvalShape5.BackColor = Color.Red
    174. OvalShape12.BackColor = Color.Red
    175. OvalShape1.BackColor = Color.Red
    176. OvalShape18.BackColor = Color.Gray
    177. OvalShape21.BackColor = Color.Gray
    178. OvalShape36.BackColor = Color.Gray
    179. OvalShape39.BackColor = Color.Gray
    180. OvalShape19.BackColor = Color.LightGreen
    181. OvalShape22.BackColor = Color.LightGreen
    182. OvalShape35.BackColor = Color.Red
    183. OvalShape38.BackColor = Color.Red
    184. OvalShape1.BackColor = Color.Gray
    185. OvalShape13.BackColor = Color.Red
    186. OvalShape1.BackColor = Color.Gray
    187. OvalShape8.BackColor = Color.Gray
    188. OvalShape9.BackColor = Color.Gray
    189. OvalShape16.BackColor = Color.Gray
    190. End If
    191. If zeit = "57" Then
    192. Timer1.Enabled = False
    193. zeit = "1"
    194. End If
    195. If zeit = "1" And Timer1.Enabled = False Then
    196. Timer1.Enabled = True
    197. OvalShape1.BackColor = Color.Red
    198. OvalShape3.BackColor = Color.LightGreen
    199. OvalShape6.BackColor = Color.LightGreen
    200. OvalShape8.BackColor = Color.Red
    201. OvalShape9.BackColor = Color.Red
    202. OvalShape11.BackColor = Color.LightGreen
    203. OvalShape14.BackColor = Color.LightGreen
    204. OvalShape16.BackColor = Color.Red
    205. OvalShape17.BackColor = Color.Red
    206. OvalShape20.BackColor = Color.Red
    207. OvalShape25.BackColor = Color.LightGreen
    208. OvalShape28.BackColor = Color.LightGreen
    209. OvalShape29.BackColor = Color.Red
    210. OvalShape32.BackColor = Color.Red
    211. OvalShape35.BackColor = Color.Red
    212. OvalShape38.BackColor = Color.Red
    213. OvalShape2.BackColor = Color.Gray
    214. OvalShape4.BackColor = Color.Gray
    215. OvalShape5.BackColor = Color.Gray
    216. OvalShape7.BackColor = Color.Gray
    217. OvalShape10.BackColor = Color.Gray
    218. OvalShape12.BackColor = Color.Gray
    219. OvalShape13.BackColor = Color.Gray
    220. OvalShape15.BackColor = Color.Gray
    221. OvalShape18.BackColor = Color.Gray
    222. OvalShape19.BackColor = Color.Gray
    223. OvalShape21.BackColor = Color.Gray
    224. OvalShape22.BackColor = Color.Gray
    225. OvalShape23.BackColor = Color.Gray
    226. OvalShape24.BackColor = Color.Gray
    227. OvalShape27.BackColor = Color.Gray
    228. OvalShape30.BackColor = Color.Gray
    229. OvalShape31.BackColor = Color.Gray
    230. OvalShape33.BackColor = Color.Gray
    231. OvalShape34.BackColor = Color.Gray
    232. OvalShape36.BackColor = Color.Gray
    233. OvalShape37.BackColor = Color.Gray
    234. OvalShape26.BackColor = Color.Gray
    235. End If
    236. End Sub
    237. End Class


    *Topic verschoben, das ist kein VBScript!*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Ich frag mich immer wieder wie man sich so einen Code antun kann.
    Ich würde da nicht durchblicken.
    Was du mit dem Code machst ist völlig klar. Aber es muss doch irgendeine Logik hinter dem Ganze geben.
    Dein Form-Load kann man stark verkürzen:

    VB.NET-Quellcode

    1. For Each c In Me.Controls
    2. If TypeOf c Is OvalShape Then
    3. c.BackColor = Color.Grey
    4. End If
    5. Next

    oder wenn .Net Framework 3.5 Linq benutzen

    VB.NET-Quellcode

    1. For Each oShape In Me.Controls.OfType(OvalShape)()
    2. oShape.BackColor = Color.Grey
    3. Next


    Die If-Abfragen kannst du auch ganz einfach in ne Select Case(Switch case) packen:

    VB.NET-Quellcode

    1. Select Case zeit
    2. Case 11
    3. 'Code
    4. Case 12
    5. 'Code
    6. Case ...
    7. End Select

    Und ich rate dringend zu Option Strict On !!!
    Ich nehme an, dass zeit ein Integer ist. Ein String würde in dem Fall garkeinen Sinn machen. Denn damit rechnet man nicht.


    Und bei dem Rest müsste es auch ne Lösung geben. Du kannst die doch bestimmt gruppieren.
    Also du änderst doch bestimmt immer die Farbe der Ovals in nem bestimmten Bereich oder so.
    Mach dir ne Liste mit diesen und spar dir die 1000 zeilen.

    MfG Tim

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Fortender“ ()

    JoshuasFragende schrieb:

    aber Hauptsache das Script funktioniert, darauf kommt es an

    Ich weiß ja nicht was du für einen Lehrer hast, aber wenn das jemand ist der Ahnung hat, wird der nicht nur darauf achten dass du es erledigst.
    Wenn dein Lehrer dir z.b. sagt du hast ne Form mit 1000 Textboxen drauf, in die du alle "Hallo Welt" reinschreiben sollst, wirst du mit dieser Einstellung wahrscheinlich sowas machen:

    VB.NET-Quellcode

    1. TextBox1.Text = "Hallo Welt"
    2. TextBox2.Text = "Hallo Welt"
    3. ...
    4. TextBox1000.Text = "Hallo Welt"

    oder vielleicht

    VB.NET-Quellcode

    1. Dim hw = "Hallo Welt"
    2. TextBox1.Text = hw
    3. TextBox2.Text = hw
    4. ...


    Wenn man aber etwas so schnell, effizient und kurz wie möglich lösen will macht man sich darüber Gedanken und denkt sich nicht einfach:
    "Is mir egal wie, hauptsache es funzt"
    und löst das so:

    VB.NET-Quellcode

    1. For Each tb (As TextBox) In Me.Controls.OfType(Of TextBox)()
    2. tb.Text = "Hello World"
    3. Next


    Hört auf so zu denken. "Hauptsache es geht" würde uns heute in der Technik ziemlich einschränken...

    Zu deiner Frage:
    Wenn das PowerPack installiert ist, wirst du damit kein Problem haben. Wo du aber ein Problem bekommen könntest wäre mit der Abwärtskompatiblität
    des Projektes. Ich weiß nicht ob VS2010 Projektdateien sich so einfach in VS2008 öffnen lassen, blick da nicht durch, da ich es nicht mehr habe.
    Notfalls kannst du einfach in der Schule aufm PC ein neues Projekt anlegen und einfach die Codedateien inklusive Designer.vb übernehmen.
    Dürfte kein Problem sein.

    MfG Tim

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Fortender“ ()

    Danke nochmal Fortender sehr ausführlich und hilfreich geantwortet, so sollte das garnicht gemeint sein, ich meinte nur, dass ich von den techniken um solche Scripte wesentlich zu verkürzen noch nicht sehr viel Ahnung habe und bevor ich etwas falsch mache von dem ich kaum ahnung habe, mache ich es lieber richtig und verstehe was ich da mache, auch wenn es nicht sehr platzsparent ist. Aber was du meinst verstehe ich: Wenn man "besser" und erfahrender programieren möchte sollte man sich auch überlegen wie der Code am einfachsten und dynamischsten ist und nicht nur wie es funktioniert, oder?
    Du hast es erfasst. Deshalb lege ich dir ans Herz, dich mit den Basics vertraut zu machen und Option Strict On zu programmieren.
    Dann können so sachen wie

    VB.NET-Quellcode

    1. Dim zeit As Integer = 0
    2. Private Sub Timer_Tick(sender As Object, e As System.EventArgs) Handles Timer.Tick
    3. zeit += 1
    4. If zeit = "11" Then
    5. End If
    6. ...
    7. End Sub

    nicht mehr. String =/= Integer.
    Kann das sein, dass das was du vor hast eine Animation sein soll?
    Sieht mir ein wenig danach aus.

    MfG Tim