ayuda leer entradas digitales con visual basic 6

Hola, tengo un proyecto con arduino y visual basic 6 el problema es que el MSComm de visual basic puede leer 1 solo bit que pasa que necesito 8 entradas, en estado normal sin tener entradas manda esto: A B C D E F G H si pulso uno hace esto 1 B C D E F G H las letras de la A a la H es el estado off y los números del 1 al 8 es el estado on, ayuda por favor
codigo en arduino

int entrada1 = 2;
int valor1 = 0;
int entrada2 = 3;
int valor2 = 0;
int entrada3 = 4;
int valor3 = 0;
int entrada4 = 5;
int valor4 = 0;
int entrada5 = 6;
int valor5 = 0;
int entrada6 = 7;
int valor6 = 0;
int entrada7 = 8;
int valor7 = 0;
int entrada8 = 9;
int valor8 = 0;
 
void setup() {
  Serial.begin(9600);   
  pinMode(entrada1, INPUT);
  pinMode(entrada2, INPUT);
  pinMode(entrada3, INPUT);
  pinMode(entrada4, INPUT);
  pinMode(entrada5, INPUT);
  pinMode(entrada6, INPUT);
  pinMode(entrada7, INPUT);
  pinMode(entrada8, INPUT);  
}
 
void loop(){
  valor1 = digitalRead(entrada1);
  valor2 = digitalRead(entrada2);
  valor3 = digitalRead(entrada3);
  valor4 = digitalRead(entrada4);
  valor5 = digitalRead(entrada5);
  valor6 = digitalRead(entrada6);
  valor7 = digitalRead(entrada7);
  valor8 = digitalRead(entrada8);
  
  delay(250);
   if (valor1 == HIGH) {
  Serial.println("1");
  }
  else {
      Serial.println("A");
  }
  
  
  if (valor2 == HIGH) {
  Serial.println("2");
  }
  else {
      Serial.println("B");
  }
  
  if (valor3 == HIGH) {
  Serial.println("3");
  }
  else {
      Serial.println("C");
  }
  
  if (valor4 == HIGH) {
  Serial.println("4");
  }
  else {
      Serial.println("D"); 
}

 if (valor5 == HIGH) {
  Serial.println("5");
  }
  else {
      Serial.println("E");
  }
 
  if (valor6 == HIGH) {
  Serial.println("6");
  }
  else {
      Serial.println("F");
  }
  
  if (valor7 == HIGH) {
  Serial.println("7");
  }
  else {
      Serial.println("G");
  }
  
  if (valor8 == HIGH) {
  Serial.println("8");
  }
  else {
      Serial.println("H"); 
}
}

y el codigo en visual basic????
sube los dos files usando el atachado de abajo. (additional options)

hola, dejo el codigo en vb6

Este codigo abre y cierra el puerto cuando se abre o se cierra el form

Private Sub Form_Activate()
MSComm1.PortOpen = True
End Sub

Private Sub Form_Terminate()
If MSComm1.PortOpen = True Then
MSComm1.PortOpen = False
End If
End Sub

y aquí el que cambia de color los círculos

Private Sub Timer1_Timer()
If MSComm1.Input = 1 Then
Shape1.BackColor = vbGreen
If MSComm1.Input = A Then
Shape1.BackColor = vbRed
End If
End If
End Sub

dejo 1 ya que seria repetir, el problema es que el arduino envia A B C D E F G H y si pulso el 1 envia esto 1 B C D E F G H.

saludos

Ahhh visual basic 6. no lo habia leido.
Lo siento amigo, ya no lo uso mas, si pasas a Visual Basic 2010 o mejor puede ser que te de una mano.
VB 6 ya esta fuera de uso en mis maquinas.

Ahora bien, no subiste el código con el atachado. esta parcializado y como siempre hay cosas que pueden escaparse.

yo creo que tu rutina de lectura de puerto esta muy limitada
aca un ejemplo MSDN

Private Sub Form_Load ()
   ' Buffer to hold input string
   Dim Instring As String
   ' Use COM1.
   MSComm1.CommPort = 1
   ' 9600 baud, no parity, 8 data, and 1 stop bit.
   MSComm1.Settings = "9600,N,8,1"
   ' Tell the control to read entire buffer when Input
   ' is used.
   MSComm1.InputLen = 0
   ' Open the port.
   MSComm1.PortOpen = True
   ' Send the attention command to the modem.
   MSComm1.Output = "ATV1Q0" & Chr$(13) ' Ensure that 
   ' the modem responds with "OK".
   ' Wait for data to come back to the serial port.
   Do
      DoEvents
   Buffer$ = Buffer$ & MSComm1.Input
   Loop Until InStr(Buffer$, "OK" & vbCRLF)
   ' Read the "OK" response data in the serial port.
   ' Close the serial port.
   MSComm1.PortOpen = False
End Sub

Mira como actua sobre la lectura y carga todo en un buffer para poder leer varios bytes recibidos

Do
      DoEvents
   Buffer$ = Buffer$ & MSComm1.Input
   Loop Until InStr(Buffer$, "OK" & vbCRLF)
   ' Read the "OK" response data in the serial port.

Buffer$ acumula todo lo recibido hasta que llega un OK como bien dice el comentario del código.