Weil es hier im Thread um das 128 er Basic geht und nicht um den Vergleich mit anderen Systemen.de Kommentar deinerseits war also völlig überflüssig.allerdings passt er in dein Schema.ist ja nicht das erste mal.
C=128 gedächtnislücken basic ...
-
NeTFreaK -
30. Oktober 2014 um 17:14 -
Erledigt
Es gibt 44 Antworten in diesem Thema, welches 7.738 mal aufgerufen wurde. Der letzte Beitrag (
-
-
Hat es schon jemand geschafft, per Char-Befehl auf dem Bildschirm auch Kleinbuchstaben schreiben zu lassen?
Du meinst auf dem Grafikbildschirm? POKE 4588, 216 schaltet auf Klein/Groß; POKE 4588, 208 schaltet zurück auf Groß/Grafik. Versuch mal
Man kann das Highbyte des Zeigers auch sonstwohin biegen, aber dann kommt natürlich nur Grütze heraus.
-
- Offizieller Beitrag
@obelix: es gab auch noch andere Bitte melde dich an, um diesen Link zu sehen. für C128 und C64. aber um die geht es hier halt auch nicht.
sl FXXS
-
Kann mir bitte jemand ein kleines Beispiel Programm geben wie eine Datenbank erstellt wird und etwas darin gespeichert und auseglesen wird? Ich möchte nämlich mehrere Datenbanken anlegen in denen geschrieben wird und gelsen wird. Weis leider nicht mehr wie das geht.
-
Die Anfrage ist etwas sehr vage gehalten, da wirst Du schon mehr ins Detail gehen müssen. Die Kapitel über SEQ- und REL-Dateien im Laufwerkshandbuch hast Du gelesen?
-
WEIS
Die Anfrage ist etwas sehr vage gehalten, da wirst Du schon mehr ins Detail gehen müssen. Die Kapitel über SEQ- und REL-Dateien im Laufwerkshandbuch hast Du gelesen?
Wenn ich weis wo ich gezielt bezüglich datenbanken in basic erstellen usw nachschauen soll würde ich es tun aber ich weis es leider nicht

EDIT: Laufwerkshandbuch habe ich leider nicht.
-
WEIS
Wenn ich weis wo ich gezielt bezüglich datenbanken in basic erstellen usw nachschauen soll würde ich es tun aber ich weis es leider nicht

EDIT: Laufwerkshandbuch habe ich leider nicht.
Die Aussage von Mac Bacon ist schon berechtigt. Datenbanken ist schon ein sehr weitläufiger Begriff. Das kann eine einfache Adressverwaltung sein, Karteikasten bis hin zu einer komplexen relationalen Datenbank. Jede hat ihre eigenen Programmtechniken. Einen guten Überblick über Anforderungen und Lösungsansätze gibt das Buch von Said Baloui "Datenbanken am C 64" oder so ähnlich.
Ansonsten definier erstmal deine Anforderungen, also was willst Du erreichen und Dir kann auch hier weitergeholfen werden.
-
Also das wusste ich nicht das es so umfangreich sein kann.
Also ich möchte schlicht eine Datenbank in einen Programm öffnen lassen wo eingaben des Users abgesichert werden mit Datum und Zeit und diese dann bei bedarf jederzeit abgerufen werden kann. Es sollen x beliebige eingaben sein wörter zahlen sätze egal was auch immer.
Oder eine Datenbank die einen Basic Ablauf enthählt. Wenn ich jetzt was schreibe das ich ned goto 8000 oderso tippen muss sondern auf eine Datenbank wo eben der weiter programablauf vordefiniert ist und wenn diese ausgeführt ist wieder aus der Datenbank raus und weiter macht wo aufgehört wurde. So in etwa halt.
Hoffe das ich das halbwegs gut formuliert habe.
EDIT: Möchte es nur überschaubarer gestalten. Bisher habe ich verschieden abläufe immer eingeteilt in 1000er abschnitten und da kam mir der Gedanke das könnte man statt von zeile 1000 bis 2000 auf eine Datenbank mit namen eventuell beschränken ?
-
Das ist immer noch ziemlich allgemein gehalten.

Ich skizzier mal kurz drei Möglichkeiten in aufsteigender Komplexität; vielleicht kommt Dir davon ja was bekannt vor.
Wenn man aus einem Basic-7-Programm einfach nur mal schnell ein paar Bytes speichern und später wieder laden will (z.B. eine Highscore-Tabelle oder so), wäre BSAVE/BLOAD am einfachsten. Vor dem Speichern muss man natürlich die alte Datei mit SCRATCH löschen. Um das Interface zwischen Basic-Variablen und Speicheradressen muss man sich natürlich selber kümmern; im schlimmsten Fall läuft das auf PEEK/POKE hinaus.
Die nächste Möglichkeit wären SEQ-Dateien, d.h. Öffnen einer Datei mit DOPEN#, dann Schreiben mit PRINT# und Lesen mit INPUT# oder GET#. Man kann zwar bestehende Dateien auch verlängern (mit APPEND), aber muss sich vor jedem Öffnen der Datei entscheiden, ob man lesen oder schreiben will - zwischendurch wechseln geht nicht. Außerdem kann man die Datei immer nur am Stück, d.h. komplett von ganz vorn bis ganz hinten lesen/schreiben, man kann den Schreibzeiger nicht beliebig setzen.
Die flexibelste Methode sind REL-Dateien. Hier kann man beliebig zwischen lesen und schreiben wechseln, und man kann auch den Lese/Schreibzeiger beliebig verstellen (mit RECORD); muss also nicht immer die komplette Datei bearbeiten. Dafür muss man sich allerdings beim Öffnen der Datei für eine feste Datensatzlänge entscheiden (1 bis 254 Bytes).
Es gäbe auch noch eine vierte Möglichkeit; nämlich mit Blockbefehlen direkt auf der Disk herumwursteln - aber das sollte man nur in Angriff nehmen, wenn man wirklich weiß, was man da tut.
-
Alles anzeigen
Das ist immer noch ziemlich allgemein gehalten.

Ich skizzier mal kurz drei Möglichkeiten in aufsteigender Komplexität; vielleicht kommt Dir davon ja was bekannt vor.
Wenn man aus einem Basic-7-Programm einfach nur mal schnell ein paar Bytes speichern und später wieder laden will (z.B. eine Highscore-Tabelle oder so), wäre BSAVE/BLOAD am einfachsten. Vor dem Speichern muss man natürlich die alte Datei mit SCRATCH löschen. Um das Interface zwischen Basic-Variablen und Speicheradressen muss man sich natürlich selber kümmern; im schlimmsten Fall läuft das auf PEEK/POKE hinaus.
Die nächste Möglichkeit wären SEQ-Dateien, d.h. Öffnen einer Datei mit DOPEN#, dann Schreiben mit PRINT# und Lesen mit INPUT# oder GET#. Man kann zwar bestehende Dateien auch verlängern (mit APPEND), aber muss sich vor jedem Öffnen der Datei entscheiden, ob man lesen oder schreiben will - zwischendurch wechseln geht nicht. Außerdem kann man die Datei immer nur am Stück, d.h. komplett von ganz vorn bis ganz hinten lesen/schreiben, man kann den Schreibzeiger nicht beliebig setzen.
Die flexibelste Methode sind REL-Dateien. Hier kann man beliebig zwischen lesen und schreiben wechseln, und man kann auch den Lese/Schreibzeiger beliebig verstellen (mit RECORD); muss also nicht immer die komplette Datei bearbeiten. Dafür muss man sich allerdings beim Öffnen der Datei für eine feste Datensatzlänge entscheiden (1 bis 254 Bytes).
Es gäbe auch noch eine vierte Möglichkeit; nämlich mit Blockbefehlen direkt auf der Disk herumwursteln - aber das sollte man nur in Angriff nehmen, wenn man wirklich weiß, was man da tut.
Ich kann mir so nicht viel vorstellen ich verstehe besser wenn ich dazu ein kleines beispielprogramm hätte so lerne ich zu verstehen was gemeint ist. Ween es nicht zu viel aufwand ist wäre es super mir zu jeder möglichkeit ein Beispiel zu geben bitte.
-
Beispielprogramme findest Du in den Laufwerkshandbüchern, z.B. Bitte melde dich an, um diesen Link zu sehen. (deutsches 1541-Handbuch, siehe Kapitel 6 für SEQ-Beispiel in Basic V2) und Bitte melde dich an, um diesen Link zu sehen. (englisches 1571-Handbuch, siehe Kapitel 5 für SEQ-Beispiele und Kapitel 6 für REL-Beispiele, jeweils in Basic V2 und V7).
Den Laufwerken ist die Basic-Version übrigens egal - ein Basic-V7-Programm für REL-Files arbeitet mit einer 1541 genau so gut wie mit einer 1571. Dass das 1541-Handbuch keine V7-Beispiele enthält, liegt einfach nur daran, dass es älter ist als der 128er.
EDIT: Das in Post Bitte melde dich an, um diesen Link zu sehen. verlinkte 128er-Handbuch enthält auch ein Kapitel namens "Floppy-Disk-Betrieb mit Basic" (Kapitel 6). Dieses erklärt ebenfalls die Grundschritte; und die Beschreibungen der Basic-Befehle (Seiten 4-13, 4-19, 4-24, 4-36, 4-39, 4-47, 4-52, 4-96, 4-112, 5-6, 5-22, 5-29, 5-42, 5-47, 5-62) sind ebenfalls hilfreich.
-
Leider kann ich nicht so gut Englisch das ich das Englische Handbuch verstehe. Hmmm. Ich werde es erst mal komplett in deutsch übersetzen lkassen müssen was sehr aufwendig ist und aufhaltet.
-
schau doch einfach mal auf der Bitte melde dich an, um diesen Link zu sehen. vom doc vorbei. unter der rubrik buecher/commodore8bit/c128 findest du einiges an buchmaterial
-
Mir fällt noch eine weitere Möglichkeit ein.
Das die Datenbank erstellende (oder anzeigende) Programm generiert Programmzeilen -mit den Daten drin- die es an sich selber anhängt. Danach speichert es sich in der geänderten Fassung selbst wieder ab, entweder unter geändertem Versionsnamen, oder unter dem gleichen Namen, um Speicherplatz auf der Disk zu sparen.
Vorteil: du hast immer nur ein Programm, das nichts nachladen muss, und in dem du die Daten auch per LIST im Klartext lesen und einfach editieren kannst.
Nachteil: ist eine ziemlich 'biffige' Lösung. Wenn du nicht in Kommentarzeilen gut erklärst, was genau da geschieht, wird niemand schlau draus, einschliesslich dir selber, nach nur ein paar Tagen. Das alte Grundproblem, das BASIC eben hat.
Weiterer Nachteil: Daten in BASIC-Zeilen sind keine sehr effiziente Methode, mit Speicherplatz umzugehen. Fällt aber erst ins Gewicht, wenn es um größere Datenmengen geht, die im Klartext nicht mehr in den Speicher passen.Der alles entscheidende Vorteil jedoch: Selbstmodifizierende Software => pure awesomeness.

-
Mensch - das Commodore BASIC ist ja echt beschränkt - das kenne ich aber beim Atari 8bit und auch bei den verschiedenen Interpretern am ST anders!
*indenBartmurmel* Langsam müßte er wissen, daß die verschiedenen BASIC-Interpreter der Heimcomputer-Ära viele, viele, _wirklich_ viele Unterschiede aufzuweisen hatten. Und Atari-BASIC hatte zwar unbegrenzt lange Variablennamen, konnte aber _insgesamt_ nur 256 verschiedene Namen verwalten- beim Commodore waren das 3x26x36 normale (drei Typen, Fließkomma, Ganzzahl, Zeichenkette; erstes Zeichen ein Buchstabe von a bis z, zweites ein Buchstabe oder eine Ziffer von null bis neun) und nochmal das Gleiche an Array-Variablen, plus die mit DEF FN deklarierten Funktionen- beim Atari bin ich mir grad nicht sicher ob die extra zählten. Und Atari-BASIC hat beim Speichern eines Programmes unnützes Zeug mit auf die Disk geschrieben, sodaß nach mehrmaligem Speichern (und wieder Einladen) das Programm unvermittelt abstürzte.
-
Suche eine Liste im Web in Deutsch mit allen Codes und funktionsbeschreibung dazu. Im Bedienungshandbuch S4-6 findet man leider nur einige nicht alle. Möchte zB Schrift invers schalten oder von Invers zu normal usw. aber finde es nicht auf anhieb.
EDIT:
Habs schon rausgefunden durch Probieren. Ist ohne Codeingabe sogar möglich.
-
Findet sich in der c64-Wiki, auf die Du selbst schon mal in deiner Signatur verlinkt hattest. Einge Google-Suche führte mich im ersten Anlauf auf die Seite. Also, go for it und Google Dir den link.
-
Suche eine Liste im Web in Deutsch mit allen Codes und funktionsbeschreibung dazu. Im Bedienungshandbuch S4-6 findet man leider nur einige nicht alle.
Seite 4-6 enthält nur die Codes, die beim 128er hinzugekommen sind. Eine komplette Liste befindet sich in Anhang A.
-
- Offizieller Beitrag
Bitte melde dich an, um diesen Link zu sehen.
sl FXXS
-
-