Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding > Coding Tutorials
You last visited: Today at 09:13

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[TuT]Eigene Programme erstellen mit PureBasic

Discussion on [TuT]Eigene Programme erstellen mit PureBasic within the Coding Tutorials forum part of the General Coding category.

Reply
 
Old   #1
 
I ♥ 1337's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 146
Received Thanks: 16
[TuT]Eigene Programme erstellen mit PureBasic

Hallo,
hier lernst du, wie man selbst Programme mit PureBasic programmiert.

Zuerst willst du natärlich wissen, in welcher Programmiersprache sich
dieses Tutorial hier abspielt, oder irre ich mich?
Nun, hier lernst du, wie du mit PureBasic programmierst.
PureBasic (im Folgenden mit PB abgekärzt) ist eine an sich sehr gänstige,
und vor allem sehr einfache Sprache, da es ein Basic-Dialekt ist. Basic
zählt zu den einfachsten Programmiersprachen. Urspränglich wurde PB zwar nur fär Spiele konzipiert, es ist jedoch fär JEDE Art von Anwendung
verwendbar. Von dem eigenen tauschbörsenclient bis zum Webserver oder
3D-Shooter. (Angeblich) wurden sogar Teile von Restricted Area mitPB
programmiert! PB kostet in der Vollversion 59€, fär dieses Tutorial
reicht jedoch die Demoversion vollkommen aus. Die Demoversion nicht
zeitlich, sondern funktional eingeschränkt. So kann man z.B. den Debugger (eine Komponente, die dir hilft, Fehler im Quelltext / Programm zu finden), nicht abgeschaltet werden. Dies verlangsamtz die erstellten
Programme zwar beträchtlich, PB kompensiert dies jedoch dadurch, dass es eine äusserst schnelle Sprache ist. Deshalb stört es bei kleinen Programmen eigentlich nicht wirklich, dass der Debugger in das Programm
eingebunden wird. Aber genug Fachchinesisch geredet, kommen wir zur
Sache!

Zuerst einmal musst du natärlich die Demoversion von PB herunterladen.
Dies kannst du unter



erledigen.
Du kannst mit PB äbrigens auch Programme fär Linux (und sogar fär den
Amiga !) erstellen, jedoch wird die Windowsversion mit höchster Priorität
entwickelt, sodass die anderen Versionen hinterherhinken. Bei der
Linuxversion ist dieser Unterschied meist eher gering, die Amigaversion
wird jedoch wenn äberhaupt, dann nur sehr schleppend weiterentwicklet.
Man kann so theoretisch den Quellcode von einem Programm sowohl benutzen, um das Programm fär Linux als auch fär Windows zu entwickeln. Bald wird es auch eine MacOS-Version geben, erste Beta-Versionen sind inoffiziell schon verfägbar.

Wenn du nun PB installiert und gestartet hast, bist du im Codeeditor.
Hier wird der Quelltext bearbeitet. Mit demVisualDesigner kannst du
Fenster fär Anwendungen grafisch designen, ohne lange Quellcodes tippen
zu mässen. Den VisualDesigner kannst du im Menä Tools aufrufen. Wir
brauchen ihn vorerst jedoch nicht, deshalb lassen wir ihn geschlossen und
bleiben im Editor.

Mit F1 (oder im Menä Hilfe) kannst du die Befehlsreferenz zu PB aufrufen.
öfnne sie, und stöbere mal ein bisschen durch die Befehle. Du wirst
stauen! Man kann mit PB vom simplen Editor oder Audioplayer bis hin zum
kompletten 3D-Spiel eigentlich alles machen. Unter
findest du im Showcase Programme und Graficdemos, die mit PB entwickelt wurden. Meist liegt den Programmen sogar der Quellcode bei, sodass du das Programm modifizieren kannst. Ehe du die modifizierte Fassung oder Teile aus einem fremden Programm verbreitest / in eigenen Programmen benutzt, solltest du unbedingt den Autor des Programmes fragen!

Das deutsche PB-Forum findet sich unter

Ich bin dort unter dem Nick hardfalcon ebenfalls vertreten.

Also, programmieren wir nun unser erstes Programm. Dies ist traditionell
(wie in allen Programmiersprachen) ein sog. "Hello world!"-Programm. Ein
solches Programm gibt einfach die Zeichenfolge (String) "hello world!"
aus.

Hier ist der Quelltext, den du dafär im Editor eingeben musst
(Gross-/Kleinschreibung ist egal, das erledigt der Editor automatisch):


Debug "Hello world!"


Fähre den Quellcode aus, indem du F5 dräckst. Wenn du dein Programm als Exe-Datei speichern willst, musst du im Menä Compiler den Punkt "Erstelle Executable..." auswählen. Dann musst du eventluell erst noch den Quellcode und dann das EXE-Programm speichern. Um das Programm weiterzugeben, musst du nur die .exe-Datei weitergeben. Das Fenster, das nun erscheint, ist der Debugger. Wenn du auf Quit klickst, wird das Programm vom Debugger "abgeschossen". Dies ist wichtig, wenn man einen Fehler programmiert hat, durch den man sein eigenes Programm nicht mehr schliessen kann. Dies könnte z.B. eine Endlosschleife sein.
Schauen wir uns den Quellcode einmal näher an:

Debug: Dieser Befehl gibt äber den Debugger eine Meldung aus. Das kann
ein numerischer Wert (Zahl,Konstante oder Variabel) oder auch ein String,
also eine Zeichenfolge sein. Die meisten Befehle in PB werden von zwei
runden Klammern () gefolgt, in denen die Parameter angegeben werden. Wenn der Befehl keine Parameter braucht, bleiben die Klammern einfach leer. Befehle, die keine Klammern bekommen, nennt man Schlässelwörter. Sie werden im Editor FETT dargestellt.

"Hello world!": Dies ist der String, den Debug ausgibt. Ein String steht
in PB immer zwischen Anfährungszeichen. In diesen Anfährungszeichen
können beliebige Zeichen stehen. Ausser dem Zeilenumbruch und
Gänsefässchen kann man alle Zeichen einfach zwischen die Gänsefässchen schreiben.

Nun schreiben wir unser nächstes Programm. Es soll den Benutzer nach dem Namen und dem Alter fragen und diese Daten dann in einer Meldung
anzeigen. Wir wollen jedoch auf den Debugger verzichten. Wenn wir die
Vollversion benutzen, um eigene Programme zu schreiben, sollte fertige
Programme ohne Debugger-Befehle auskommen, da diese unsere Programme sonst unnötig ausbremsen.
Achtung: fäge einen zeilenumbruch (Return) nur dann ein, wenn zwischen
zwei Zeilen eine Lehrzeile hier im Beispielcode steht! der Browser bricht
den Text nämlich von sich aus ohne zu fragen um! :-(



Name$ = InputRequester("Mein erstes Programm","Bitte gib deinen Namen ein!","Hier sollst du deinen Namen reinschreiben.")

Alter$ = InputRequester("Mein erstes Programm","Bitte gib dein Alter
ein!","Hier sollst du dein Alter reinschreiben.")

Nachricht$ = "Du heißt " + Name$ + " und du bist " + Alter$ " Jahre alt."
+ Chr(10) + "Ich finde, du gehst viel zuleichtfertig mit deinen
persönlichen Daten um! ;-D"

Messagerequester("Mein erstes Programm", Nachricht$)



Schauen wir uns den Quellcode an:

Name$ Dies sind alle 3 Variablen vom typ "String", da der
Alter$ Variablenname von einem $gefolgt ist. Man könnte anstelle
Nachricht$ des $ auch ".s" dahinterschreiben.

InputRequester("String1","String2","String3") : dies ist ein
Befehl, der eine "Fehlermeldung" (ein kleines Fenster, "kleine Fenster"
werden von den PB-Benutzern meist "Requester" genannt) mit einem
Eingabefeld anzeigt. Der Befehl gibt als Resultateinen String zuräck, in
dem Steht, was der Benutzer ins Eingabefeld eingegeben hat. String1 ist
der Titel des Requesters, String 2 der Text, deräber dem Eingabefeld
angezeigt wird und String3 der vordefinierte Inhalt des Eingabefeldes.
Wenn man bei einem der Verschiedenen "textfelder"nichts angezeigt bekommen möchte, muss man einen leeren String als Parametr angeben. Ein leerer String sieht so aus:
""
Also einfach "nichts" zwischen zwei Gänsefässchen.

Nachricht$: Hier wird der Inhalt des strings nachricht feiniert. Da wir
jedoch eigenen Text mit ein paar Variablen kombinieren wollen, fägen wir
die verschiedenen Strings mit dem +Zeichen zu einem einzigen String
zusammen. Dieser wird dann in der nächsten zeile an den Befehl
MessageRequester() äbergeben. Das Chr(10) gibt einenString zuräck, der nur das Zeichen mit dem ASCII-Code Nummer 10 enthält.Dies istein Zeilenumbruch. Wir fägen mit Chr(10) also einen Zeilenumbruch in unsere Nachricht ein.

Messagerequester("String1","String2") : Dieser Befehl zeigt einfach
eine Meldung an..String1 ist der Titel, String 2 der Text der Meldung.

Wir hätten natärlich auch folgendes schreiben können:


MessageRequester("Mein erstes Programm", "Du heißt " + Name$ + " und du bist " + Alter$ " Jahre alt." + Chr(10) + "Ich finde, du gehst viel
zuleichtfertig mit deinen persönlichen Daten um! ;-D")


Ich habe dies nur nicht geschrieben, da es fär dieses Tutorial zu
unäbersichtlich ist. Diese Methode belegt jedoch weniger Ressourcen, weil
jede String-Variable 64Kilobyte RAM belegt.


Wenn du jetzt die letzte Meldung "weggeklickt" hast, dann hast du
vielleciht bemerkt, dass sich der Debugger sich automatisch geschlossen
hat. Er macht dies automatisch, solbald das Programm beendet ist, nd im
Programm keine Debug-Befehle benutzt wurden.
PB-Programme beenden sich von selbst, wenn sie fertig durchlaufen sind.
Solltest du das Programm jedoch wärend der Laufzeit beenden wollen,
kannst du das Schlässelwort


End


benutzen. Hier ein Beispiel:


Eingabe$ = InputRequester("Hier könnte deinTitel stehen!","Zum Beenden
nichts eingeben, ansonsten irgendetwas anderes eingeben!","")

If "" = Eingabe$

End

Else

MessageRequester("Ich war zu faul, um einen Titel einzugeben!",
Eingabe$)

EndIf

MessageRequester("Ende","Und Tschäss...")



Und hier wieder die Analyse der Befehle:

If: Englisch fär "Wenn". Er äberpräft, ob der angegebene Ausdruck wahr
ist, oder nicht. Wenn er wahr ist, werden die Befehle, die zwischen If
und Else stehen, ausgefährt.Andernfalls (Else) werden die Befehle
zwischen Else und EndIf ausgefährt. EndIf markiert das Ende des
If-Blockes.

Bei dem Ausdruck, den If äberpräft, solltest du die Reihenfogle der
Befehle einhalten, denn normalerweise wird mit dem =Zeichen der "Wert links" der"Variable

rechts" zugewiesen. Eigentlich sollten Ausdräcke hinter dem If nicht

"ausgefährt",sondern nur äberpräft werden. Aber man sollte trotzdem IMMER auf Nummer sicher gehen.

So, hiermit ist das Tutorial zu Ende. Bitte habt Gnade mitmir, dies ist
mein erstes Tutorial äberhaupt.

Falls ihr euch PB kaufen wollt, solltet ihr es NUR im Webshop von kaufen! Denn im Handel gibt es auch zwei Versionen von PB, die von TOPOS vertrieben werden. Diese sind im Gegensatz zum original-PB nicht updatefähig und total veraltet, auch wenn sie 20-30€ billiger sind. Eine nachträgliche Updatebrechtigung kostet euch sonst
39€! Ich profitiere IN KEINSTE WEISE davon, wenn ihr PB kauft. Ich möchte es durch dieses Forum nur populärer machen.

mfg. Ediiin
Quelle:
I ♥ 1337 is offline  
Thanks
2 Users
Old 10/16/2010, 09:52   #2
 
elite*gold: 0
Join Date: May 2010
Posts: 65
Received Thanks: 5
nice kopiert
k1llb1ll24 is offline  
Reply


Similar Threads Similar Threads
Eigene Map erstellen
03/24/2011 - Metin2 Private Server - 3 Replies
Hallihallo... Also ich wollt fragen ob jemand mir vllt den link zu nem theard oderzu nem video oder so schicken könnte,wie ich für meinen p server eine eigene map creiren kann. Derjenige bekommt natürlich thx und en bussi :D
Welche Programme nötig für eigene Map erstellen und weitere Fragen
07/27/2010 - Metin2 Private Server - 1 Replies
Hallo, Ich habe mal eine Frage und zwar wollte ich eine Map erstellen und wollte mal Fragen welche Proframme man brauch und wie man das macht. Wer schön wenn mir einer helfen würde=) Nebenbei habe ich noch ein paar Fragen: Wie kommt man zu den Sammelthreads und den anderen Kategorien. Wer echt nett wenn ihr mir helfen könntet Und wo macht man releases und howtos
Homepage erstellen mit Php ( ohne programme oder Baukasten)
07/04/2010 - Technical Support - 24 Replies
Hey Leute, wie der Titel schon sagt such ich ein TuT wie ich eine Homepage oder ein Forum (ist egal was ^^ ) erstellen kann OHNE Programme oder Baukästen. Danke für eure Hilfe :handsdown: Greez Zerovize
Programme erstellen
01/03/2010 - Metin2 - 17 Replies
hallöle zusammen wollte fragen wie man programme erstelle also womit acht ihr es?
Welche Programme sind am besten um einen bot zu erstellen ? :)
05/06/2008 - Guild Wars - 9 Replies
wer nett wenn hier das programm gepostet wird das man brauch um halt das genaue einstellen des bots zu machen.



All times are GMT +1. The time now is 09:14.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.