bevor ich auf das eigentliche Thema eingehe möchte ich zunächst erst einmal ein paar Wissenswerte Infos über mich preis geben.
Ich habe angefangen mit dem Programmieren als 8-Bit CPU's mit 64k RAM DAS non-plus-ultra waren, und mir damals das programmieren
beigebracht in den sprachen Basic und ASM. Später bin ich dann umgeschwenkt auf Pascal und C und habe in den darauffolgenden Jahren
viel Perl und PHP-Projekte in Verbindung mit SQL-DB's realisiert. Das alles ist nun 10 Jahre und sehr viel länger her. Daher bin ich mit
Sicherheit etwas eingerostet und so möge man mir so manchen dümmlichen Fehler/Frage aufgrund meiner nicht mehr vorhandenen
Praxis/Routine als auch in meiner Unkenntnis zu PureBasic, das ich erst wenige Tage kenne, vergeben.
Ich habe aktuell noch so einige Experimente mit der DemoVersion von PB am Start. Leider finde ich manche Informationen
in der dabei befindlichen Offline-Hilfe(CHM) Nicht weshalb ich mich nun hier an die Community wende, in der Hoffnung das mir,
und künftigen anderen PB-Interessierten die das gleiche Problem haben, auf diese Weise die benötigten Infos zukommen.
Daher habe ich folgenden kleinen Fragenkatalog verfasst:
Falls möglich einfach ein Code-Beispiel das auf das wesentliche Bezug nimmt, in die Antwort einfügen, hilft meist mehr als 100 Worte
1) Wie definiere/deklariere ich eigene Konstanten in meinen PB Programmen?
2) Wie definiere/deklariere ich ein Array vom Datentyp einer zuvor selbst definierten Struktur?
Das unten stehende Code Beispiel wird vom Compiler mit der Meldung "Unbrauchbarer Code am Ende der Zeile"
bei der ersten Dim Anweisung abgebrochen. Das gleiche passiert wenn ich diese Zeile auskommentiere und
die darunterliegende Dim Zeile von der Kommentierung befreie.
Code: Alles auswählen
MaxClientConnections = 10
Structure struct_Client
ID.i
IP.s
Port.s
EndStructure
Dim Client(MaxClientConnections-1).struct_Client
; Dim Client(MaxClientConnections-1) as struct_Client
Ist Beispielsweise eine ClientID aus den Netzwerkfunktionen ein Pointer, ein Handle, Quad oder integer?
4) Wie und inwieweit funktioniert bzw. realisiert man in PB das TypeCasting?
Beispielsweise kann ich in einem Code $FF schreiben doch funktioniert ein Dec($FF) beispielsweise nicht.
Ebensowenig ein binvar = !1001
5) Wo finde ich in der Hilfe eine Übersicht ALLER Datentypen, nicht nur diverse Integer und String, Char etc. sondern auch Pointer und Konstanten wie #CR #LF #SPACE und deren Zuweisungen?
6) Wie Definiere/Deklariere ich einen Pointer bzw. wie verwende ich diese?
z.B: In einer Struktur als eines der Elemente innerhalb der Struktur?
Wie setze ich z.B. das nachfolgende CodeBeispiel (sinnesgemäß) korrekt in PB um?
Code: Alles auswählen
*pointera
*pointerb
adrpointera.i
adrpointerb.i
adrpointera = adress of *pointera
adrpointerb = adress of *pointerb
7) Wie fange ich ein CTRL+C in PB-Programmen ab?
... damit ein (vorzeitiger) Programmabbruch durch den Benutzer nicht ohne die Kontrolle
des Programms möglich ist, dieses aber weiter laufen kann, also die abgefangene Tastenkombination STRG+C
auch anderweitig mit einer Funktion belegt werden oder schlichtweg Ignorieren kann?