Global Procedure Include
Re: Global Procedure Include
Also ich halte eine "große" Include mit "all möglichen" Prozeduren für sehr unpracktisch.
Was jeder selbst in seinen Projekten macht, ist mir relativ egal, aber aus eigener Erfahrung weißt ich, dass ein "general.pbi" sehr unhandlich ist. Zum einen würde das Include sehr groß werden und zum anderen brauch man auf der anderen Seite immer weniger Anteil aus dem Include.
Das PureBasic-Forum bietet eine Code-Ecke an, in dem sehr viele Codes bereits gepostet wurden, die man auch über die Suche finden kann. Klar ist die Kompatibilität mit der neusten PB Version gerade bei alten Codes nicht immer gegeben, aber das wäre es ja auch nicht bei einem riesen Include.
Für Einzelfunktionen kannst Du/man selbst nun Code-Bausteine in der IDE zusammensammeln, die du mit einem Klick in dein Code einfügen kannst. Für Funktionsgruppen bietet sich ein eigenes Include zur Thematik an, die teilweise auch vollständig im Forum zu finden sind.
Allerdings möchte ich mich deiner Idee nicht in den Weg stellen, von daher kannst du von deiner Seite ruhig anfangen ein General.pbi zu erstellen, und wer mag, kann dran teilnehmen. Ich für meinen Teil habe aber bereits alle Prozeduren (die ich teilen möchte) bereits hier im Forum veröffentlicht, und werde es nicht in diesem Thread erneut machen.
Was jeder selbst in seinen Projekten macht, ist mir relativ egal, aber aus eigener Erfahrung weißt ich, dass ein "general.pbi" sehr unhandlich ist. Zum einen würde das Include sehr groß werden und zum anderen brauch man auf der anderen Seite immer weniger Anteil aus dem Include.
Das PureBasic-Forum bietet eine Code-Ecke an, in dem sehr viele Codes bereits gepostet wurden, die man auch über die Suche finden kann. Klar ist die Kompatibilität mit der neusten PB Version gerade bei alten Codes nicht immer gegeben, aber das wäre es ja auch nicht bei einem riesen Include.
Für Einzelfunktionen kannst Du/man selbst nun Code-Bausteine in der IDE zusammensammeln, die du mit einem Klick in dein Code einfügen kannst. Für Funktionsgruppen bietet sich ein eigenes Include zur Thematik an, die teilweise auch vollständig im Forum zu finden sind.
Allerdings möchte ich mich deiner Idee nicht in den Weg stellen, von daher kannst du von deiner Seite ruhig anfangen ein General.pbi zu erstellen, und wer mag, kann dran teilnehmen. Ich für meinen Teil habe aber bereits alle Prozeduren (die ich teilen möchte) bereits hier im Forum veröffentlicht, und werde es nicht in diesem Thread erneut machen.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: Global Procedure Include
Dann lieber wie von "RSBasic" sein WinAPI für PB Funktionen.
http://www.rsbasic.de/winapi-library/
Statt alles in einer riesigen PBI mit zu schleppen, lieber die Sachen die man nötigt aus Library raus suchen.
Eine Modul-Sammlung haben wir ja auch schon.
http://www.rsbasic.de/winapi-library/
Statt alles in einer riesigen PBI mit zu schleppen, lieber die Sachen die man nötigt aus Library raus suchen.
Eine Modul-Sammlung haben wir ja auch schon.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Re: Global Procedure Include
Ich meine irgendwo gelesen zu haben das PB automatisch nur alles rausschmeisst was nicht benutzt wird und wird nicht mitkompiliert. Oder is das nur ein Mythos???STARGÅTE hat geschrieben:Zum einen würde das Include sehr groß werden und zum anderen brauch man auf der anderen Seite immer weniger Anteil aus dem Include.
Re: Global Procedure Include
Trotzdem muss die gesamte Include vom Compiler geparst werden.
Re: Global Procedure Include
Und?? Dauert eine halbe Sekunde länger! 

- 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
Re: Global Procedure Include
Naja, das Funktioniert aber nicht so gut, wie es könnte. Jeder Verweis innerhalb der Procedure wird als Abhängigkeit erkanntNeoChris hat geschrieben:Ich meine irgendwo gelesen zu haben das PB automatisch nur alles rausschmeisst was nicht benutzt wird und wird nicht mitkompiliert. Oder is das nur ein Mythos???
und wird mitkompiliert, also fast alles! Es gibt kaum Proceduren ohne Abhängigkeiten, und alles mit Abhängigkeit wird mit-
kompiliert, egal ob genutzt oder nicht. Nicht so einfach zu verstehen, aber Tatsache ist, es wird fast alles mitkompiliert!
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: Global Procedure Include
Also ich würde nicht drauf wetten. Früher hatte ich mir ein Programm geschrieben, das genau das macht. Die Programme waren danach doch deutlich kleiner. Was aber der Fall ist: Wenn du keine Sprites brauchst, dann wird die Sprite-Bibliothek nicht mitgelinkt.NeoChris hat geschrieben:Ich meine irgendwo gelesen zu haben das PB automatisch nur alles rausschmeisst was nicht benutzt wird und wird nicht mitkompiliert. Oder is das nur ein Mythos???STARGÅTE hat geschrieben:Zum einen würde das Include sehr groß werden und zum anderen brauch man auf der anderen Seite immer weniger Anteil aus dem Include.
Ich persönlich denke auch, dass es sinnvoller ist, einzelne Codebeispiele auf der Festplatte zu lagern und mit "XINCLUDEFILE" einzufügen. Bei Thematisch zusammenpassenden Befehle macht es auch sinn, sie in einer Datei zu packen. Aber alle möglichen Sachen? Das würde in ungünstigsten Fall nur dazu führen, das alle PB-Bibliotheken komplett eingefügt werden, obwohl man sie eigentlich nicht braucht.
Wenn man will kann man sich ja eine "general.pbi" schreiben, die pauschal sämtliche gesammelten Codes link und das für die Entwicklung nutzen. Spätestens wenn man es veröffentlicht, sollte man dann aber nur noch die Bausteine einfügen, die man wirklich braucht.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Re: Global Procedure Include
Was ist eigentlich aus PBOSL geworden? Ich habe sie zwar nie benutzt, aber wenn ich mich nicht täusche, ging das in Richtung universelle Bibliothekssammlung. Warum nicht einfach die PBOSL wieder ins Leben rufen?
Re: Global Procedure Include
PBOSL war auch mein erster Gedanke...
Aber wie das halt so mit "gemeinnützigen" Projekten ist... Sie müssen gepflegt werden! Am Anfang ist noch jeder Feuer und Flamme,
was dann in kurzer Zeit wieder gelöscht wird. Dann hat man keine Lust mehr und das ganze schläft ein.
PBOSL war meiner Meinung nach ein gutes Projekt. Das wieder zu beleben war ja schon öfter mal Gegenstand einiger Posts hier im Forum.
Allerdings ist die Sache mit den User-Libraries "out"... Module sind "in". Codesammlungen in dieser Form wären um einiges hilfreicher.
Hier im Forum hatte Thorsten1867 schon einen Thread gestartet zum Thema Modulsammlung.
Der Thread ist angepinnt (Dank an den ausführenden Moderator). Dort kann man das ganze in dem Stil weiterführen.
Das ganze als "externe" oder "Offline" Version a'la WinAPI-Library von RSBasic oder ähnlich, wäre natürlich auch toll. Aber sowas muss ja halt
wieder bereitgestellt, gewartet, und auch bezahlt werden (Webspace kostet mitunter was
)
Es gibt auch noch andere solch ambitionierter Projekte. z.B. Purebasic Street
aber wie gesagt... es sieht so aus als würde dieses das gleiche Schicksal wie PureArea.net erleiden.
PureArea.Net ist leider aus Zeitmangel veraltet, aber es finden sich immer noch Codes dort, die als Referenz herhalten können (um dann zu
der aktuellen PB Version konvertiert zu werden)
Selbst dieses Rad muss also nicht neu erfunden werden
Aber wie das halt so mit "gemeinnützigen" Projekten ist... Sie müssen gepflegt werden! Am Anfang ist noch jeder Feuer und Flamme,
was dann in kurzer Zeit wieder gelöscht wird. Dann hat man keine Lust mehr und das ganze schläft ein.
PBOSL war meiner Meinung nach ein gutes Projekt. Das wieder zu beleben war ja schon öfter mal Gegenstand einiger Posts hier im Forum.
Allerdings ist die Sache mit den User-Libraries "out"... Module sind "in". Codesammlungen in dieser Form wären um einiges hilfreicher.
Hier im Forum hatte Thorsten1867 schon einen Thread gestartet zum Thema Modulsammlung.
Der Thread ist angepinnt (Dank an den ausführenden Moderator). Dort kann man das ganze in dem Stil weiterführen.
Das ganze als "externe" oder "Offline" Version a'la WinAPI-Library von RSBasic oder ähnlich, wäre natürlich auch toll. Aber sowas muss ja halt
wieder bereitgestellt, gewartet, und auch bezahlt werden (Webspace kostet mitunter was

Es gibt auch noch andere solch ambitionierter Projekte. z.B. Purebasic Street
aber wie gesagt... es sieht so aus als würde dieses das gleiche Schicksal wie PureArea.net erleiden.
PureArea.Net ist leider aus Zeitmangel veraltet, aber es finden sich immer noch Codes dort, die als Referenz herhalten können (um dann zu
der aktuellen PB Version konvertiert zu werden)
Selbst dieses Rad muss also nicht neu erfunden werden

PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom
- TroaX
- Beiträge: 684
- Registriert: 08.03.2013 14:27
- Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
- Wohnort: NRW
- Kontaktdaten:
Re: Global Procedure Include
Als zusammenhängende Include würde ich es auch nicht unbedingt machen. Und außerdem sehe ich es schon kommen, das der Code bei den Proceduren nachher auch die Dokumentation ist. Dann darf man in der Datei sich dumm und dämlich suchen. Mir würde das dann so keinen Spaß machen.
Auch die Qualitative Prüfung ist schwer zu händeln. Wenn man so etwas als Gruppenprojekt wirklich ernst nehmen will, muss man dafür erst einmal eine Plattform entwickeln, die nach Möglichkeit die Prüfung der Qualität aufzwingt, damit sich die Nutzer drauf verlassen können.
Dank FastCGI und einem flotten NGINX kann man das ja auch mit PureBasic machen
Aber mal im ernst. Ich würde die Codebausteine zum Browsen auf einer Website zur Verfügung stellen. Am besten in 2 Spalten. Links der Code und Rechts eine kurze Doku. Fehler müssten unter den Beiträgen gemeldet werden können. Im Backend wird dann die Nummer jeder neuen PB-Version der LTS und den Zwischenversionen eingetragen. Ist eine neue Version drin, werden 4 Wochen nach Eintragung die Codes als Deprecated gekennzeichnet (Bei LTS generell und bei den Zwischenversionen nur für die Zwischenversion, aber nicht für die LTS), wenn dazwischen entweder keine Änderungen vorgenommen oder in dem Zeitraum niemand bestätigt hat, das der Code funktioniert. Man könnte es auch dann so machen, das alle 4 oder 8 Wochen automatisch ein neuer Offline-Build erzeugt wird.
Klar ist auch dieses Vorgehen keine 100%ige Sicherheit auf Qualität. Aber man kann zumindest sehen, in wie weit sich die Leute drum kümmern und kann dann zur Not die Verantwortung für wichtige Bausteine weitergeben.
Auch die Qualitative Prüfung ist schwer zu händeln. Wenn man so etwas als Gruppenprojekt wirklich ernst nehmen will, muss man dafür erst einmal eine Plattform entwickeln, die nach Möglichkeit die Prüfung der Qualität aufzwingt, damit sich die Nutzer drauf verlassen können.
Dank FastCGI und einem flotten NGINX kann man das ja auch mit PureBasic machen

Aber mal im ernst. Ich würde die Codebausteine zum Browsen auf einer Website zur Verfügung stellen. Am besten in 2 Spalten. Links der Code und Rechts eine kurze Doku. Fehler müssten unter den Beiträgen gemeldet werden können. Im Backend wird dann die Nummer jeder neuen PB-Version der LTS und den Zwischenversionen eingetragen. Ist eine neue Version drin, werden 4 Wochen nach Eintragung die Codes als Deprecated gekennzeichnet (Bei LTS generell und bei den Zwischenversionen nur für die Zwischenversion, aber nicht für die LTS), wenn dazwischen entweder keine Änderungen vorgenommen oder in dem Zeitraum niemand bestätigt hat, das der Code funktioniert. Man könnte es auch dann so machen, das alle 4 oder 8 Wochen automatisch ein neuer Offline-Build erzeugt wird.
Klar ist auch dieses Vorgehen keine 100%ige Sicherheit auf Qualität. Aber man kann zumindest sehen, in wie weit sich die Leute drum kümmern und kann dann zur Not die Verantwortung für wichtige Bausteine weitergeben.
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node