mikrocontroller.net

Forum: PC-Programmierung Script beim BRAY Terminal Programm


Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

ich möchte das die Script Funktion des BRAY Terminal wenn eine bestimmte
Zeichenkette Empfangen wird, einen neuer Befehl gesendet wird.

Hierzu habe ich folgenden Quellcode geschrieben. Pascal ist nur nicht 
die
Sprache in der ich zuhause bin.

program JCRH;

var
i: longint;
INPUT: STRING;
NACHWAHL50: STRING;
NACHWAHL51: STRING;
NACHWAHL52: STRING;
NACHWAHL53: STRING;
NACHWAHL54: STRING;
NACHWAHL55: STRING;
NACHWAHL56: STRING;
NACHWAHL57: STRING;
NACHWAHL58: STRING;
NACHWAHL59: STRING;
NACHWAHL60: STRING;

begin

NACHWAHL50 :=
'#013005E0000140001018B#013#013005E0000140001018B#013#013005E0000140001
018B#013';

NACHWAHL51 :=
'#013005E0000010001019E#013#013005E0000010001019E#013#013005E0000010001
019E#013';

NACHWAHL52 :=
'#013005E0000020001019D#013#013005E0000020001019D#013#013005E0000020001
019D#013';

NACHWAHL53 :=
'#013005E0000030001019C#013#013005E0000030001019C#013#013005E0000030001
019C#013';

NACHWAHL54 :=
'#013005E0000040001019B#013#013005E0000040001019B#013#013005E0000040001
019B#013';

NACHWAHL55 :=
'#013005E0000050001019A#013#013005E0000050001019A#013#013005E0000050001
019A#013';

NACHWAHL56 :=
'#013005E00000600010199#013#013005E00000600010199#013#013005E0000060001
0199#013';

NACHWAHL57 :=
'#013005E00000700010198#013#013005E00000700010198#013#013005E0000070001
0198#013';

NACHWAHL58 :=
'#013005E00000800010197#013#013005E00000800010197#013#013005E0000080001
0197#013';

NACHWAHL59 :=
'#013005E0000150001018A#013#013005E0000150001018A#013#013005E0000150001
018A#013';

NACHWAHL60 :=
'#013005E00001600010189#013#013005E00001600010189#013#013005E0000160001
0189#013';

  while not(i=28) do // wait for ESC char

    i:=0;
    while i=0 do INPUT:=ComReadchr();
      if INPUT = NACHWAHL50 then ComSendstr('#01[M01=C14]');
      if INPUT = NACHWAHL51 then ComSendstr('#01[M01=C02]');
      if INPUT = NACHWAHL52 then ComSendstr('#01[M01=C01]');
      if INPUT = NACHWAHL53 then ComSendstr('#01[M01=C03]');
      if INPUT = NACHWAHL54 then ComSendstr('#01[M01=C04]');
      if INPUT = NACHWAHL55 then ComSendstr('#01[M01=C05]');
      if INPUT = NACHWAHL56 then ComSendstr('#01[M01=C06]');
      if INPUT = NACHWAHL57 then ComSendstr('#01[M01=C07]');
      if INPUT = NACHWAHL58 then ComSendstr('#01[M01=C08]');
      if INPUT = NACHWAHL59 then ComSendstr('#01[M01=C15]');
      if INPUT = NACHWAHL60 then ComSendstr('#01[M01=C16]');

  end;
end.


Wenn ich den Quelltext compiliere wird mir der Fehler:

"Error: MAIN(311) string error"

ausgegeben.

1. Woran kann das liegen?
2. Habe ich das mit dem String einlesen richtig gelöst?

Das Senden des geänderten Befehls funktioniert bereits.
Dies habe ich schon mehrfach getestet.


MFG Mike

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.