Grundfunktionen in PureBasic

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Benutzeravatar
PAMKKKKK
Beiträge: 321
Registriert: 21.04.2005 22:08
Wohnort: Braunschweig
Kontaktdaten:

Beitrag von PAMKKKKK »

@Franky

Wer sich mal mit dem Aufbau eines GUI im Betriebsystem befasst hat, der ist Danilos Meinung :wink:

Da Funktionieren alle Betriebsystem ungefähr gleich.

Der Screen bildet die Wurzel, dann folgen Fenster in den Fenstern wieder Fenster oder Gadged in Gadgeds.

Das ganze ist eine Verschachtelung (Wie ein Verzeichnisbaum).

Jedes Objekt hat, damit es eindeutig ansprechbar ist, eine eindeutige Nummer.

PB setzt bloß die eigenen Nummern, in die Nummern des Betriebsystem um, denn nur über die Betriebsystem-Nummern sind die Objekte ansprechbar.

Die PB Nummer sind überflüssig, verwirrend und erhöhen den Programmtechnischen Verwaltungsaufwand.

So irre Konstrukte wie diese sind hoffentlich bald vergangenheit.

Code: Alles auswählen

Gadget_ID = GadgetID(Gadget_Nummer)
Wir Schreiben ein PureBasic Buch.
Auch du kannst mitmachen!
http://www.purearea.net/pb/english/pure ... :Main_Page
MARTIN
Beiträge: 454
Registriert: 08.09.2004 14:03
Wohnort: Kiel

Beitrag von MARTIN »

Die PB Nummer sind überflüssig, verwirrend und erhöhen den Programmtechnischen Verwaltungsaufwand.
Da gebe ich dir vollkommen recht.
Ich frage mich nur warum es so gemacht wurde ?
Das macht doch das ganze nur komlizierter.
Amilo 1667|Suse Linux 10.1_64bit/WinXP |PB 4.00/3.94
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Nur Windows:
Das oberste Fenster ist der Desktop (hWnd #NULL). Anwendungen haben ein
Fenster, das sogenannte Anwendungsfenster, darauf plaziert sind wieder
Fenster (z.B. Fenster der Klasse "Button"), sogenannte Childfenster, aber
Fenster!
Beim erstellen geben diese Fenster die Identifikationsnummer zurück, das
Händel. Aber gleichzeitig übergeben wir dem Fenster auch eine
Identifikationsnummer, das DialogItem (welches von PB verwendet wird).
Mit anderen Worten, bei Fenstern, alle Gadgets sind ein oder mehrere
Fenster, ist diese Vorgehensweise nicht Nachteilig.

Anders sieht es bei Dateien und Images aus. Da verwenden die anderen
BASIC-Dialekte jedoch auch meist keine Händel des Betriebssystems.

Für die API-Programmierung ist das Arbeiten mit den IDs
desBetriebssystemes jedoch manchmal einfacher. Aber nur aus dem
Grunde, das es keine Unterschiede zwischen "Gadget" und "GadgetID"
mehr gibt :mrgreen:

Aber im Endeffekt ist es mir egal, ob ich alle Codes abändere, wegen diesem minimalem
Vorteil. Wollte nur betonen, so grosse Vorteile bringts nicht, wie man euch weismachen will

Die neue revolutinäre Variante ist dann folgende:

Global btn1.l, btn2.l ....
btn1 = buttongadget(---

Und lauter globale Variablen, müssen dann auch noch deklariert werden.
Das System mit Konstanten für Gadgets ist wesentlich einfacher und sicherer. Einzige alternative wäre OOP

Mein Senf dazu
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
PAMKKKKK
Beiträge: 321
Registriert: 21.04.2005 22:08
Wohnort: Braunschweig
Kontaktdaten:

Beitrag von PAMKKKKK »

OOP :allright: Jepp!! Jo!!

Ohne OOP geht es nun mal nicht in einer OOP Welt :wink:

Selbst LINUX benutzt zwar grundsätzlich C (also C++ ohne OOP) als grundsprache, aber das eine Datei oder ein Knopf ein Objekt ist (mit einer eindeutigen Identifikation) daran kommt auch C oder PB nicht vorbei.

Also muss man zumindest die Schnittstellen OOP fähig machen!!
Ohne OOP wird es in Zukunft immer schwerer...
(Meine Meinung ... senf .... ketschup ... majo, pommes döner gedöns.....)
Wir Schreiben ein PureBasic Buch.
Auch du kannst mitmachen!
http://www.purearea.net/pb/english/pure ... :Main_Page
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Entweder wird das bisherige System für Gadgets beibehalten oder auf OOP
umgestellt. Nur mit hWnd statt Konstanten zu Arbeiten erfordert ja auch
lauter globale Variablen (oder eben Arrays oder Linklisten), bringt mehr
Nachteile als Vorteile. Mal abwarten ob mir PB 4.0 wirklich gefällt :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

Hm, die Gerüchte mehren sich.... :mrgreen:

Mal sehen, ob fr34k etwas näheres dazu sagen will... :wink:
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
PAMKKKKK
Beiträge: 321
Registriert: 21.04.2005 22:08
Wohnort: Braunschweig
Kontaktdaten:

Beitrag von PAMKKKKK »

Eine PB V4 Beta wäre sehr hilfreich für die Dokumentation im Wiki.... :)

Oder wenigstens eine undichte stelle im Kreise der eingeweinten , die mal die wichtigsten änderungen verät..... /:->

da fällt mit ein Liedtext ein:

All we can do, is just sit and wait....
Wir Schreiben ein PureBasic Buch.
Auch du kannst mitmachen!
http://www.purearea.net/pb/english/pure ... :Main_Page
Antworten