Sie sind nicht angemeldet.

1

Donnerstag, 1. März 2018, 19:47

Aufrufkonvention R-Basic

Hallo,

Bin noch neu hier und habe in NewDeal den NewBasic Builder gefunden. Ich habe zwar mit Basic programmieren gelernt, vor langer Zeit mit dem ZX81. Später habe ich Pascal gelernt und bin dann bei dieser Programmiersprache geblieben. Heutige Pascal Compiler kennen hinter ihren Funktionen, Prozeduren und Methoden Schlüsselwörter für Aufrufkonventionen. (cdecl, stdcall, Pascal, ...).

Ich kenne und nutze selber Delphi und Lazarus, beides auch solche App Builder wie der NewBasic Builder.

Welche Aufrufkonvention aber benutzt die Programmiersprache Basic. Benutzen alle Basic Dialekte dann auch dieselbe Aufrufkonvention? Hier geht es ja um R-Basic, der NewBasic Builder benutzt NewBasic. Wohl ein anderer Basic Dialekt.

Wie weit sind R-Basic und NewBasic fortentwickelt worden. Gibt es Schlüsselwörter für besagte Aufrufkonverntionen, falls ich Programmodule aus fremden Programmiersprachen in mein Basic Programm einbinden will oder umgekehrt aus Pascal Basic-Teile aufrufen will.

Wie ist überhaupt das .GEO Format aufgebaut. Sind das alles Bibliotheken (statisch, dynamisch) oder ausführbare Dateien oder beides, wobei das anhand der Dateiendung nicht unterschieden wird?

Oder sind die Bibliotheken diejenigen Dateien mit der Endung .000?

Sind diese Bibliotheken statisch oder wie Windows dlls dynamisch.

Kann GEOS auf .o oder .obj Dateien zugreifen?

.o Dateien aus Freepascal haben in Linux das elf Format in DOS/Windows das COFF Format.

.obj Dateien von Borland/Inprise/Codegear/Embarcadero haben das OMF Format.

Gibt es Konvertierprogramme in die verschiedenen Binärformate. In DOS gibt es ja noch das Programm EXE2BIN. Nur hat eine so umgewandelte DAtei das Bin- nicht das .GEO Format.

Wie also kann nun weiter in das richtige Format konvertiert werden?

2

Donnerstag, 1. März 2018, 21:40

Die Dos-Dateiendungen (Geo, 000, 001,... 999) sind Schall und Rauch. Was es ist (Text, Bild, ausführbares Programm, Treiber, Bibliothek,...), steht nur in der Datei.

Eine "Aufrufkonvention" gibt es nur fürs SDK, wenn man in GOC programmiert. Programmiert man mit dem SDK in ESP oder nutzt eine der "SDK-freien" Sprachen wie IZL, NewBasic, R-Basic, dann ist das fest vorgegeben.

NewBasic wurde nie richtig fertiggestellt und liegt seit dem Ende von NewDeal brach. IZL ist auch schon seit einer Ewigkeit tot. Sprich: wenn programmieren ohne SDK, dann das geniale R-Basic.

Geos kann nur auf Geos-Libraries zugreifen.
d[ 0_O ]b

3

Freitag, 2. März 2018, 16:21

Hallo Martin,

das PC/GEOS SDK nutzt C (optimal Borland C++4.5) als Compiler. Theoretisch kannst du also obj Files von anderen Programmiersprachen einbinden. Hab ich aber noch nie gemacht und glaube auch nicht, dass das Sinn macht. Um auf die GEOS API und die Objekte zugreifen zu können gibt es spezielle Libraries und Include files, von uns i.a. kurz als "SDK" bezeichnet. Mit diesem Pakte kannst du dann in einer Art C Dialekt namens GOC (GEOS Object C) für GEOS programmieren. GOC kommt mit seinem eigenen Object-System, die C++ Objekte stehen nicht zur Verfügung. Das SDK enthält auch Tools, mit dem man die *.GEO erzeugt. Die Struktur der GEO Dateien ist komplex und man muss sie auch nicht kennen.
Sich in das SDK einzuarbeiten ist aber ein sehr hartes Stück Arbeit und nichts für den Gelegenheitsprogrammierer.

Deswegen habe ich R-BASIC geschaffen. R-BASIC reicht die wesentlichen Funktionen des SDK in einer BASIC-artigen Syntax durch. Man kann also ganz intuitiv "simples BASIC" programmieren, und trotzdem auf die GEOS Objekte, das Dateisystem, die Maus, den Drucker usw. zugreifen. Ein fertiges R-BASIC Programm ist auf den ersten Blick nicht von einem SDK-Programm zu unterscheiden, ist allerdings in einem zehntel der Zeit fertig programmiert. Schau dir einfach mal die Beispiele und Tutorials zu R-BASIC an. Wenn du schon mal ein BASIC gesehen hast fühlst du dich sofort heimisch. Du darfst sogar Zeilennummern und die Befehle GOTO und GOSUB verwenden - das ist aber weder notwendig noch empfohlen.

NewBasic geht eine ganz anderen Weg. Es ist wohl von der UI her an Delphi angelehnt, in der Handhabung aber extrem komplex und vor allem in der Syntax, den verwendeten Begriffen und den Konzepten super unhandlich. Fertige NewBasic Programme bleiben immer Dokumente, haben kein eigenes Icon usw. Deswegen gibt es auch faktisch keine ernst zu nehmenden NewBasic Programme. Der Vorteil, die UI grafisch erzeugen zu können wiegt das alles nicht auf.

IZL (Interpreteative Zoomer Language) ist keine ernst zu nehmende Option um etwas zu programmieren.


Rainer
Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

Zur Zeit sind neben Ihnen 2 Benutzer in diesem Thema unterwegs:

2 Besucher

Ähnliche Themen

Thema bewerten