Warum beginnst Du eigentliche jede Programmzeile mit einem Doppelpunkt?
spart Rasterzeit 😌
YMMD!
You are about to leave Forum64 to get redirected to the following address:
Please note, that the target website is not operated by us. We are not responsible for it's content nor does our privacy policy apply there.
Warum beginnst Du eigentliche jede Programmzeile mit einem Doppelpunkt?
spart Rasterzeit 😌
YMMD!
spart Rasterzeit 😌
Wie? Das verstehe ich nicht. Kannst Du das etwas genauer erklären?
Beim Thema Doppelpunkt kann ich nur auf den Doppelpunkt-Thread verweisen.
Das das Thema ein Dauerbrenner ist, war mir schon damals klar, als ich den gestartet habe.
Leider wurde der aber geschlossen, da das Thema nicht so gut bei jedem ankommt.
Also keine weiteren Doppelpunktdiskussionen.
Und zu POKE, PEEK, SYS und USR() sag ich mal, wer hier ein Tool ohne die genannten Befehle programmiert hat, kann das gerne in diesem Thread veröffentlichen oder soll schweigen. Also zeigen, wie es ohne geht.
Schönen Gruß.
spart Rasterzeit 😌
Wie? Das verstehe ich nicht. Kannst Du das etwas genauer erklären?
Ironie und Sarkasmus versteht nicht jeder 😌
Aber Hallo !
Ironie und Sarkasmus versteht nicht jeder 😌
Naja, es gibt ja so viele Tricks die man anwenden kann. Hätte ja sein können, dass da tatsächlich irgendwas passiert (also nicht nur Speicherplatz und Zeit verschwendet wird).
Grundsätzlich spart der Doppelpunkt Speicherplatz und macht Programme besser lesbar und schneller.
Eine Tool-Programmierung ohne POKE,PEEK,SYS und USR() geht wohl nur in Ausnahmefällen, bei rein mathematischen Sachen wie z.B. Wandlung DEZ-HEX-Zahlen.
Mein Anspruch ist es funktionierende Programme zu schreiben mit den Mitteln, die das Basic bietet.
Schönen Gruß.
Eben, ich hab mal im Fernsehen gesehen, daß die meisten Millionäre in den US Sparer sind.
Für Basic gilt die Regel, je weniger Befehle, desto schneller das Programm im allgemeinen.
Ich versuche hier meist eine gut vereinfachte, kurze und schnelle Lösung zu präsentieren.
Nach dem Motto, besser gut für alles, als gut für nichts, listest das Programm alle Basic-Dateien und dazu auch noch das Direktory/Inhaltsverzeichnis. Da kann man nicht meckern.
Schönen Gruß.
Ist ein alter Trick. Wenn der Speicherplatz knapp wird, kann man sich mit ein paar Doppelpunkten etwas Luft verschaffen.
Aber auch nicht übertreiben, das verursacht neue Probleme.
Der Doppelpunkt ist übrigens ein ganz normaler Bestandteil des BASIC-Sprachschatzes. Man kann auch das BASIC ins RAM kopieren und dort den Doppelpunkt durch einen einfachen Punkt ersetzen, dann bekommt man mehr Speicher pro Punkt.
Wenn man also genügend Doppelpunkte setzt, ist das Ergebnis von
10 ::::::::::::::::::::::::: PRINT "HALLO" ::::::::::::::::
da, bevor man RUN eingibt?
Display MoreWenn man also genügend Doppelpunkte setzt, ist das Ergebnis von
10 ::::::::::::::::::::::::: PRINT "HALLO" ::::::::::::::::
da, bevor man RUN eingibt?
😂
Doppelpunkt Diskussionen bitte auslagern
z.B. In den Thread Doppelpunkt-Meditation.
Schönen Gruß.
Z10: PRINT-POKE-CODE:
Hallo, und hier kommt wieder mal ein 10-Zeiler Tool.
Und zwar, wie gewünscht, das Wandeln von Poke-Codes in Print-Anweisungen.
Eingabe(z,a,e): Startzeile, Start-Adresse,End-Adresse
Die Datenmenge sollte bei einem Schreibvorgang 3 Blocks=3*256 Bytes nicht übersteigen. Bei tab(0) bis zu 999 Bytes. Ein Bildschirm=1000 Bytes, dann setzt das Scrollen ein.
Falls größere Mengen vorhanden sind, kann man natürlich auch mehrere Schreibvorgänge machen.
In der Startzeile wird die Anfang und Endadresse geschrieben und dazu die Bildschirmadresse in 648 gesetzt. mit Tab() wird dann an die Startadresse gesprungen.
Danach wird geprintet.
Man sollte also nach dem Printen die Bildschirmadresse zurücksetzen z.B. mit :
:poke648,4: rem--bildschirm ab 1024
Natürlich kann man bei Prints mit einer Programmzeile(80) auch den bekannten Adress-Print-Trick anwenden:
:poke209,lb:poke210,hb:poke211,.:print"code"
Mit :poke213,255: kann man allerdings die Zeilelänge auch noch verlängern.
Schönen Gruß.
Z10: PRINT-POKE-CODE: Update
Hallo, ich hab noch mal überlegt, ob ich nicht einen Fehler eingebaut habe.
Daher poste ich hier noch mal ein Update in dem ich in Zeile.7 chr$(20) durch chr$(157) ersetzt habe. Außerdem habe ich bei der Eingabe die Abfrage Z auf kleiner 10 gesezt, damit wird verhindert, daß man versehentlich das Programm überschreiben kann.
Schönen Gruß.