Derzeit hänge ich an 3 Zeilen fest, die offenbar jedesmal ein Zeichen zuviel haben(!) : 1070, 1130 und 1150. Hat jemand eine Problemlösung?
Also, Zeile 1070 kommt bei mir genau hin.
Es gibt 597 Antworten in diesem Thema, welches 73.620 mal aufgerufen wurde. Der letzte Beitrag (
Derzeit hänge ich an 3 Zeilen fest, die offenbar jedesmal ein Zeichen zuviel haben(!) : 1070, 1130 und 1150. Hat jemand eine Problemlösung?
Also, Zeile 1070 kommt bei mir genau hin.
wahrscheinlich musst Du dann mit dem Cursor nochmal 1 Zeile nach oben und dann RETURN druecken, weil er sonst die Zeile nicht uebernimmt.
Ein Checksummer, der den REM-Befehl (inkl. :REM) und alles was dahinter steht ignoriert wäre echt cool.
Das würde die Fehlersuche bei einigen Programmen enorm erleichtern.
Ein Checksummer, der den REM-Befehl (inkl. :REM) und alles was dahintersteht ignoriert wäre echt cool.
Das würde die Fehlersuche bei einigen Programmen enorm erleichtern.
Das würde dann aber erst ab dem nächsten Heft greifen, da die Checksummen ja inklusive der REMs berechnet wurden. Prinzipiell wäre es wohl besser, wenn man die REMs einfach von Anfang an aus den Quelltexten entfernt. Spart Abtipparbeit. Und guter Code ist selbsterklärend. ![]()
Der Wunsch kam schon 2019 auf und wurde auch im F64Summer implementiert. Eine Pro/Kontra-Liste gibt es Bitte melde dich an, um diesen Link zu sehen.. Letztlich liegt die Entscheidung beim Herausgeber, ob überflüssige Doppelpunkte und REMs zur Checksumme beitragen sollen oder nicht. Zeha hat sich entschieden, den Checksummer für alle Hefte gleich zu lassen und bei der kürzeren Variante zu bleiben. Ich finde das gut.
Ein Checksummer, der den REM-Befehl (inkl. :REM) und alles was dahinter steht ignoriert wäre echt cool.
Das würde die Fehlersuche bei einigen Programmen enorm erleichtern.
Einfacher und besser als ein Checksummersonderkonstrukt wäre es doch, wenn wir uns darauf einigen, kein :REM in einer Zeile zu verwenden. Die Lösung sitzt in diesem Fall vor dem Rechner. ![]()
Hab mal Heft 4 durchgeschaut und weiss, welches Listing du meinst, da ist mehr REM als Code vorhanden.
Die ganzen REMs mit abtippen zu müssen, nur damit die korrekte Checksumme bei rauskommt, macht natürlich unnötig Arbeit.
REM-Zeilen mit Hinweisen sind ansich schon nett und lockern die Optik etwas auf. Solange es REM-only Zeilen sind, die nicht angesprungen werden und die man blind weglassen kann, besteht zumindest kein Handlungsbedarf in Richtung Checksummer.
Ich muss auch sagen ich finde es eigentlich alles nicht so tragisch, letztendlich sieht man ja dass sich einige hier mit dem Abtippen befassen und dadurch lernt man ja auch immer wieder was. Die meisten werden wissen, dass REM-Befehle weggelassen werden koennen oder erfahren es spaetestens hier im Thread, und dass dies aber Auswirkungen haben kann wenn es Sprungmarken gibt, oder dass man Befehle abkuerzen kann um Platz zu sparen, usw. Ist doch auch irgendwie schoen wenn man ein bisschen "mit Verstand" abtippen muss. Deshalb finde ich auch REM-Zeilen in den Listings cool, weil sie ja das Programm ein bisschen erklaeren. Natuerlich lernt keiner das Programmieren allein durchs Abtippen, aber es weckt das Interesse, entrostet alte Kenntnisse, usw. Ich finds gut, dass man sich ein bisschen damit beschaeftigt.
Unter anderem finde ich aber auch gerade deshalb die Sache mit den Leerzeichen nicht so tragisch. Es schult ein bisschen das genaue Hingucken, das Abzaehlen, das Verstaendnis fuer den Bildaufbau, und Listings wie z.B. auf Seite 59 im aktuellen Heft sehen doch auch irgendwie cool aus (oder z.B. Seite 61 in Heft 2 - okay, da sind es keine Leerzeichen sonden Bindestriche, aber ich denke es kommt trotzdem rueber was ich meine). Oder auch mein eigenes Listing in Heft 3 auf Seite 15, da sollen die Levels direkt erkennbar und auch modifizierbar / eigene erstellt werden koennen. Natuerlich haette man das auch irgendwie komprimieren koennen oder durch {5*space} ersetzen koennen. Aber es hat so schon auch was fuer sich.
Wenn alles supereinfach laufen wuerde, dann waere das doch auch irgendwie langweilig. Wir haben hier ja das Forum wo man nachfragen kann, wenns irgendwo Probleme gibt. Natuerlich kann es frustrierend sein, wenn etwas nicht funktioniert, und natuerlich waere es mir prinzipiell auch am liebsten, wenn sich keine Fehler einschleichen wuerden, aber auf der anderen Seite muss man auch sagen, hat es schon was fuer sich, wenn man sich ein wenig mit der Materie beschaeftigen muss - so war das auch damals, teilweise sogar noch schlimmer (es gab ja damals wirklich auch Listings mit 1:1 abgedruckten Grafikzeichen/Steuerzeichen, wo man viel Muehe hatte beim Entziffern), und daher gehoert das auch ein bisschen mit zum Spass dazu.
Soll jetzt keine Fehler in den Listings entschuldigen, klar, das waere schon optimal wenn es die nicht gaebe. Aber so 100% bulletproof wird mans wohl nie hinbekommen und das muss es meiner Meinung nach auch nciht zwingend sein.
Letztendlich lernt vielleicht sogar der ein oder andere Programmautor was
z.B. wie man ein Listings schreibt, bei dem man alle REMs auch weglassen kann, oder dass Zeilen die man in einem PC-Editor schreibt, zu lang sein koennen, oder dass manche gedruckte Programme irgendwie eleganter aussehen als andere und sich besser abtippen lassen, usw ![]()
Man könnte die REM-Zeilen auch eine Zeile vor dem Zeilensprung setzen.
Richtig, aber das ist dann halt Aufgabe der Programmautoren, ihr Listing so zu schreiben, dass sowas funktioniert ![]()
Grundsaetzlich sind doch auch die REM-Zeilen das kleinste Problem. Wer sich gut genug auskennt, um die wegzulassen, der muss halt auch damit klarkommen, dass so manche Checksumme nicht mehr stimmt, weiss dann aber auch wieso, und ist vielleicht auch fit genug, um die Zeile an sich korrekt abzutippen. Zudem sind die Zeilen, die mit einem REM-Kommentar enden, ja oftmals von Haus aus nicht die laengsten, denn sonst waere kein Platz fuer den Kommentar. Und das Abtippen von REM-Kommentaren sollte auch nicht so zeitfressend sein, weil diese ja oft das lesbarste am ganzen Listing sind und man die in Nullkommanix abgetippt hat, im Gegensatz zu irgendwelchen POKE- oder DATA-Orgien, wo man ganz genau hinschauen muss ![]()
Man könnte die REM-Zeilen auch eine Zeile vor dem Zeilensprung setzen.
Was ist eigentlich das große Problem mit dem Anspringen von REM? Ich mache das explizit und mit voller Absicht so und das wird so bleiben, bis man mir die Tastatur aus meinen kalten, toten Fingern nimmt. BASIC V2 hat nun einmal keine Blöcke, keine Funktionen, keine Module, keine Importe. Einen anspringbaren (Funktions-)Block durch REM abzutrennen ist die einzige Möglichkeit, überhaupt ein bisschen Anstand und Sitte in den Kram zu bringen. Klar könnte ich das so machen, wie du sagst, also:
Habe ich auch schon gemacht, aber mehr aus der Not heraus. Ist halt gefühlt unschön, wenn die Funktion nicht auch über ihre Zeilennummern irgendwie zusammenhängt.
Sowas wie das hier:
Ist in meinen Augen totaler Murks. Das REM ist für mich der Header der Funktion, also quasi ihre Definition und deshalb springe ich das auch an. Also das Pendant zu sowas:
Dadurch kann ich dahinter machen, was ich will. Denn ansonsten darf ich alle meine Sprünge anpassen, wenn ich plötzlich eine Zeile 10005 brauchen sollte...und dann 10003 und dann 10001.
Wer REM-Abtippen ganz schlimm findet, kann ja einfach den Text weglassen und nur REM schreiben...
Richtig, aber das ist dann halt Aufgabe der Programmautoren, ihr Listing so zu schreiben, dass sowas funktioniert
Grundsaetzlich sind doch auch die REM-Zeilen das kleinste Problem. Wer sich gut genug auskennt, um die wegzulassen, der muss halt auch damit klarkommen, dass so manche Checksumme nicht mehr stimmt, weiss dann aber auch wieso, und ist vielleicht auch fit genug, um die Zeile an sich korrekt abzutippen. Zudem sind die Zeilen, die mit einem REM-Kommentar enden, ja oftmals von Haus aus nicht die laengsten, denn sonst waere kein Platz fuer den Kommentar. Und das Abtippen von REM-Kommentaren sollte auch nicht so zeitfressend sein, weil diese ja oft das lesbarste am ganzen Listing sind und man die in Nullkommanix abgetippt hat, im Gegensatz zu irgendwelchen POKE- oder DATA-Orgien, wo man ganz genau hinschauen muss
POKE und DATA geht noch, wenn man zu zweit tippt. Da ist das diktieren flott. Schlimmer sind Spezialzeichen, wie Farben und PETSCII...
Damit die "weichgespülten Checksummer-mit-Lineal"-Abtipper mal einen Eindruck davon bekommen ... ![]()
Sowas haben wir damalstm ohne zu Murren - ohne(!) Checksummer - aus Heften abgetippt:
Bitte melde dich an, um diesen Anhang zu sehen.
Und das auf solchen "Sicht"-Geräten:
Bitte melde dich an, um diesen Anhang zu sehen.
Wohlgemerkt, nachdem wir 30 Stunden barfuß und ohne Handschuhe im Winter Holz gehackt hatten! ![]()
Genau, an sowas erinnere mich auch noch
das ist echt ein Graus, zumal man manchmal gar nicht weiss, ob es jetzt Grafikzeichen oder Steuerzeichen sind! Da gehoert dann einiges an Erfahrung dazu, um sowas zum Laufen zu bekommen ![]()
Uebrigens kann man auch sehr schoen an den letzten beiden Programmen im Heft (fuer C128 und MEGA65) sehen, dass die Listings lesbarer werden, je besser das BASIC ist
beide Programme besitzen kein einziges POKE...
Alles anzeigenDamit die "weichgespülten Checksummer-mit-Lineal"-Abtipper mal einen Eindruck davon bekommen ...
Sowas haben wir damalstm ohne zu Murren - ohne(!) Checksummer - aus Heften abgetippt:
Bitte melde dich an, um diesen Anhang zu sehen.
Und das auf solchen "Sicht"-Geräten:
Bitte melde dich an, um diesen Anhang zu sehen.
Wohlgemerkt, nachdem wir 30 Stunden barfuß und ohne Handschuhe im Winter Holz gehackt hatten!
Wir haben damals die Programme noch mit einer magnetischen Nadel direkt an den Pins der CPU programmiert. ![]()
Und das Abtippen von REM-Kommentaren sollte auch nicht so zeitfressend sein, weil diese ja oft das lesbarste am ganzen Listing sind und man die in Nullkommanix abgetippt hat,
Sofern jetzt nicht ausgerechnet in den Kommentaren ein Rechtschreibfehler ist und deswegen die Checksumme nicht passt...
![]()
Habe das Programm "Surprise party" dann doch vollendet abtippen können. Habe einfach die zu langen Zeilen jeweils in zwei Zeilen aufgeteilt. Das Programm startet und funktioniert auch...nur der Wichtelmann sieht etwas komisch aus.
(Irgend ein Fehler beim Abtippen passiert. Oder sieht der Wichtelmann deshalb komisch aus, weil er dieses Listing auch schon einmal selber abgetippt hatte?
)
Was ist eigentlich das große Problem mit dem Anspringen von REM?
Problem ist es keines, aber IMO ist es Zeitverschwendung. Das C64 BASIC ist ja jetzt nicht unbedingt das schnellste also warum soll man dann noch zusätzlich künstliche Rechenzeit verschenken indem man ihn zwing solche Zeilen zu decodieren und zu überspringen?
Wohlgemerkt, nachdem wir 30 Stunden barfuß und ohne Handschuhe im Winter Holz gehackt hatten!
Ihr Glücklichen hattet wenigstens Holz! ![]()
Sowas haben wir damalstm ohne zu Murren - ohne(!) Checksummer - aus Heften abgetippt:
Damals waren aber auch Zigaretten und Alkohol billig... ![]()