'**************************************************************************** ' Demo-Programm für die Festtextanzeige und Textausgabe des MiniTerminals ' Firma: Beckmann + Egle Industrieelektronik GmbH ' Datum: 06.02.95 ' Autor: W. Ebner '**************************************************************************** CLS OPEN "COM1:9600,N,8,2,cs0,ds0,cd0,rs" FOR RANDOM AS 1 PRINT #1, CHR$(27); "&#"; 'Display loeschen / Cursor Home DO PRINT PRINT " 1 - Festtexte in das MiniTerminal laden" PRINT " 2 - gespeicherte Festtexte auf dem PC anzeigen" PRINT " 3 - Festtexte auf dem MiniTerminal-Display anzeigen" PRINT " 4 - Reine Textausgabe auf dem MiniTerminal-Display" PRINT " 5 - Ende " INPUT CMD ON CMD GOSUB laden, speicherlesen, schreiben, anzeigen, ende LOOP laden: '**************************************************************************** PRINT "Fest-Texte in das MiniTerminal permanent abspeichern" PRINT "Eine Zeile wird mit 'ENTER' abgeschlossen" PRINT "Enthält eine Zeile keine Zeichen mehr, " PRINT "wird die Übertragung beendet" PRINT #1, CHR$(27); "R"; : ' Kommando an MiniTerminal schicken n% = 0 DO text$ = "" PRINT "Fest-Text Nr."; n%; " eingeben: "; DO DO a$ = INKEY$ 'eingegebene Leerzeichen werden LOOP UNTIL a$ <> "" 'auf diese Weise auch beachtet PRINT a$; IF a$ = CHR$(13) THEN EXIT DO ELSE text$ = text$ + a$ END IF LOOP l = LEN(text$) IF l <> 0 THEN FOR I = 1 TO l PRINT #1, MID$(text$, I, 1); R$ = INPUT$(1, #1) IF R$ <> MID$(text$, I, 1) THEN RETURN: ' Fehler beim Speichern NEXT I PRINT #1, CHR$(0); : ' Text-Ende-Zeichen R$ = INPUT$(1, #1): ' 0 lesen ELSE EXIT DO END IF n% = n% + 1 LOOP 'Übertragung beenden PRINT #1, CHR$(0); : ' Text-Ende-Zeichen R$ = INPUT$(1, #1): ' 0 lesen RETURN speicherlesen: '**************************************************************************** PRINT "Im MiniTerminal gespeicherte Fest-Texte auf dem PC anzeigen" PRINT PRINT #1, CHR$(27); "W"; ' Kommando an MiniTerminal schicken ZAEHLER = 0 DO a$ = INPUT$(1, #1) IF ASC(a$) = 0 THEN ZAEHLER = ZAEHLER + 1 PRINT ELSE ZAEHLER = 0 PRINT a$; END IF LOOP UNTIL ZAEHLER = 2 PRINT RETURN: ' 2. Null --> Ende der Übertragung schreiben: '**************************************************************************** PRINT "Gewaehlter Fest-Text auf dem MiniTerminal-Display ausgeben" DO PRINT "Nummer (999 = Ende): "; INPUT NUMMER IF NUMMER = 999 THEN RETURN PRINT #1, CHR$(27); "D"; CHR$(NUMMER); LOOP anzeigen: '**************************************************************************** PRINT "Eingegebener Text auf dem MiniTerminal-Display anzeigen" PRINT "Der Text wird nach der Eingabe von 'Enter' angezeigt" PRINT "Enthält eine Text keine Zeichen mehr, wird die Funktion beendet" PRINT #1, CHR$(27); "&#"; 'Display loeschen / Cursor Home DO text$ = "" PRINT "Text eingeben: ?"; DO DO a$ = INKEY$ 'eingegebene Leerzeichen werden LOOP UNTIL a$ <> "" 'auf diese Weise auch beachtet PRINT a$; IF a$ = CHR$(13) THEN EXIT DO ELSE text$ = text$ + a$ END IF LOOP l = LEN(text$) IF l <> 0 THEN FOR I = 1 TO l PRINT #1, MID$(text$, I, 1); NEXT I END IF LOOP UNTIL l = 0 RETURN ende: END