Probleme beim Programmieren von 3 Gewinnt

  • VB6

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von peterfido.

    Probleme beim Programmieren von 3 Gewinnt

    Hi bin neu hier im forum und noch blutiger Anfänger in Sachen Programmierung mit VB.
    Muss ein Spiel bis nächste Woche Fertigstellen und habe Probleme bei einigen Programmcodes.
    Das Spiel kennt sicherlich jeder von euch. 9 felder sind vorhanden und wenn man z.b. 3 Felder horizontal diagonal oder quer mit kreuzen vollhat gewinnt man.

    Visual Basic-Quellcode

    1. Dim kreuz
    2. Dim feld(9) As Integer
    3. Dim Ergebnis
    4. Private Sub Command1_Click()
    5. Form2.Visible = False
    6. Form1.Visible = True
    7. Form2.d
    8. End Sub
    9. Private Sub Label3_Click()
    10. End Sub
    11. Private Sub File1_Click()
    12. End Sub
    13. Private Sub Command2_Click()
    14. Form2.StartUpPosition = True
    15. End Sub
    16. Private Sub Picture1_Click()
    17. If feld(0) = 0 Then
    18. If kreuz = True Then
    19. Picture1.Picture = LoadPicture("C:\Dokumente und Einstellungen\Eigene Dateien\Eigene Bilder\kreuz.bmp")
    20. feld(0) = 1 ' kreuz
    21. kreuz = False
    22. Else
    23. Picture1.Picture = LoadPicture("C:\Dokumente und Einstellungen\Eigene Dateien\Eigene Bilder\kreis.bmp")
    24. feld(0) = 2 ' kreis
    25. kreuz = True
    26. End If
    27. End If
    28. End Sub
    29. Private Sub Picture10_Click()
    30. If feld(0) = 1 And feld(1) = 1 And feld(2) = 1 Or feld(3) = 1 And feld(4) = 1 And feld(5) = 1 Or feld(6) = 1 And feld(7) = 1 And feld(8) = 1 Or feld(0) = 1 And feld(4) = 1 And feld(8) = 1 Or feld(2) = 1 And feld(4) = 1 And feld(6) = 1 Or feld(0) = 1 And feld(3) = 1 And feld(6) = 1 Or feld(1) = 1 And feld(4) = 1 And feld(7) = 1 Or feld(2) = 1 And feld(5) = 1 And feld(8) = 1 Then
    31. Picture10.Picture = LoadPicture("C:\Dokumente und Einstellungen\Eigene Dateien\Eigene Bilder\win.bmp")
    32. End If
    33. End Sub
    34. Private Sub Picture2_Click()
    35. If feld(1) = 0 Then
    36. If kreuz = True Then
    37. Picture2.Picture = LoadPicture("C:\Dokumente und Einstellungen\Eigene Dateien\Eigene Bilder\kreuz.bmp")
    38. feld(1) = 1 ' kreuz
    39. kreuz = False
    40. Else
    41. Picture2.Picture = LoadPicture("C:\Dokumente und Einstellungen\Eigene Dateien\Eigene Bilder\kreis.bmp")
    42. feld(1) = 2 ' kreis
    43. kreuz = True
    44. End If
    45. End If
    46. End Sub
    47. Private Sub Picture3_Click()
    48. If feld(2) = 0 Then
    49. If kreuz = True Then
    50. Picture3.Picture = LoadPicture("C:\Dokumente und Einstellungen\Eigene Dateien\Eigene Bilder\kreuz.bmp")
    51. feld(2) = 1 ' kreuz
    52. kreuz = False
    53. Else
    54. Picture3.Picture = LoadPicture("C:\Dokumente und Einstellungen\Eigene Dateien\Eigene Bilder\kreis.bmp")
    55. feld(2) = 2 ' kreis
    56. kreuz = True
    57. End If
    58. End If
    59. End Sub
    60. Private Sub Picture4_Click()
    61. If feld(3) = 0 Then
    62. If kreuz = True Then
    63. Picture4.Picture = LoadPicture("C:\Dokumente und Einstellungen\Eigene Dateien\Eigene Bilder\kreuz.bmp")
    64. feld(3) = 1 ' kreuz
    65. kreuz = False
    66. Else
    67. Picture4.Picture = LoadPicture("C:\Dokumente und Einstellungen\Eigene Dateien\Eigene Bilder\kreis.bmp")
    68. feld(3) = 2 ' kreis
    69. kreuz = True
    70. End If
    71. End If
    72. End Sub
    73. Private Sub Picture5_Click()
    74. If feld(4) = 0 Then
    75. If kreuz = True Then
    76. Picture5.Picture = LoadPicture("C:\Dokumente und Einstellungen\Eigene Dateien\Eigene Bilder\kreuz.bmp")
    77. feld(4) = 1 ' kreuz
    78. kreuz = False
    79. Else
    80. Picture5.Picture = LoadPicture("C:\Dokumente und Einstellungen\Eigene Dateien\Eigene Bilder\kreis.bmp")
    81. feld(4) = 2 ' kreis
    82. kreuz = True
    83. End If
    84. End If
    85. End Sub
    86. Private Sub Picture6_Click()
    87. If feld(5) = 0 Then
    88. If kreuz = True Then
    89. Picture6.Picture = LoadPicture("C:\Dokumente und Einstellungen\Eigene Dateien\Eigene Bilder\kreuz.bmp")
    90. feld(5) = 1 ' kreuz
    91. kreuz = False
    92. Else
    93. Picture6.Picture = LoadPicture("C:\Dokumente und Einstellungen\Eigene Dateien\Eigene Bilder\kreis.bmp")
    94. feld(5) = 2 ' kreis
    95. kreuz = True
    96. End If
    97. End If
    98. End Sub
    99. Private Sub Picture7_Click()
    100. If feld(6) = 0 Then
    101. If kreuz = True Then
    102. Picture7.Picture = LoadPicture("C:\Dokumente und Einstellungen\Eigene Dateien\Eigene Bilder\kreuz.bmp")
    103. feld(6) = 1 ' kreuz
    104. kreuz = False
    105. Else
    106. Picture7.Picture = LoadPicture("C:\Dokumente und Einstellungen\Eigene Dateien\Eigene Bilder\kreis.bmp")
    107. feld(6) = 2 ' kreis
    108. kreuz = True
    109. End If
    110. End If
    111. End Sub
    112. Private Sub Picture8_Click()
    113. If feld(7) = 0 Then
    114. If kreuz = True Then
    115. Picture8.Picture = LoadPicture("C:\Dokumente und Einstellungen\Eigene Dateien\Eigene Bilder\kreuz.bmp")
    116. feld(7) = 1 ' kreuz
    117. kreuz = False
    118. Else
    119. Picture8.Picture = LoadPicture("C:\Dokumente und Einstellungen\Eigene Dateien\Eigene Bilder\kreis.bmp")
    120. feld(7) = 2 ' kreis
    121. kreuz = True
    122. End If
    123. End If
    124. End Sub
    125. Private Sub Picture9_Click()
    126. If feld(8) = 0 Then
    127. If kreuz = True Then
    128. Picture9.Picture = LoadPicture("C:\Dokumente und Einstellungen\Eigene Dateien\Eigene Bilder\kreuz.bmp")
    129. feld(8) = 1 ' kreuz
    130. kreuz = False
    131. Else
    132. Picture9.Picture = LoadPicture("C:\Dokumente und Einstellungen\Eigene Dateien\Eigene Bilder\kreis.bmp")
    133. feld(8) = 2 ' kreis
    134. kreuz = True
    135. End If
    136. End If
    137. End Sub
    138. Private Sub Text3_Change()
    139. If feld(0) = 1 And feld(1) = 1 And feld(2) = 1 Or feld(3) = 1 And feld(4) = 1 And feld(5) = 1 Or feld(6) = 1 And feld(7) = 1 And feld(8) = 1 Or feld(0) = 1 And feld(4) = 1 And feld(8) = 1 Or feld(2) = 1 And feld(4) = 1 And feld(6) = 1 Or feld(0) = 1 And feld(3) = 1 And feld(6) = 1 Or feld(1) = 1 And feld(4) = 1 And feld(7) = 1 Or feld(2) = 1 And feld(5) = 1 And feld(8) = 1 Then
    140. Load(TextBox) = Text.Text3_Change(you)
    141. // Hier soll eine Nachricht erscheinen, die dem Spieler Mitteilt dass er gewonnen hat. Zb Player 1 Won the match. Wie mach ich den Code dafür ? Und kann ich dafür ein Textbox verwenden? //
    142. End If
    143. End Sub

    Private Sub Text3_Change()
    If feld(0) = 1 And feld(1) = 1 And feld(2) = 1 Or feld(3) = usw...
    Load(TextBox) = Text.Text3_Change(you)
    // Hier soll eine Nachricht erscheinen, die dem Spieler Mitteilt dass er gewonnen hat. Zb Player 1 Won the match. Wie mach ich den Code dafür ? Und kann ich dafür ein Textbox verwenden? //


    Außerdem soll man mit dem klick auf einen Button ein neues Spiel anfangen können. Also die Kästchen mit den X und den Kreisen sollen sich wieder leeren um ein neues Spiel anfangen zu können. wie macht man das ?


    Und noch eine Frage: Wie erstelle ich einen Computergegner in diesem Spiel ?
    Kann mir da vielleicht jemand helfen ?

    Mfg O.M.P.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „One Man Production“ ()

    Der PC versteht nicht, was du meinst, er macht nur, was du ihm sagst. Wenn du schreibst:

    Visual Basic-Quellcode

    1. If feld(0) = 1 And feld(1) = 1 And feld(2) = 1 Or feld(3) = 1 And feld(4) = 1 And feld(5) = 1 Or feld(6)...

    musst du da Klammern machen, sonst wird beim ... Or ... nur dievordre und hintere Bedingung geprüft. Setz das so in Klammern:

    Visual Basic-Quellcode

    1. If (feld(0) = 1 And feld(1) = 1 And feld(2) = 1) Or (feld(3) = 1 And feld(4) = 1 And feld(5) = 1) Or (feld(6)...)


    Mit ner Textbox Text ausgeben geht so:

    Visual Basic-Quellcode

    1. TextBox1.Text = "Du hast gewonnen"


    Neues Spiel anfangen: Mittels For... das Array duchlaufen, alles auf Standart setzen. Dann mittels Picturebox1.Picture = Nothing (heisst das ev anders?)

    Zum Computergegner: Es gibt verschiedene Typen von Gegnern. Z.B. den, dem du dein Array übergibst und der dann mit vielen IFs den Zug sagt. Das setzt allerdings vorraus, dass du den optimalen Zug für jede Situation kennst.
    Ich programmiere gerade ein ähnliches Spiel, 3x3 Feld, jede Seite hat 3 Bauern und dann eig wie Schach, nur dass die Bauern nicht "Gerade" schlagen dürfen. Ich habe dem Programm nur mitgeteilt, nach welchen Regeln die Züge erfolgen. Am Anfang kennt mien Programm also nur die Spielregeln, sonst gar nichts. Kommt nun eine Situation, die noch nie vorhanden war (am Anfang recht häufig), sucht das Spiel alle möglichen Züge heruas und speichert das ganze. Jeder Zug hat ein "Gewicht". Gewinnt das Programm, werden bei jedem Zug, der es zum Sieg gebracht hat, das Gewicht positiv verändert. hat es verloren, werden sie negativ geändert. Kennt das Programm nun schon eine Situation und hat alle Züge für diese Situation gespeichert, wird der Zug mit dem höchsten Gewicht ausgeführt. Die Gewichte muss man dann natürlich noch speichern, damit das Programm nicht bei jedem Start wieder von Vorne Anfängt.
    Erstmal vielen Dank für die superschnelle antwort :)

    Also ich hab das jetzt so gemacht wie du beschrieben hast, aber wenn ich drei reihen voll habe wird immernoch kein text ausgegeben.
    Was habe ich falsch gemacht?

    Hier der Code

    Private Sub Text3_Change()
    If (feld(0) = 1 And feld(1) = 1 And feld(2) = 1) Or (feld(3) = 1 And feld(4) = 1 And feld(5) = 1) Or (feld(6) = 1 And feld(7) = 1 And feld(8) = 1) Or (feld(0) = 1 And feld(4) = 1 And feld(8) = 1) Or (feld(2) = 1 And feld(4) = 1 And feld(6) = 1) Or (feld(0) = 1 And feld(3) = 1 And feld(6) = 1) Or (feld(1) = 1 And feld(4) = 1 And feld(7) = 1) Or (feld(2) = 1 And feld(5) = 1 And feld(8) = 1) Then
    Text3.Text = "You win"
    End If
    End Sub

    Die Textbox heisst bei mir Text3.



    Mfg O.M.P.
    Es ist zwar kein schöner Programmierstil, aber bei einer so langen Bedingung würd eich mehrere Ifs schreiben und zwar für jede Reihe, Splate und Diagonale, insgesamt also 9. In jedes if kommt dann das mit der Textbox, denn so eine Lange bedingung ist nur schwer zu lesen.
    Wieso machst du dieses If denn in TextBox_TextChanged? Das wird ja dann nur aufgerufen, wenn sich der Text geändert hat. Ich hab das bei mir so geregelt (hab ne ähnliche Methode die überprüft, ob der Spieler gewonnen hat), dass ich die Abfragen in eine Methode gemacht hab, die entweder true oder false zurückgibt. Dann musst du bei jedem Zug diese Methode aufrufen. Als Argument kannst du noch die Farbe mitübergeben, das hat später den Vorteil, dass du mit der selben Methode prüfen kannst, ob der Computer gewonnen hat. Dann müsstest du die ganzen einsen durch die mitübergeben Variable ersetzen. Beim Klick auf eine der Pictureboxen passiert dann das hier:

    Visual Basic-Quellcode

    1. If gewonnen(1) Then '1 für den Spieler, 2 für Computer
    2. TextBox1.Text = "Sie haben gewonnen."
    3. End if
    4. 'Nur Pseudocode, ich kann kein VB 6
    Also ich hab jetzt eine MsgBox erstellt. Beim klick auf Ja wenn die Messagebox fragt ob das momentane spiel beendet werden soll, wird diese Funktion aufgerufen

    Visual Basic-Quellcode

    1. Sub initplayground()
    2. Picture1.Picture = Nothing
    3. Picture2.Picture = Nothing
    4. Picture3.Picture = Nothing
    5. Picture4.Picture = Nothing
    6. Picture5.Picture = Nothing
    7. Picture6.Picture = Nothing
    8. Picture7.Picture = Nothing
    9. Picture8.Picture = Nothing
    10. Picture9.Picture = Nothing
    11. End Sub



    Das Problem ist das die Bilder beim klick auf die felder nichtmehr wieder erscheinen. Wie mach ich das?
    Ich bin echt am ende ich hab schon alles versucht ich bekomm es einfach nicht hin.

    kann mir jemand sagen wie genau der code aussehen muss, damit die Bilder nach dem klick wieder geladen werden?
    hm, eigentlich müsste das gehen. Es könnte daran liegen, dass du eventuell vergessen hast, das Array wieder auf den Standartwert zu setzen?

    Visual Basic-Quellcode

    1. feld(1) = 0
    2. feld(2) = 0
    3. feld(3) = 0
    4. feld(4) = 0
    5. feld(5) = 0
    6. feld(6) = 0
    7. feld(7) = 0
    8. feld(8) = 0


    und die Variable kreuz nicht vergessen, die muss auch wieder auf den Standartwert.
    Vielen Dank Dusti das hat wunderbar geklappt :thumbsup:
    Sorry schon dumm das ich nicht selbst auf sowas gekommen bin aber ich bin noch ein blutiger noob in VB ^^

    Ich will euch ja nicht weiter mit meinen Primitiven Fragen nerven aber das mit der Benachrichtigung klappt noch nicht wirklich. Wenn ich eine Reihe voll hab zb. mit X dann passiert nichts, wenn ich zwei reihen mit x und Kreisen voll hab, erscheint die nachricht nur, wenn ich auf die Box klicke!
    Und die Nachricht wird beim nächsten Spielstart nicht geläscht.

    Könntest du mir bitte nochmal dabei helfen dusti, wäre echt nett von dir muss das spiel in 2 Tagen fertig haben ^^

    Hier nochmal der Code:

    Visual Basic-Quellcode

    1. Private Sub Label3_Click()
    2. If (feld(0) = 1 And feld(1) = 1 And feld(2) = 1) Or (feld(3) = 1 And feld(4) = 1 And feld(5) = 1) Or (feld(6) = 1 And feld(7) = 1 And feld(8) = 1) Or (feld(0) = 1 And feld(4) = 1 And feld(8) = 1) Or (feld(2) = 1 And feld(4) = 1 And feld(6) = 1) Or (feld(0) = 1 And feld(3) = 1 And feld(6) = 1) Or (feld(1) = 1 And feld(4) = 1 And feld(7) = 1) Or (feld(2) = 1 And feld(5) = 1 And feld(8) = 1) Then
    3. Label3 = "you win"
    4. End If

    End Sub


    Und dashier ist der Code für den Button mit dem Ich das Spiel zum Anfang zurücksetze:

    Visual Basic-Quellcode

    1. Private Sub Command2_Click()
    2. If MsgBox("Möchten sie wirklich das Spiel beenden?", _
    3. vbYesNo, "Start a New Game?") = vbYes Then Call initplayground
    4. End Sub
    5. Sub initplayground()
    6. feld(0) = 0
    7. feld(1) = 0
    8. feld(2) = 0
    9. feld(3) = 0
    10. feld(4) = 0
    11. feld(5) = 0
    12. feld(6) = 0
    13. feld(7) = 0
    14. feld(8) = 0
    15. Picture1.Picture = Nothing
    16. Picture2.Picture = Nothing
    17. Picture3.Picture = Nothing
    18. Picture4.Picture = Nothing
    19. Picture5.Picture = Nothing
    20. Picture6.Picture = Nothing
    21. Picture7.Picture = Nothing
    22. Picture8.Picture = Nothing
    23. Picture9.Picture = Nothing
    24. End Sub



    Nochmals vielen dank für deine Mühe Dusti du hast mir sehr weitergeholfen :P
    das liegt daran, dass dein If-Abfrage im Label3_Click() steht, d.h. es wird nur überprüft, wenn du auf das Label klickst. Mach diese überprfung als Methode und ruf die Methode dann bei einem Klcik auf die Picture1-Picture9 (ich weiss den genauen Namen nicht, es sind deine "Spielfelder" gemeint). Dann wird das bei jedem Zug überprüft.
    Wie gesagt, ich würde dieses riesenlange if aufteilen, das ist viel leichter zu lesen.
    Ich habe es jetzt so gemacht:

    Visual Basic-Quellcode

    1. Private Sub Label3_Click()
    2. If (feld(0) = 1 And feld(1) = 1 And feld(2) = 1) Then Call win
    3. If (feld(3) = 1 And feld(4) = 1 And feld(5) = 1) Then Call win
    4. If (feld(6) = 1 And feld(7) = 1 And feld(8) = 1) Then Call win
    5. If (feld(0) = 1 And feld(4) = 1 And feld(8) = 1) Then Call win
    6. If (feld(2) = 1 And feld(4) = 1 And feld(6) = 1) Then Call win
    7. If (feld(0) = 1 And feld(3) = 1 And feld(6) = 1) Then Call win
    8. If (feld(1) = 1 And feld(4) = 1 And feld(7) = 1) Then Call win
    9. If (feld(2) = 1 And feld(5) = 1 And feld(8) = 1) Then Call win
    10. If (feld(0) = 2 And feld(1) = 2 And feld(2) = 2) Then Call win2
    11. If (feld(3) = 2 And feld(4) = 2 And feld(5) = 2) Then Call win2
    12. If (feld(6) = 2 And feld(7) = 2 And feld(8) = 2) Then Call win2
    13. If (feld(0) = 2 And feld(4) = 2 And feld(8) = 2) Then Call win2
    14. If (feld(2) = 2 And feld(4) = 2 And feld(6) = 2) Then Call win2
    15. If (feld(0) = 2 And feld(3) = 2 And feld(6) = 2) Then Call win2
    16. If (feld(1) = 2 And feld(4) = 2 And feld(7) = 2) Then Call win2
    17. If (feld(2) = 2 And feld(5) = 2 And feld(8) = 2) Then Call win2
    18. End Sub


    Visual Basic-Quellcode

    1. Sub win()
    2. Label3 = ("Kreuz gewinnt!!!")
    3. End Sub


    Visual Basic-Quellcode

    1. Sub win2()
    2. Label3 = ("Kreis gewinnt!!!")
    3. End Sub


    Der Text erscheint immernoch nicht automatisch.

    Kann man in dem Sub win2() nicht einfach irgendeine anweisung reinschreiben wie alert oder so, oder geht das nicht? Muss ich den Code nochmal neu schreiben oder geht das auch irgendwie so?

    Visual Basic-Quellcode

    1. Private Sub Picture2_Click()
    2. If feld(1) = 0 Then
    3. If kreuz = True Then
    4. Picture2.Picture = LoadPicture("C:\Dokumente und Einstellungen\Eigene Dateien\Eigene Bilder\kreuz.bmp")
    5. feld(1) = 1 ' kreuz
    6. kreuz = False
    7. Else
    8. Picture2.Picture = LoadPicture("C:\Dokumente und Einstellungen\Eigene Dateien\Eigene Bilder\kreis.bmp")
    9. feld(1) = 2 ' kreis
    10. kreuz = True
    11. End If
    12. End If
    13. End Sub


    Wie genau macht man das denn in einer eigenen Methode?

    Ich habs jetzt so gemacht:

    Private Sub Picture1_Click()
    if feld(0)=1 then
    Label3 = "You win"
    End Sub

    Ist das so richtig?
    Könttest du vielleicht ein Beispiel schreiben, wie man das mit der Methode macht? Die Felder heissen feld (0-8)
    Wie gesagt, ich habe grademal eine Woche mit diesem Programm gearbeitet und von daher nicht so viel ahnung.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „One Man Production“ ()

    Visual Basic-Quellcode

    1. Private Sub Picture2_Click()
    2. If feld(1) = 0 Then
    3. If kreuz = True Then
    4. Picture2.Picture = LoadPicture("C:\Dokumente und Einstellungen\enkkad\Eigene Dateien\Eigene Bilder\kreuz.bmp")
    5. feld(1) = 1 ' kreuz
    6. kreuz = False
    7. Else
    8. Picture2.Picture = LoadPicture("C:\Dokumente und Einstellungen\enkkad\Eigene Dateien\Eigene Bilder\kreis.bmp")
    9. feld(1) = 2 ' kreis
    10. kreuz = True
    11. End If
    12. End If
    13. End Sub

    ersetzt du durch

    Visual Basic-Quellcode

    1. Private Sub Picture2_Click()
    2. If feld(1) = 0 Then
    3. If kreuz = True Then
    4. Picture2.Picture = LoadPicture("C:\Dokumente und Einstellungen\enkkad\Eigene Dateien\Eigene Bilder\kreuz.bmp")
    5. feld(1) = 1 ' kreuz
    6. kreuz = False
    7. If gewonnen(1) Then
    8. MsgBox("Kreuz hat gewonnen.")
    9. End If
    10. Else
    11. Picture2.Picture = LoadPicture("C:\Dokumente und Einstellungen\enkkad\Eigene Dateien\Eigene Bilder\kreis.bmp")
    12. feld(1) = 2 ' kreis
    13. kreuz = True
    14. If gewonnen(2) Then
    15. MsgBox("Kreis hat gewonnen.")
    16. End If
    17. End If
    18. End If
    19. End Sub
    20. Private Function gewonnen(ByVal f as Integer) as Boolean
    21. If (feld(0) = f And feld(1) = f And feld(2) = f) Then gewonnen = true
    22. If (feld(3) = f And feld(4) = f And feld(5) = f) Then gewonnen = true
    23. If (feld(6) = f And feld(7) = f And feld(8) = f) Then gewonnen = true
    24. If (feld(0) = f And feld(4) = f And feld(8) = f) Then gewonnen = true
    25. If (feld(2) = f And feld(4) = f And feld(6) = f) Then gewonnen = true
    26. If (feld(0) = f And feld(3) = f And feld(6) = f) Then gewonnen = true
    27. If (feld(1) = f And feld(4) = f And feld(7) = f) Then gewonnen = true
    28. If (feld(2) = f And feld(5) = f And feld(8) = f) Then gewonnen = true
    29. End Sub


    Achtung, ist alles Pseudocode von mir, besonders das "Function gewonnen". Ich weiss nicht, ob das funktioniert, schau halt und versuch zu korrigieren.
    Jetzt vielleicht noch die Function mit End Function abschließen.

    Tipp:
    Ich würde die Bilder nur mit relativem Pfad laden oder direkt ins Programm einbinden, nicht jeder heißt enkkad und bewahrt dann noch seine Progamme in den Eigenen Dateien auf.
    Gruß
    Peterfido

    Keine Unterstützung per PN!