Was sind APIs? Wie ben. ich sie in meinem eigenen PB Editor?
- Vermilion
- Beiträge: 1846
- Registriert: 08.04.2006 16:00
- Computerausstattung: Apple iMac (2010) & HP Notebook
- Wohnort: Heidekreis
Was sind APIs? Wie ben. ich sie in meinem eigenen PB Editor?
API an sich, was heißt das?
Wie schon im Forumsbereich gepostet, werde ich vielleicht versuchen, einen eigenen PureBasic Editor zu programmieren. Dazu muss ich aber wissen, wie ich das mit den APIs mache (lesen, anwenden). Was sind die API-dinger im Ordner "Pure Libraries" eigentlich für Dateien(Typen?)? Alle meinen, die wären in PureBasic geschrieben, stimmt doch, oder?
Wie schon im Forumsbereich gepostet, werde ich vielleicht versuchen, einen eigenen PureBasic Editor zu programmieren. Dazu muss ich aber wissen, wie ich das mit den APIs mache (lesen, anwenden). Was sind die API-dinger im Ordner "Pure Libraries" eigentlich für Dateien(Typen?)? Alle meinen, die wären in PureBasic geschrieben, stimmt doch, oder?
- Hroudtwolf
- Beiträge: 1416
- Registriert: 30.10.2004 23:33
- Kontaktdaten:
Mensch, vermies dir doch nicht selber den Spass am Programmieren.
Proggen kann so schön sein wenn man ein sichtbares Ziel hat.
Versuch dich lieber Anfangs mit nahen Zielen wie z.B. kleine Tools oder Spielchen.
Ich sag dirs auf den Kopf zu...
Du wirst es nicht schaffen einen PB-Editor zu schreiben der über die Notepad-Funktionalität geht.
Das weiss ich, weil ich dein letztes Tool ausprobiert habe.
Das war echt nicht böse gemeint.
Oft braucht man jemanden der einen wieder ein bissl zurück holt.
Proggen kann so schön sein wenn man ein sichtbares Ziel hat.
Versuch dich lieber Anfangs mit nahen Zielen wie z.B. kleine Tools oder Spielchen.
Ich sag dirs auf den Kopf zu...
Du wirst es nicht schaffen einen PB-Editor zu schreiben der über die Notepad-Funktionalität geht.
Das weiss ich, weil ich dein letztes Tool ausprobiert habe.
Das war echt nicht böse gemeint.
Oft braucht man jemanden der einen wieder ein bissl zurück holt.

Ich hol mal bischen aus.
Das was du da im Ordner "PureLibraries" gefunden hast, sind größten
Teils Librarys, die von Fred programmiert wurden. Diese gehören nicht
zu den Standard APIs von Windows. Diese werden nur und auch nur mit
Purebasic mit geliefert. In den Libraries sind deverse Befehle, wie diese
für das Öffnen und Bearbeiten eines Fensters.
Im Ordner wirst du aber, wenn du weiter suchst, noch weitere Dateien
finden, die mit *.lib enden dürften. Diese Dateien braucht PB um zu
ermitteln, wo die einzelnen APIs sind, die von Windows bereit gestellt
werden. Diese Datei sagt PB, dass es z.b. die DLL blubb und blabb
braucht. PB sagt das dann dem Linker weiter und dieser schreibt es dann
in die Exe mit rein.
Windows liest dann diese Abhängigkeiten ein und versucht diese
aufzulösen. Beim Auflösen werden dann von Windows in Variablen,
die in der *.lib Datei stehen, die Pointer zu den Funktionen geschrieben.
Und dann wird beim Aufruf der API dann aus der Variable der Pointer
eingelesen und dann wird gesprungen.
Sleep_() Ist ein Beispeil für eine API von Windows
Delay() Ist ein Beispiel für eine Funktion von Fred. Diese macht aber das
gleiche wie Sleep_()
Das was du da im Ordner "PureLibraries" gefunden hast, sind größten
Teils Librarys, die von Fred programmiert wurden. Diese gehören nicht
zu den Standard APIs von Windows. Diese werden nur und auch nur mit
Purebasic mit geliefert. In den Libraries sind deverse Befehle, wie diese
für das Öffnen und Bearbeiten eines Fensters.
Im Ordner wirst du aber, wenn du weiter suchst, noch weitere Dateien
finden, die mit *.lib enden dürften. Diese Dateien braucht PB um zu
ermitteln, wo die einzelnen APIs sind, die von Windows bereit gestellt
werden. Diese Datei sagt PB, dass es z.b. die DLL blubb und blabb
braucht. PB sagt das dann dem Linker weiter und dieser schreibt es dann
in die Exe mit rein.
Windows liest dann diese Abhängigkeiten ein und versucht diese
aufzulösen. Beim Auflösen werden dann von Windows in Variablen,
die in der *.lib Datei stehen, die Pointer zu den Funktionen geschrieben.
Und dann wird beim Aufruf der API dann aus der Variable der Pointer
eingelesen und dann wird gesprungen.
Sleep_() Ist ein Beispeil für eine API von Windows
Delay() Ist ein Beispiel für eine Funktion von Fred. Diese macht aber das
gleiche wie Sleep_()

- Vermilion
- Beiträge: 1846
- Registriert: 08.04.2006 16:00
- Computerausstattung: Apple iMac (2010) & HP Notebook
- Wohnort: Heidekreis
Jaja
Ja, ich weiß, aber es ist nicht unmöglich!
Und wenn, ich hätts sowieso bestimmt nicht geschafft, bis zum Schluss daran zu arbeiten! Weil was mir Sorgen machte waren halt die APIs, Compiler etc.
Ich weiß, dass das nicht gerade ein Anfängertutorial wäre!
Aber die Vorstellung an sich ist doch toll, oder nicht?
Aber da fällt mir ein, das ich einfach einen Texteditor mit integriertem Visual Designer mache, man kann PB Quellcodes bearbeiten usw. Kompilieren muss man sie dann trotzdem woanders...
OK, erstmal werde ich so aus langeweile das Ding teilweise (Wenn das so ist, wie ihr das sagt, ich glaube euch ja auch, dann bleibt das "teilweise" bestimmt ein paar Jahre
) erstellen.
Mir war sowieso schon bewusst, dass ich den Original bestimmt nicht in Sache Qualität und funktionalität nachahmen kann.
Und das mit meinem PAKer, das war eigentlich nich geplant, das ich so ein riesen Tamtam darum mache
, brauchte etwas dass ich auf meine Softwareseite setzen kann, damit sie zum Start nicht so leer ist.
Ich weiß, das ist nicht das beste... (Ich habe schon besseres mit PB programmiert!)

Und wenn, ich hätts sowieso bestimmt nicht geschafft, bis zum Schluss daran zu arbeiten! Weil was mir Sorgen machte waren halt die APIs, Compiler etc.
Ich weiß, dass das nicht gerade ein Anfängertutorial wäre!

Aber die Vorstellung an sich ist doch toll, oder nicht?
Aber da fällt mir ein, das ich einfach einen Texteditor mit integriertem Visual Designer mache, man kann PB Quellcodes bearbeiten usw. Kompilieren muss man sie dann trotzdem woanders...
OK, erstmal werde ich so aus langeweile das Ding teilweise (Wenn das so ist, wie ihr das sagt, ich glaube euch ja auch, dann bleibt das "teilweise" bestimmt ein paar Jahre

Mir war sowieso schon bewusst, dass ich den Original bestimmt nicht in Sache Qualität und funktionalität nachahmen kann.
Und das mit meinem PAKer, das war eigentlich nich geplant, das ich so ein riesen Tamtam darum mache

Ich weiß, das ist nicht das beste... (Ich habe schon besseres mit PB programmiert!)
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
> brauchte etwas dass ich auf meine Softwareseite setzen kann, damit sie zum Start nicht so leer ist.
nunja.. vielleicht sollte man erstmal einiges programmieren, bevor man sich so ne softwareseite aufmacht...
aber is ja dein bier..
nunja.. vielleicht sollte man erstmal einiges programmieren, bevor man sich so ne softwareseite aufmacht...
aber is ja dein bier..

Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
- Vermilion
- Beiträge: 1846
- Registriert: 08.04.2006 16:00
- Computerausstattung: Apple iMac (2010) & HP Notebook
- Wohnort: Heidekreis
Mit Freunden teilen ;)
Naja, also jede Woche werde ich bestimmt nicht irgendwas veröffentlichen!
Nur falls, dann habe ich eine Seite auf der ich das machen kann. Man könnte als Online Archiv betrachten, obwohl Archiv als weit übertrieben gilt, muss ich zugeben, bei derzeit nur einem Programm..

- 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
Heutzutage zählt bei vielen nur noch die Verpackung, insofern ist die WebSide gelungen
Das Starprodukt PAKer muß einfach geil sein
Das Starprodukt PAKer muß einfach geil sein

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.

-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
stimmt schon...
ist halt aber blendwerk, wenn das teil aufgemacht ist wie die website von Sybex,
wenn da eine verpackung abgebildet ist, die höchstwahrscheinlich garnicht existiert
(ist das nicht sogar eine strafbare handlung? *mal im BGB kramt*)
und wenn da dann was von zufriedenen kunden steht, wo er noch gar keine hat,
und die ersten, die aufgrund seiner webside kunden werden wahrscheinlich eher ihm die siphillis an den hals wünschen anstatt ein positives feedback zu geben...
<- warnung, überzeichtet
PS
@nameless
lass mich raten.. du hast design und werbung studiert und steigst jetzt in programmierung ein...?
ist halt aber blendwerk, wenn das teil aufgemacht ist wie die website von Sybex,
wenn da eine verpackung abgebildet ist, die höchstwahrscheinlich garnicht existiert
(ist das nicht sogar eine strafbare handlung? *mal im BGB kramt*)
und wenn da dann was von zufriedenen kunden steht, wo er noch gar keine hat,
und die ersten, die aufgrund seiner webside kunden werden wahrscheinlich eher ihm die siphillis an den hals wünschen anstatt ein positives feedback zu geben...
<- warnung, überzeichtet
PS
@nameless
lass mich raten.. du hast design und werbung studiert und steigst jetzt in programmierung ein...?

Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
- 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
siphillis ist falsch geschrieben <klugscheiß>
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.

Was soll denn dieses Gemurmel? Könnt ihr nicht normal reden? 

PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End