Hallo Bernd, ich habe ein paar Fragen zu den "magic numbers" die du in fileio.c verwendest.
Das liest sich immer einfach, aber woher bekomme ich sie?
- die Größe des Buffers. Du wählst 100, die längste Zeile ist 86. Man könnte auch 255 verwenden. Aber was ist mit Buffer von 20? Wie kann ich in Etappen einlesen wenn mein Puffer kleiner ist als eine ganze Zeile?
- Die Größe der t_line objekte. Für den Staat reservierst du 60, für die Stadt 50, sind zusammen 110, mehr als jede Zeile.
Das sind für die Programmierung wichtige Werte aber woher bekomme ich die?
Die Suche ergab 130 Treffer
- 07.04.2023, 09:43
- Forum: Programmierung
- Thema: Fragen und Antworten zum C-Kurs
- Antworten: 108
- Zugriffe: 35709
- 26.03.2023, 22:57
- Forum: Programmierung
- Thema: Fragen und Antworten zum C-Kurs
- Antworten: 108
- Zugriffe: 35709
- 26.03.2023, 15:44
- Forum: Programmierung
- Thema: Fragen und Antworten zum C-Kurs
- Antworten: 108
- Zugriffe: 35709
Re: Fragen und Antworten zum C-Kurs
Vielen Dank Bernd,
mein cLS() funktioniert jetzt.
Hast du eine Idee warum der Fehler nicht gemeldet wurde?
es wurde ja einfach nicht ausgeführt
und F3TEST konnte ich zwar mit deinem zcc Aufruf erzeugen und starten,
es zeigt auch einen Bildschirm an, nimmt aber keine Tasten an.
Soll das so sein?
Schönen Rest-Sonntag wünsche ich.
mein cLS() funktioniert jetzt.
Hast du eine Idee warum der Fehler nicht gemeldet wurde?
es wurde ja einfach nicht ausgeführt
und F3TEST konnte ich zwar mit deinem zcc Aufruf erzeugen und starten,
es zeigt auch einen Bildschirm an, nimmt aber keine Tasten an.
Soll das so sein?
Schönen Rest-Sonntag wünsche ich.
- 25.03.2023, 12:17
- Forum: Programmierung
- Thema: Fragen und Antworten zum C-Kurs
- Antworten: 108
- Zugriffe: 35709
Re: Fragen und Antworten zum C-Kurs
Das Manual habe ich nicht gefunden aber dies hier: https://en.wikipedia.org/wiki/Amstrad_C ... racter_set
- 25.03.2023, 11:33
- Forum: Programmierung
- Thema: Fragen und Antworten zum C-Kurs
- Antworten: 108
- Zugriffe: 35709
Re: Fragen und Antworten zum C-Kurs
Ein eigenes Projekt wäre übertrieben,
ich möchte einfach ein paar Sachen ausprobieren zum üben.
Bitte verrate noch wie ich die ganzen Form3 Sachen übersetzen kann.
zcc +cpm -subtype=pcw80 -lndos -create-app forms3tst.c -o forms3tst.com
hat nicht funktioniert
forms3tst.c:83:15: fatal error: Too few arguments to call to function 'initForms'
Compilation aborted
Davon abgesehen hatte ich das CLS schon versucht. Dazu fand ich ein funktionierendes Beispiel:
Übersetzt mit zcc +cpm -subtype=pcw80 -lndos -create-app screen.c -o screen.com
Ich habe dann versucht das selber umzusetzen:
Übersetzt mit zcc +cpm -subtype=pcw80 -lndos -create-app PrintAT.c -o PrintAT.com
Das funktioniert nicht.
es macht zwar HOME, aber der Bildschirm ist nicht leer.
Ich habe dann versucht die Printf vorher und hinterher hinzuzufügen.
Die werden aber auch nicht ausgegeben
ich möchte einfach ein paar Sachen ausprobieren zum üben.
Bitte verrate noch wie ich die ganzen Form3 Sachen übersetzen kann.
zcc +cpm -subtype=pcw80 -lndos -create-app forms3tst.c -o forms3tst.com
hat nicht funktioniert
forms3tst.c:83:15: fatal error: Too few arguments to call to function 'initForms'
Compilation aborted
Davon abgesehen hatte ich das CLS schon versucht. Dazu fand ich ein funktionierendes Beispiel:
Code: Alles auswählen
/*
* Test the Native Console of the Amstrad PCW
*
* 23/3/2021 RobertK (based on ansivt52.c by Stefano)
*
Manual Index:
https://www.manualslib.com/manual/1002846/Amstrad-Pcw8256.html?page=170#manual
Character Set:
https://www.manualslib.com/manual/1002846/Amstrad-Pcw8256.html?page=283#manual
Terminal codes:
https://www.manualslib.com/manual/1002846/Amstrad-Pcw8256.html?page=308#manual
*/
#include <stdio.h>
void main()
{
int x;
printf("Before CLS\n");
printf("\x1b\x45"); // ESC E -> Clear screen
printf("\x1b\x48"); // ESC H -> Home
printf("If this is the first thing you can read, CLS is OK.\n");
/* Draw an X */
for (x = 0; x < 11; x++) {
// ESC Y r c -> gotoxy
printf("\x1b\x59%c%c*",32 + 10 + x, 32 + 20 + x);
printf("\x1b\x59%c%c*",32 + 20 - x, 32 + 20 + x);
}
}
Ich habe dann versucht das selber umzusetzen:
Code: Alles auswählen
#include <stdio.h>
void gotoXY(unsigned int x, unsigned int y) {
putchar(27); // ESC
putchar('Y'); // cursor to position
putchar(y + 32); // row + 32
putchar(x + 32); // column + 32
}
void cLS() {
printf("Before CLS\n");
printf("\x1b\x45"); // ESC E -> Clear screen
printf("\x1b\x48"); // ESC H -> Home
printf("Test\n");
/* putchar(27); // ESC
putchar(69); // cls
putchar(27); // ESC
putchar(72); // home
*/
}
int main(void) {
cLS;
putchar('A'); // oder printf("%s", "O");
gotoXY(1,1);
putchar('B'); // oder printf("%s", "O");
gotoXY(2, 2);
putchar('C'); // oder printf("%s", "O");
gotoXY(14, 14);
putchar('O'); // oder printf("%s", "O");
gotoXY(80, 26);
putchar('Z'); // oder printf("%s", "O");
}
Das funktioniert nicht.
es macht zwar HOME, aber der Bildschirm ist nicht leer.
Ich habe dann versucht die Printf vorher und hinterher hinzuzufügen.
Die werden aber auch nicht ausgegeben
- 25.03.2023, 08:45
- Forum: Programmierung
- Thema: Fragen und Antworten zum C-Kurs
- Antworten: 108
- Zugriffe: 35709
Re: Fragen und Antworten zum C-Kurs
Danke noch für das gotoXY.
Auch das funktioniert erwartungsgemäß.
Jetzt werde ich gierig. Ein CLS wäre dabei noch sehr praktisch
und die Zeichen um Rahmen zu malen
Auch das funktioniert erwartungsgemäß.
Jetzt werde ich gierig. Ein CLS wäre dabei noch sehr praktisch
und die Zeichen um Rahmen zu malen
- 25.03.2023, 08:43
- Forum: Programmierung
- Thema: Fragen und Antworten zum C-Kurs
- Antworten: 108
- Zugriffe: 35709
Re: Fragen und Antworten zum C-Kurs
Das Erstellen der Datei mit den FILE Operatoren fopen/fclose hat bei mir funktioniert.
Wie immer hatte ich das auch nicht bezweifelt.
Da ich nicht weiß wie der Witz "kommt ein pferd in eine bar..." weitergeht habe ich stattdessen
"das grüne nach oben ..." geschrieben.
Leider gibt die Joyce kein ü aus.
Wie bekomme ich Umlaute und sz auf der Joyce ausgegeben?
Irgendwo hatte Bernd einen Trick verwendet der funktionierte. Ich habe ihn jetzt nicht wiedergefunden und damals nicht wirklich verstanden.
Wie immer hatte ich das auch nicht bezweifelt.
Da ich nicht weiß wie der Witz "kommt ein pferd in eine bar..." weitergeht habe ich stattdessen
"das grüne nach oben ..." geschrieben.
Leider gibt die Joyce kein ü aus.
Wie bekomme ich Umlaute und sz auf der Joyce ausgegeben?
Irgendwo hatte Bernd einen Trick verwendet der funktionierte. Ich habe ihn jetzt nicht wiedergefunden und damals nicht wirklich verstanden.
- 19.03.2023, 12:11
- Forum: Hardware
- Thema: Wir bauen einen Retro-JOYCE
- Antworten: 11
- Zugriffe: 5995
Re: Wir bauen einen Retro-JOYCE
Benötigen wir DRAMs? Wären SRAMs nicht praktischer? Ohne Refresh und ohne CAS/RAS Erzeugung?
- 19.03.2023, 08:43
- Forum: Programmierung
- Thema: Fragen und Antworten zum C-Kurs
- Antworten: 108
- Zugriffe: 35709
Re: Fragen und Antworten zum C-Kurs
Super, vielen Dank Bernd.
Das funktioniert jetzt natürlich.
Ich bin allerdings etwas verwirrt. Ich dachte wenn ich etwas "neues" hinzu nehmen möchte füge ich das mit einem include hinzu.
Auch das ich etwas vom linken explizit weglassen muss (Dateioperationen) verwirrt.
Vielleicht bin ich da etwas zu verwöhnt, ich kenne das eigentlich so das der Optimizer das selber erkennt.
zcc ist ja kein Uraltprogramm sondern eins das auf 64bit Windows läuft
Egal, ich bin wieder up to date
Das funktioniert jetzt natürlich.
Ich bin allerdings etwas verwirrt. Ich dachte wenn ich etwas "neues" hinzu nehmen möchte füge ich das mit einem include hinzu.
Auch das ich etwas vom linken explizit weglassen muss (Dateioperationen) verwirrt.
Vielleicht bin ich da etwas zu verwöhnt, ich kenne das eigentlich so das der Optimizer das selber erkennt.
zcc ist ja kein Uraltprogramm sondern eins das auf 64bit Windows läuft
Egal, ich bin wieder up to date
- 18.03.2023, 18:04
- Forum: Programmierung
- Thema: Fragen und Antworten zum C-Kurs
- Antworten: 108
- Zugriffe: 35709
Re: Fragen und Antworten zum C-Kurs
Es ist nicht so das ich gar nichts übersetzen kann.
Die vier Stringbeispiele habe ich übersetzt bekommen.
Die vier Stringbeispiele habe ich übersetzt bekommen.