Hallo,
Nach einer längeren Pause… darf ich mich wieder mit Kukas beschäftigen . Wir haben gerade ein "Schulprojekt" in dem der Roboter Silhouetten und Buchstaben malen soll.
Wir wollen die Informationen über die serielle Schnittstelle senden. Das sieht dann ungefähr so aus:
"* J 50.0 150.0 * L 50.0 50.0 * L 100.0 50.0 * L 100.0 150.0"
"* J 50.0 100.0 * L 100.0 100.0 * J 125.0 150.0 * L 125.0 50.0"
"* L 150.0 50.0 * C 175.0 75.0 150.0 100.0"
Nun zu den Fragen, die ich dabei habe:
1) DECL char Buf[8]="abc"
Ich habe festgestellt, daß ich Buf[4] nicht lesen kann (normal, noch nicht initialisiert). Nur, wie kann ich dann eine Funktion strcpy schreiben (gibt es noch nicht in Version 4.1)? Mir fehlt die Information über die Länge der Zeichenkette! Oder sollte ich jede Zeichenkette mit einem speziellen Charakter beenden (wie die 0 in C oder C++). Wie macht Ihr das?
2) Gibt es so etwas wie \n oder \xxx in KRL?
3) Dann gibt es da die berüchtigte Zahl 470. Trifft diese Begrenzung eigentlich auf alle Funktionen die mit Zeichenketten arbeiten zu? Ich habe die Begrenzung bei SREAD festgestellt.
4) In der Datenliste wollte ich eine sehr lange Zeichenkette abspeichern (470 Zeichen). Habe etwas geschrieben in der Form:
Cmd[2,]="xxx ...ziemlich lang... xxx"
Das klappt bei der Version 5.x, nicht jedoch bei 4.x. Durch Verkürzen der Zeichenkette habe ich das Problem "gelöst". Meine Frage: kennt jeder die genaue Begrenzung für Zeichen pro Zeile in einer Datenliste?
Vielen Dank im voraus,
Tilman/Frankreich