Requester

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Beitrag von Danilo »

Kaeru Gaman hat geschrieben:die Konstante muss dem Compiler bekannt sein, sonst würde er einen Fehler auswerfen.

Daß die Konstanten auf unterschiedlichen OS unterschiedliche Werte haben ist schon klar,
aber sie haben die gleiche Funktion, und die sollte in 1-2 Sätzen kurz umrissen werden.
Die PB-Konstanten stehen doch in der PB-Referenz bei den
jeweiligen Befehlen dabei.

Kaeru Gaman hat geschrieben:Eine komplette Konstantenliste wäre wünschenswert.
und wenn es ne Web-Page wäre, oder ein extra PDF, egal.
Die Konstantenlisten sind auf dem PB-CVS http://cvs.purebasic.com
im Verzeichniss 'Residents' zu finden.

Wenn Du Dir da z.B. mal die PureBasic.pb von PB/Windows
anschaust, wirst Du die Konstanten sicherlich wiedererkennen.
Kaeru Gaman hat geschrieben:also könnte man vielleicht eine Ergänzung zur Hilfe zur Verfügung stellen,
die dann eben Systemspezifisch ist.
Die Liste der WinAPI-Konstanten und Strukturen ist in Windows.pb

Wie Du siehst sind dort 8531 Konstanten und 560 Strukturen
vom WinAPI drin. Und wer WinAPI programmieren möchte, der
hat logischerweise auch die WinAPI-Doku von Microsoft, da man
ohne Dokumentation die 72.000+ Funktionen garnicht kennen kann,
inklusive allen Flags und Strukturen.

Und da ein Windows-Programmierer diese Doku eh schon hat,
braucht es auch PB nicht mitliefern. Das wäre auch übertrieben,
da es sich eben um mehrere hundert Megabyte handeln kann -
Copyright bei Microsoft.
Wenn die Links zur offiziellen WinAPI-Doku von Microsoft in der
PB-Hilfe drin stehen, dann reicht das allemal. Wer nur PB einsetzen
will (zur platformunabhängigen Programmierung), der hat die
PB-Referenz und dort steht eig. alles drin.
Wer ein API direkt programmieren will, egal ob unter Windows,
Linux, Amiga oder MacOS, der kann sich optional die entspr. Doku
vom API-Provider holen.

Im FAQ-Bereich dieses Boards findet man einige Beiträge dazu,
und dort steht drin wo man unterschiedliche Doku und Hilfen
zum WinAPI herbekommt.
Nur schade das Ihr Anfänger da nicht mal reinschaut. Dieser
Bereich ist extra für Euch da, aber kaum jemand nutzt es.
Das ist echt zu dumm, sorry. :roll:

PB bietet zwar WinAPI-Zugriff bei PB/Windows, ist aber nicht
für die Doku dafür verantwortlich.
Die Doku kommt vom Hersteller Microsoft, oder seit wann ist
Fantaisie Software dafür verantwortlich das Windows API zu
dokumentieren?
FS ist verantwortlich dafür PB zu dokumentieren - und das wurde
schon ziemlich gut gemacht. Nicht perfekt, aber gut.

Aber vielleicht findet sich ja hier Jemand der zu den 8531 Konstanten
jeweils ein paar Zeilen schreibt. Vielleicht hast Du gerade ein paar
Stunden Zeit, Kaeru? ;)

Vergiss nicht das es noch etliche WinAPI-Konstanten mehr gibt,
die PB noch nicht importiert hat. Die könntest Du dann gleich
mit dokumentieren und ein Addon-Resident dafür machen.
Fred selbst will die Residents nämlich so klein wie möglich halten,
da sonst die Startzeit von PB immer langsamer wird, wenn noch
ein paar tausend Konstanten und Strukturen mehr hinzukommen.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

Die Docs werden nicht mit WinAPI-Konstanten erweitert, das habe ich mir auch gerade nochmal von Fred bestätigen lassen.

Zu den Gründen hat Danilo ja schon ausführlich etwas gesagt.

Aber:
Fred wird die offiziellen PB-Konstanten erweitern, d.h. auf der ToDo-Liste sind #PB_MessageRequester_Warning, ..._Error und ..._Information für kurzfristige Umsetzung vorgemerkt.

Längerfristig evtl. dann auch weitere wie die ..._RETRYCANCEL, ..._ABORTRETRYIGNORE etc. und das Setzen des Standard-Buttons.
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Beitrag von Danilo »

Andre hat geschrieben:Aber:
Fred wird die offiziellen PB-Konstanten erweitern, d.h. auf der ToDo-Liste sind #PB_MessageRequester_Warning, ..._Error und ..._Information für kurzfristige Umsetzung vorgemerkt.
Zumindest für die Rückgabewerte (Yes, No, Cancel) sollte
es aber noch PB-Konstanten geben.

In der Hilfe zu MessageRequester() sind ja schon Beispiele
dabei, aber da werden Zahlen (2,6,7) statt Konstanten verwendet.

Wäre sicherlich sinnvoll auch dafür Konstanten bereitzustellen
und in der Hilfe zu zeigen:

Code: Alles auswählen

Rückgabewerte:
  #PB_MessageRequester_Yes    = 6
  #PB_MessageRequester_No     = 7
  #PB_MessageRequester_Cancel = 2
Funktioniert so auch auf Linux, habe es soeben getestet.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

@Danilo: Danke :allright:

Das werde ich auch mit in die Doku einbinden.
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Beitrag von Danilo »

Andre hat geschrieben:Das werde ich auch mit in die Doku einbinden.
Nur nochmal zur Absicherung: Die Konstanten müßten dann auch
noch in die Residents für alle Systeme, nicht nur in die Hilfe. :)
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

Danilo hat geschrieben:
Andre hat geschrieben:Das werde ich auch mit in die Doku einbinden.
Nur nochmal zur Absicherung: Die Konstanten müßten dann auch
noch in die Residents für alle Systeme, nicht nur in die Hilfe. :)
Yep, habe dies auch mit Fred abgesprochen.

#PB_MessageRequester_Yes
#PB_MessageRequester_No
#PB_MessageRequester_Cancel

:D
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
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

Beitrag von ts-soft »

@Kaeru Gaman
>> und was hilft ein jaPBe-Plugin den Usern, die nicht mit jaPBe arbeiten?
Der SourceCode ist beigefügt. Läßt sich leicht umsetzen für andere Ide's

Das schöne am Programmieren ist doch, das man seine Werkzeugsammlung selbst erweitern kann :D

Gruß

Thomas
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.
Bild
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Noch eine frage

Beitrag von Green Snake »

hallo

danke estmal für die antworten.
aber ich habe noch eine frage.
wie kan ich zahlen anzeigen lassen?
bei mir kommt immer ein fehler
also habe diesen code

Code: Alles auswählen

Zahl = 5*5

messagerrequester("Titel","hier soll die ausgerechnete zahl stehen",0)

also wie mache ich das, das in der msgbox nacher 25 steht?
-.-"
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

Du musst die Variable mit dem Ergebnis erst in einen String umwandeln, dafür gibts Str() als Befehl.

Code: Alles auswählen

Zahl = 5 * 5

Ergebnis$ = Str(Zahl)

MessageRequester("Titel",Ergebnis$)
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

cool danke

Beitrag von Green Snake »

super, hat geklappt danke.

habe schon etlichs probiert, doch hat nicht geklappt. :|

danke!
:allright:
-.-"
Antworten