Diese For Schleife hatte ich am Anfang auch drin.Aber was mich daran stört ist, das das Programm 4x alle 4 Zeilen bei der selben Spalte abfragt. Und das ist doch eigentlich Zeitverschwendung,oder?

Ich habe meine Code jetzt auch noch ein bißchen verändert, uzw in der Form das sobald eine Taste erkannt wurde die Schleifen ,also die For Schleife für die Spalten , und dann die Do-Loop Schleife verlassen werden.
Das warten dient der entprellung

Hier der Code

Code:
Taste:
Dim Z As Integer
Dim S As Integer

Ddrd = &B10000110
Portd = 255
Taste = 0
Do
   For S = 0 To 1
      If S = 0 Then Portd.2 = 0
      If S = 1 Then Portd.7 = 0
         If Pind.3 = 0 Then
            If S = 0 Then
               Taste = 1
            Else
               Taste = 5
            End If
         End If
         If Pind.4 = 0 Then
            If S = 0 Then
               Taste = 2
            Else
               Taste = 6
            End If
         End If
         If Pind.5 = 0 Then
            If S = 0 Then
               Taste = 3
            Else
               Taste = 7
            End If
         End If
         If Pind.6 = 0 Then
            If S = 0 Then
               Taste = 4
            Else
               Taste = 8
            End If
         End If
      If S = 0 Then
         Portd.2 = 1
      Else
         Portd.7 = 1
      End If
      If Taste > 0 Then Exit For
   Next
Loop Until Taste > 0
Waitms 100
Return
Ich denke mal schon das man das noch ein wenig optimieren kann, aber kommt Zeit kommt Rat.
Ich habe ja auch erst damit angefangen mich mit MicroCs zu beschäftigen.
Programmieren tue ich ja schon ein paar Jahre.
Und mein Konzept ist eigentlich immer , erstmal das Grobschema so das es funktioniert und dann der Feinschliff ,Schritt für Schritt.

Aber ich bin auf alle Fälle für jede Form der Hilfe dankbar.

Gruß Andreas