Die Funktionen geben Null zurück wenn alles in Ordnung ist. So sollte es funktionieren:
If OpenLibrary(0, "LUIse.dll") If CallFunction(0,"LUI_OpenDevice",0) MessageRequester("Fehler","Device konnte nicht erfolgreich geöffnet werden! Fehler: "+Str(CallFunction(0,"LUI_OpenDevice",0))) else If ...
Gleichzeitig ansteuern kann man nur 3 Motoren mit 4 Steuerleitungen.
Wenn man dann noch Seriellen Busmaster dazuhängt sind die Möglichkeiten quasi unbegrenzt. Aber halt immer nur 3 Motoren gleichzeitig.
Vergiss was ich sagte. Der 1ms delay ist zu groß. Bei 1ms ist f=1/0,001 gleich 1000Hz. Wenn der Motor pro Schritt 90° dreht wären das 1000/4=250U/min. Das ist wirklich etwas langsam. Also einfach selber ne Zeitschleife basteln.
Motor mit 4 Schritten pro Umdrehung und D4 - D7 als Steuerleitung ...
Das Problem ist das du die Schrittmotoren falsch ansteuerst. Die Teile haben eine An- und Abfallszeit. Mach einfach nen kleinen delay nach dem verschieben des Bits. Wie groß der delay sein muß hängt von der maximal Frequenz(U/min) deines Schrittmotors ab. Damit kannst du dir das Null setzen sparen ...
Weil Steuerzeichen(CR, LF,usw) keine Strings.s sondern Bytes.b sind.
In einen String umgewandelt kommt immer ◙ als Ergebnis.
Nimm einfach WriteByte() oder ReadByte().
Eigentlich werden die heutigen Scanner in die Tastatur "eingeschleift".
Alles andere gibt Kompatibilitäts Probleme.
Zum Ausgeben gibt es Fonts. Also eh kein Problem.
Hast du überhaupt einen Scanner?
@kiffi Ich hab mir bereits nach dem 2 post durch replacestring() helfen lassen. Scheinbar bin ich ja auch nicht der einzige den das schonmal gestoert hat. Bisher ist das auch die größte Schwäche von PureBasic die ich bisher feststellen konnte.
Ein Befehl wie dieser wäre sicher ganz hilfreich ...