funcion WelcheSerielle()
   NUMBER nResult, nvCheck1, vCheck2, vCheck3, vCheck4, vSerAnzahl;
   STRING svText;
begin
   // Anzahl der seriellen Schnittstellen bestimmen
   GetSystemInfo(SERIAL, nvSerAnzahl, svDummy);

   // COM-Schnittstelle auswhlen und eintragen
   Disable(BACKBUTTON);
   SetDialogTitle( DLG_ASK_OPTIONS, "Auswahl der COM-Schnittstelle");
   svText="Vorauswahl der seriellen Schnittstelle";

   // Dialog nach der Anzahl der Schnittstellen auswhlen
   nvCheck2=nvCheck3=nvCheck4=FALSE;
   nvCheck1=TRUE;
   switch(nvSerAnzahl)
      case 1:  nResult=NEXT;
      case 2:  nResult=AskOptions( EXCLUSIVE, svText, "COM&1", vCheck1,
      	"COM&2", vCheck2);
      case 3:  nResult=AskOptions( EXCLUSIVE, svText, "COM&1", vCheck1,
      	"COM&2", vCheck2, "COM&3", vCheck3);
      case 4:  nResult=AskOptions( EXCLUSIVE, svText, "COM&1", vCheck1,
      	"COM&2", vCheck2, "COM&3", vCheck3, COM&4", vCheck4);
      default: nResult=AskOptions( EXCLUSIVE, svText, "COM&1", vCheck1,
      	"COM&2", vCheck2, "COM&3", vCheck3, "COM&4", vCheck4);
   endswitch;

   // Auswertung der COM-Abfrage
   if nResult=NEXT then
      if (nvCheck1=TRUE) then
         svCom = "COM1";
      elseif (nvCheck2=TRUE) then
         svCom = "COM2";
      elseif (nvCheck3=TRUE) then
         svCom = "COM3";
      elseif (nvCheck4=TRUE) then
         svCom = "COM4";
      endif;
   endif;

   return 0;
end;   