Diskussion:PureBasic

Aus Wikibooks
Zur Navigation springen Zur Suche springen

Namensänderung[Bearbeiten]

Der Artikel müsste PureBasic heißen, vorher hieß er Purebasic. Ich habe die alte Diskussion hierher kopiert.

--Karsten 19:25, 12. Mär. 2011 (CET)

Warum ?[Bearbeiten]

Ich möchte ein Purebasic-Programmierkurs für Einsteiger und (Fortgeschrittene) hier schreiben, weil es sowas in der Art noch nicht gibt und weil PureBasic noch relativ unbekannt ist.

Danke

Möchtes du das so lassen oder soll ich dieses Tutorial noch um ein paar Dinge erweitern (Win-API, Datei-Befehle, ...)? Oder soll man lieber ein neues Buch anlegen? Soll die Befehlsreferenz alphabetisch oder logisch gegliedert sein?

Array Beispiel[Bearbeiten]

Da ich nicht wirklich Ahnung habe möchte ich den Artikel nicht verändern aber beim Beispiel zu den Arrays bin ich der Meinung, daß dort ein Fehler vorliegt:

Structure test
Name.s[10]
EndStructure
erste.test
erste\Name[0] = "test"
erste\Name[9] = "testing"

Debug test\Name[0]
Debug test\Name[9]

Mit den beiden Debugger-Befehlen am Schluss sollen die Inhalte des Arrays ausgegeben werden, allerdings bekomme ich bei dem Beispiel eine Fehlermeldung.
Ich denke es sollte eher
Debug erste\Name[0]
Debug erste\Name[9]
heißen.

Array[Bearbeiten]

ja das mit dem Array Beispiel seh ich auch so..ist falsch...ich hab es mal korrigiert!

wie währs mit DirectX?[Bearbeiten]

irgendwie währs doch wichtig, dass der lernende ab und zu mal was zu sehen kriegt. kommt noch was dazu, zu dem tutorial? (wenn ich mich zum selberwasschreiben bewege wird es oft kurz darauf wieder gelöscht, mit begründungen wie. "hehe".

ich hab damals zumindest immer vor augen gehabt, mal ein spiel zu programmieren, und deswegen kam ein tutorial über "openscreen()" und so nur zu gute ( in dem zusammenhang fehlt auch ein einheitliches OpenGL tutorial.. (kanns ja selber kaum.) )

-mfg, draufgeher.

Gute idee. Man könnte das Buch immerwieder durch einschübe zur Praktischen Anwendung der neu erlernten Fähigkeiten ergänzen. Ich werde mal schauen ob ich da was machen kann

Gruß JonRe


LinkedLists[Bearbeiten]

>>>> Linked Lists[5] sind, ähnlich den Arrays, Listen um mehrere Elemente des gleichen Datentyps zu verwalten. Allerdings wird, im Gegensatz zu den Arrays, die Größe der Linked Lists von Purebasic dynamisch verwaltet und je nach Bedarf automatisch angepasst<<<<<

Die Erklärung ist missverständlich. Denn LinkedLists haben mit Arrays nichts gemeinsam ausser dass die Typenassoziation einer Liste statisch ist. Während Arrays Datenketten innerhalb eines Speicherblockes darstellen, bestehen LinkedLists aus einzelnen Datenblöcken je Dateneintrag welche lose sind und nur jeweils auf ihre linken und rechten Nachbarn zeigen.

MfG

Hroudtwolf

Pointer[Bearbeiten]

>>>>>Dieser Code weist in der ersten Zeile der Variable a den Wert 20 zu und in der zweiten Zeile bekommt die Variable pointer den Pointer (die Speicheradresse) von a mittels dem "@"-Zeichen. In den letzten zwei Zeilen wird die Variable a und die Speicheradresse von a, gespeichert in pointer, ausgegeben. Das "*" am Anfang der Variable pointer wird nicht zwingen benötigt, dient aber der Übersicht und wird es einfacher gestalten Programme für 64 Bit zu programmieren.<<<<<

Das ist so nicht richtig. Der Stern vor dem Identifiert "IST" zwingend erforderlich, denn er gehört bei Pointern fest zum Identifier und ist keine freiwillige Notation. Das "@" Zeichen kann als Referenz-Operator angesehen werden. Der Pointer kann auch keinen Pointer erhalten wie da beschrieben. Der Pointer erhält eine Adresse auf die er zeigen soll.

MfG

Hroudtwolf

Variablen[Bearbeiten]

>>>>Variablen können allgemein zum Steuern des gesamten Programms verwendet werden. Grundsätzlich gilt, dass in PureBasic alle nummerischen Variablentypen signed sind, das heißt, dass sie ein Vorzeichen haben!<<<<

Dass die Typen in PB signed sind verpasst dem Inhalt der Variablen noch kein Vorzeichen. "signed" heisst in dem Fall dass sie ein Vorzeichen haben können.

MfG

Hroudtwolf

Structures[Bearbeiten]

>>>>Structures (zu Deutsch Strukturen) muss man sich als Aufbewahrungort für mehrere Variablen vorstellen, die irgendetwas miteinander zu tun haben, z.B. die Daten einer Person. Man nutzt Structures also zum Speichern mehrerer Variablen unter einem gemeinsamen Namen:<<<<

In Structures wird nichts aufbewahrt. Und schon gar keine Variablen. Structures sind im Prinzip Offset-Masken die dem Compiler dazu dienen innerhalb eines Datenblockes dem Programm bestimmte vordefinierte Datenfelder zugänglich zu machen. Im kompilierten Programm selbst existieren die Structures nicht mehr. Innerhalb des kompilierten Programmes werden lediglich Offsetwerte auf Adressen von Datenblöcken angewand. Daher haben Structures nichts mit Variablen gemeinsam. Auch nicht ihre Datenfelder.

MfG

Hroudtwolf

Assembler[Bearbeiten]

Dieser Satz macht nicht den geringsten Sinn und sollte komplett ausgetauscht werden: "Mit einigen Befehlsbibliotheken kann man ASM(gesprochen: Assembler)-Code direkt eingeben und den Code weiter optimieren lassen (überspringen von nicht benötigten Befehlen)."

Was will uns der Autor damit sagen? Das PureBasic inline Assembler unterstützt? In jedem Fall hat das nichts mit Befehlsbibliotheken zutun, noch optimiert der Compiler eingefügten Assemblercode.

Struktur & GUI[Bearbeiten]

Hi,

an sich wurde hier ja schon viel getan. Jedoch ist mir aufgefallen, dass dieses Buch eher die Struktur eines ARtikels hat. Ich denke, dass man das Buch wie die anderen Bücher hier in Kapitel organisieren sollte. Leider bin ich erst neu hier, deshalb weiß ich selber (noch) nicht wie das geht. Vielleicht kann das ja jmd. anderes machen.

Außerdem würde ich ein Kapitel über GUIs dazusteuern. Da kann ich selber auch viel wissen mit einbringen.

--Raymontag 13:06, 12. Mär. 2011 (CET)

Als erste Einführung siehe Hilfe:Buch in Kapitel untergliedern. Vielleicht hilft dir das zum Anfang. -- Jürgen 13:38, 12. Mär. 2011 (CET)

Übernahme der Hauptautorenschaft[Bearbeiten]

Hi,

da dieses Buch offensichtlich verwaist ist und einer starken Überarbeitung bedarf, werde ich mich der Hauptautorenschaft annehmen. Ich verfüge über einige Erfahrung was Programmierung allgemein angeht und zur Programmiersprache PureBasic.

--Karsten 18:28, 12. Mär. 2011 (CET)

Allgemein freigegeben[Bearbeiten]

Ich habe das Buch allgemein freigegeben, also die Absprache-Vorlage aus dem Inhaltsverzeichnis entfernt. Ich werde natürlich auch weiter am Buch arbeiten. Es fehlen immer noch ein paar Aufgaben. Sobald diese hinzugefügt sind, werde ich mich um eine PDF- und eine druckbare Version bemühen. --Karsten 14:54, 23. Mär. 2011 (CET)

Druckversionen[Bearbeiten]

Ich habe eine Druckversionsseite eingerichtet. Ich arbeite gerade daran eine PDF-Version mit LaTeX zu erstellen, was aber noch ein bisschen dauern wird, da die bereitgestellten Skripts für mich nicht funktionierten. --Karsten 15:52, 28. Mär. 2011 (CEST)

PDF-Version nun mit LaTeX gesetzt --Karsten 00:49, 29. Mär. 2011 (CEST)

Ich habe gerade mal mein Programm ausprobiert, das lief durch und das Ergebnis sah auch Ok aus: [1]. Wäre natürlich jetzt interessant heraus zu finden warum es bei dir nicht lief.Dirk Huenniger 09:45, 29. Mär. 2011 (CEST)

Sorry, den Punkt habe ich auf der Seite mit den PDF-Anleitungen wohl übersehen.Ich probiere es gleich mal aus. Ich hatte nur das Bash- und das Perl-Skript ausprobiert und in einem Setz-Marathon die aktuelle PDF erzeugt. --Karsten 09:58, 29. Mär. 2011 (CEST)
Also das Ergebnis sieht ganz gut aus. Gibt es irgendeine Möglichkeit, die erzeugte LaTeX-Datei zu erhalten, um noch ein paar Änderungen vorzunehmen?
Und noch als Anmerkung: Die Installationsanleitung ist nicht mehr richtig. Es fehlt das Paket haskell-http-dev, sonst kann man die Haskell-Dateien nicht kompilieren. Außerdem wäre es schön, falls du Zeit dafür findest, SSL-Support einzubauen. Ich z.B. nutze als Add-On HTTPS-Everywhere und das Programm konnte mit der URL nicht wirklich was anfangen. Hat ein bisschen gedauert diesen Fehler zu finden. --Karsten 10:48, 29. Mär. 2011 (CEST)
Also ich habe es gerade mal hochgeladen. Du musst auf alle Fälle #13 durch newline ersetzen. Es sein denn zu ziehst die aktuelle Version aus dem SVN, aber machst du wahrscheinlich eh. Der Latex codes liegt in wb2pdf/trunk/src2/main.tex. SSL Support finde ich im Moment nicht wichtig. Kannst du aber gerne selber einbauen wenn du willst.Dirk Huenniger 10:55, 29. Mär. 2011 (CEST)


Wenn ich selber die Zeit finde ;) --Karsten 10:59, 29. Mär. 2011 (CEST)

Pause vorbei[Bearbeiten]

So, nach längerer Pause werde ich mich wieder diesem Buch widmen; es soll ja keiner denken, dass ich nicht weitermache und das Buch brachliegt. ;)

Ich möchte das Buch langsam für mich persönlich zum Abschluss bringen, mit einer vernünftigen PDF-Version, Eintrag in der Nationalbibliothek etc. Danach geht's zum nächsten Projekt. Was ich aktuell zu diesem Buch plane könnt ihr auf meinerSeite nachlesen.

Keine Weiterführung des Projekts[Bearbeiten]

Hallo,

da ich momentan meine Zeit arg begrenzt ist und ich auch nicht wirklich mehr Interesse an PB habe, werde ich dieses Buch abgeben bzw. mich als Hauptautor eintragen. Ich hoffe trotz allem, dass es weiter geführt wird, es steckt schließlich schon viel Arbeit drin.

Hier ist noch meine ToDo-Liste:

--Karsten 12:47, 30. Nov. 2011 (CET)