Seite 2 von 2

Verfasst: 17.03.2006 23:02
von fsw
Habt ihr euch denn schon das angeschaut?

http://www.purebasic.fr/english/viewtopic.php?t=19416

Seit V4 kann man die DataSection zuhilfe nehmen und der benoetigte code wird kleiner.

Verfasst: 17.03.2006 23:13
von ts-soft
Ist aber nicht das, was Leonard sucht :wink:
Vererbung, Kapselung usw., sind damit auch nicht
wirklich möglich.

Verfasst: 17.03.2006 23:17
von fsw
Das stimmt allerdings :cry:
Nur die Zuweisung der Methods wird einfacher.

Verfasst: 17.03.2006 23:23
von fsw
ts-soft hat geschrieben:Hier findest Du noch ein Beispiel, wie man den Code direkt vorm Compilieren
Parsen kann. Einfach entsprechend anpassen.
http://www.purebasic.fr/german/viewtopic.php?t=7352
Wenn Du es fertig hast, bitte Posten!
Hi,
dieses tool waere, mit modifikation, toll fuer classes zu gebrauchen.

Das bloede an oop sprachen is halt das die groesse der exe fuer kleine programme viel groesser ist als strukturierter code.

Mit deinem tool koennte man sicherlich nicht nur alle Strukturen und Interfaces an den Anfang stellen, sondern auch die erforderlichen Strukturen und Interfaces selbst zusammenstellen.

Beispiel:
eine Window Class hat viele Methods und Properties.
Sagen wir (Methods als beispiel):
GetHandle
GetTitle
GetLeft
GetRight
GetWidth
GetHeight
etc.

All diese Methods werden compiliert - ob sie benutzt werden oder nicht.

Mit einem tool wie deiner koennte man nun die Strukturen/Interfaces so zusammenstellen, dass nur das was wirklich benutzt wird eingebaut wird.
Dadurch hat man mehr kontrolle ueber die exe groesse.

Dazu muessten dann die Strukturen/Interfaces in einer speziellen PBI datei sein wo sie dann zusammengesucht und in eine frische PBI datei (speziell fuer den zu kompilierenden code) geschrieben und verarbeitet wird.

Hoffe mein deutsch ist verstaendlich genug.

Verfasst: 17.03.2006 23:30
von ts-soft
Auf jedenfall kann man den Source vorher Parsen und verändern ohne das
Original zu verändern. Lediglich der Debugger springt im Fehlerfall die falsche
Zeile an. So kann man sicherlich überflüssige Codeblöcke entfernen, aber
auch eine eigene Syntax nutzen, die es garnicht gibt. Also das Tool von
Didelphodon wäre schon mal eine Grundlage für die Syntax.

Muß sich nur einer ransetzen und das Umsetzen :wink:

Verfasst: 18.03.2006 14:05
von Leonhard
fsw hat geschrieben:Das bloede an oop sprachen is halt das die groesse der exe fuer kleine programme viel groesser ist als strukturierter code.
Stimmt.
Beispiel: Borland breucht für ein normales Window-Fenster 1,42 MB für die EXE.

Das kommt aber davon, das die alles in Assembler im Hintergrund machen und daher ist der Cod beim Codieren von OOP in C++ bei Borland rund 11800 Zeilen lang.

Verfasst: 19.03.2006 15:06
von Daniel P.
Man muss ja nicht gleich aus allem ein Objekt machen, was nicht niet- und nagelfest ist. Eine OO-Unterstützung wie sie beispielsweise in PHP5 vorhanden ist, wäre absolut ausreichend. Ich finde das PB eine schöne und vor allem eine einfach zu erlernende und umzusetzende Sprache ist. Dennoch vermisse ich die "Aufgeräumtheit" des Codes wie in PHP, wenn man alles in Klassen verpackt hat. Sicherlich könnte man die Funktionen auch in einzelene Dateien packen und diese dann einbinden, aber OOP ist viel mächtiger und ist darüber hinaus viel flexibler als prozeduraler Code. Also Fred sollte spätestens bei Version 6 darüber nachdenken, OOP in PB einzubauen - aber bitte nur so wie in PHP oder C++, wo man sich "aussuchen" kann, ob man jetzt alles in eine Klasse packt oder doch lieber prozedural arbeiten möchte. OOP, wie es beispielsweise in VB betrieben wird, ist etwas zu viel des Guten...

Verfasst: 19.03.2006 22:50
von Leonhard
Stimmt voll und ganz.

Java und VB hat das gleiche problem. Da verwendet man OOP bei allem möglichen. Um ein Cod-Scribt zu schreiben muss erst eine Classe erstellt werden, ...

Darum wollte Fred warscheinlich kein OOP einbrinden. Er glaubt wohl, das im Forum dann nur noch OOP geschrieben wird. Aber man glaubt es kaum, viele Hochsprachen benutzen OOP in geschränktem maße und sind zum Teil einer der belibtesten.

Verfasst: 20.04.2006 21:52
von Hellhound66
Ich hätte es gerne, das man dies so machen könnte:

Code: Alles auswählen

Class Window Extends WindowForm
...
Cod-Text
...
EndClass
Schau dir mal das Plugin von Edel an.

http://www.purebasic.fr/german/viewtopic.php?t=7839