Terminal Download
  Download 
   
  Kurzanleitung 
   
  Lizenz
  
    Terminalprogramm für direkte Kommunikation mit einem Endgerät über die serielle
    Schnittstelle (RS232). Das Terminal bietet einige Funktionen um Befehle zu organisieren
    und führt eine History über gesendete Befehle. Mit den Tastenkombinationen können dann die Befehle
    wiederholt werden.
   
  
    Das Terminal kann bevor etwas gesendet wird auch ein PAscal Script ausführen. 
    Beim Empfang kann eingestellt werden, ob nach einem Trigger, oder nach einer 
    gewissen inaktiven Zeit ein Pascal Script ausgeführt werden soll. 
  
    Für die History Funktion (Liste im rechten Teil des Hauptfensters) wird der 
      XML Parser von Microsoft benötigt (MSXML 4.0) 
  
    Kompatibilität:
   
  
    - Windows 2000
 
    - Windows XP
 
    - Windows Vista (nicht getestet, sollte aber funktionieren)
 
    - Windows 7 (nicht getestet, sollte aber funktionieren)
 
   
  Wenn jemand LKTerm auf einem nicht getesteten Betriebssystem ausführt, bin ich 
    über die Information dankbar (E-Mail an die Adresse im Infofenster. Erreichbar 
    über das Hilfe Menü) 
  
    Hauptfenster: 
  
     
   
  
    Kurzanleitung: 
  
      
  
    Mit dem Button "ComPort" wird die Schnittstelle ausgewählt und mit dem
    Button "On" eingeschaltet. Danach ist die Schnittstelle sende und Empfangsbereit.
    Jetzt kann der zu sendende Text eingeben und auf der Tastatur "Enter"
    oder den Button "Senden" gedrückt werden. 
  
    Es wird immer das Prefix, der Text und das Postfix gesendet. Steuerzeichen können
    mit ihrem ASCII Code gesendet werden (Dezimal oder Hexadezimal). Die Zahl muss mit
    Schrägstrichen eingefasst werden. Ein Carriage Return wird mit "/13/"
    gesendet. Ein Carriage Return Line Feed mit "/13//10/". Die Steuerzeichen
    mit einem ASCII Code unter 32 können auch mit ihrem symbolischen Namen geschrieben
    werden. 
  
    - stx = Start Of Text
 
    - eot = End Of Text
 
    - tab = Tabulator
 
    - lf = Line Feed
 
    - cr = Carriage Return
 
   
  
    Hexadezimale Zahlen müssen mit dem Präfix 0x oder $ versehen
    werden. Ein Carriage Return wird also mit /0xD/ oder /$D/
    geschrieben. Ein Carriage Return mit Line Feed wird demzufolge als /$D//$A/
    geschrieben. 
  
    Komplete Liste der Steuercodes:
  
    
      | Symbol | Dezimal | Hex | Beschreibung |  
    
    
      | NUL | 0 | 0 | NULL |  
      | SOH | 1 | 1 | START OF HEADING |  
      | STX | 2 | 2 | START OF TEXT |  
      | ETX | 3 | 3 | END OF TEXT |  
      | EOT | 4 | 4 | END OF TRANSMISSION |  
      | ENQ | 5 | 5 | ENQUIRY |  
      | ACK | 6 | 6 | ACKNOWLEDGE |  
      | BEL | 7 | 7 | BELL |  
      | BS | 8 | 8 | BACKSPACE |  
      | HT | 9 | 9 | HORIZONTAL TABULATION |  
      | LF | 10 | A | LINE FEED |  
      | VT | 11 | B | VERTICAL TABULATION |  
      | FF | 12 | C | FORM FEED |  
      | CR | 13 | D | CARRIAGE RETURN |  
      | SO | 14 | E | SHIFT OUT |  
      | SI | 15 | F | SHIFT IN |  
      | DLE | 16 | 10 | DATA LINK ESCAPE |  
      | DC1 | 17 | 11 | DEVICE CONTROL ONE |  
      | DC2 | 18 | 12 | DEVICE CONTROL TWO |  
      | DC3 | 19 | 13 | DEVICE CONTROL THREE |  
      | DC4 | 20 | 14 | DEVICE CONTROL FOUR |  
      | NAK | 21 | 15 | NEGATIVE ACKNOWLEDGE |  
      | SYN | 22 | 16 | SYNCHRONOUS IDLE |  
      | ETB | 23 | 17 | END OF TRANSMISSION BLOCK |  
      | CAN | 24 | 18 | CANCEL |  
      | EM | 25 | 19 | END OF MEDIUM |  
      | SUB | 26 | 1A | SUBSTITUTE |  
      | ESC | 27 | 1B | ESCAPE |  
      | FS | 28 | 1C | FILE SEPARATOR |  
      | GS | 29 | 1D | GROUP SEPARATOR |  
      | RS | 30 | 1E | RECORD SEPARATOR |  
      | US | 31 | 1F | UNIT SEPARATOR |  
    
   
  
    Gesendete Zeichen werden in der Baumansicht im rechten Bereich angezeigt. Die Befehle
    können mit Drag&Drop sortiert und in Verzeichnissen organisiert werden. 
  
    Im Kontextmenü der Baumansicht, kann jedem Befehl ein Name sowie eine Tastenkombination zugewiesen
    werden. 
  
    Symbolleiste über dem Empfangsfenster: 
  
      
  
    - Speichern des Empfangsfensters
 
    - Empfangsfenster drucken
 
    - Empfangsfenster löschen
 
    - Gesendeten Text anzeigen
 
    - Steuerzeichen ausführen
 
    - Nur Zeilenumbrüche ausführen
 
    - Empfangsfenster zyklisch speichern
 
   
  
    Symbolleiste über der Baumansicht: 
  
      
  
    - Neue Datei öffnen.
 
    - Historie speichern.
 
    - Neue Gruppe erzeugen.
 
    - Neues Kommando erzeugen.
 
    - Selektiertes Element verändern.
 
    - Selektierte Elemente löschen (Achtung keine Sicherheitsabfrage).
 
    - Baumansicht leeren (Achtung keine Sicherheitsabfrage).
 
    - Für alle Kommandos neue Tastenkombinationen definieren (Überschreibt alle vorher definierten Tastenkombinationen).
 
    - Defaultwerte für die definierten Parameter anzeigen.
 
   
  
    Skript: 
  
    Nachdem Zeichen empfangen wurden, oder bevor Zeichen gesendet werden kann ein Script
    ausgeführt werden. Damit ist es möglich vor dem Senden eine Checksumme
    hinzuzufügen, oder Handshake Leitungen umzuschalten. Ausserdem können
    Meldungen im Log bereich ausgegeben werden. 
  
    Beim Empfangen kann das Script entweder Zeitgesteuert nach dem Empfang des letzten
    Zeichens ausgelöst werden, oder nach dem Empfang eines Trigger Strings. 
  
    Das Script wird in Pascal programmiert. Ausser den Standard Befehlen stehen einige
    Möglichkeiten zur Manipulation von LKTerm zur Verfügung. 
  
    Eine Beschreibung der möglichen Pascal Befehle findet sich unter 
      http://www.remobjects.com/ps.aspx (Englisch). 
  
      
  
    Beispiel: 
  
 begin
  if (Text = 'abc'#13#10) then
	    Send('def');
  SetRTS(true);
  SetDTR(true);
end.
 
  Das obige Beispiel als Sende Script ausgeführt, setzt sowohl die RTS und die DTR
  Leitung. Ausserdem wird der Text 'def' gesendet, wenn in LKTerm der Text 'abc' gesendet
  wurde (mit Carriage Return und Line Feed). 'def' wird vor 'abc' gesendet.
  Soll der zu sendende Text verändert werden, muss die Variable Text geändert werden.
    var
  xMsg: string;
begin
  if GetRTS then
    xMsg := 'RTS = true'#13#10
  else
    xMsg := 'RTS = false'#13#10
	
  if GetDTR then
    xMsg := xMsg + 'DTR = true'#13#10
  else
    xMsg := xMsg + 'DTR = false'#13#10
	
  if GetDSR then
    xMsg := xMsg + 'DSR = true'#13#10
  else
    xMsg := xMsg + 'DSR = false'#13#10
	
  if GetCTS then
    xMsg := xMsg + 'CTS = true'#13#10
  else
    xMsg := xMsg + 'CTS = false'#13#10
	
  if GetRing then
    xMsg := xMsg + 'Ring = true'#13#10
  else
    xMsg := xMsg + 'Ring = false'#13#10
	
  WriteLn(xMsg);
end.
 
  
    Ein Beispiel für eine CRC Berechnung und das anschliessende Anhängen der Checksumme
    könnte folgendermassen aussehen: 
  var
  xLowByte: WORD;
  xHighByte: WORD;
  xCRC: WORD;
begin
  xCRC := CRC16(0, Text);
  xLowByte := xCRC and $FF;
  xHighByte := xCRC shr 8; 
        ShowMessage(IntToStr(xCRC) + ' - ' + IntToStr(xHighByte) + ' - ' + intToStr(xLowByte));
  Text := Text + chr(xHighByte) + chr(xLowByte);
end.
 
  Download
  
    download (LKTerm.zip 1713KB)
   
  
  Lizenz
  
    Das Programm darf frei benutzt werden. Das Programm darf ohne Bewiligung des 
    Autors in keiner Weise verkauft werden. Das Programm darf nicht ohne Bewilligung des Autors auf einem kostenpflichtigen 
    Download Portal angeboten werden.
   
           |