|
da2501
25.05.2010, 18:29 Uhr |
OWBasic Menü (Deutsches Forum) |
Hallo ihr, ich bin gerade am Versuch ein eigenes OWBasic Programm anzufertigen, doch ich bin noch nicht so gut da drin. Ich würde gerne ein einfaches Menü für mein Programm haben, leider hab aber überhaupt keine Ahnung wie man das machen kann, nur eine Vorstellung aber nur sehr schwach. Könnte mir jemand erklären wie man das hinkriegt? Ich wäre sehr dankbar darüber.
LG da2501 |
audacia
NEW!

Münster, Germany, 01.06.2010, 20:46 Uhr
@ da2501
|
OWBasic Menü |
Hallo,
tut mir leid, daß ich erst jetzt zum Antworten komme 
» Ich würde gerne ein einfaches Menü für mein Programm haben, leider hab aber
» überhaupt keine Ahnung wie man das machen kann, nur eine Vorstellung aber nur
» sehr schwach. Könnte mir jemand erklären wie man das hinkriegt?
schau mal unter http://www.audacia-software.de/de/pv/obprogs/osl/index.htm - da findest du die OWBasic Standard Library, die unter anderem einige Befehle für das Aufbauen von Menüstrukturen beinhaltet. Unten auf der Seite gibt es auch einige Beispielprogramme für die Verwendung der OSL; in deinem Fall wäre "guidemo" sicher interessant.
Wie man die OSL korrekt einbindet, siehst du ganz oben in "guidemo". Den Part, der für die Mehrsprachigkeit sorgt, brauchst du dir nicht genauer anzusehen, das ist eher eine Spielerei und für den Einstieg nicht relevant. Ich will den interessanten Teil mal etwas kommentieren:
[...]
! Setzung des Programm-Icons: entweder als Verweis auf eine interne ! Graphik (mit picon[0]=0, picon[1]=igraph nr.) oder als eine Icon-Konstante, ! wie PocketPaint oder IconEditor sie exportieren können const picon=(0,261,2,3)
! Anwendungsname und Text der About-Box, die beim Tippen auf die Kopfzeile ! erscheint const pname$=("OSL/guidemo"," v1.01¶by Moritz Beutel¶¶xDC 2007 by AUDACIA¶www.audacia-software.de")
[...]
! Definition der Listeneinträge, Menu-Beschriftungen etc. const [...] mclr1$=("Colour","Red","Green","Blue"), mfile1$=("File","New","Open","Save","Exit"), mlang1$=("Language","German","English")
! Referenzen auf die Listeneinträge, Menu-Beschriftungen, ... ! Diese Indirektion erleichtert die mehrsprachige Benutzerführung, ! ist aber sonst nicht notwendig. const &sr$=(&sr1,&sr0,&sr1), &mclr$=(&mclr1,&mclr0,&mclr1), &mfile$=(&mfile1,&mfile0,&mfile1), &mlang$=(&mlang1,&mlang0,&mlang1)
[...]
! Zeichnen der GUI-Elemente 0
! initialisiert das GUI gui_init true
! zeichnet die Kopfzeile gui_head
! zeichnet den "x"-Button rechts oben gui_xbtn 142,1, 1
! zeichnet allerhand Steuerelemente gui_btn "Button1",10,30,74,40, 2 gui_chk "CheckBox1",c1!,10,50,74, 4 gui_dmenu mlang,mlangi,2,84,30,149,0, 3 gui_dmenu mclr,mclri,3,79,50,149,0, 5 gui_inactive=0 gui_rbtn "Option1",rg1,10,70,74,0, 6 gui_rbtn "Option2",rg1,79,70,149,1, 6 gui_iibox ival,-10,10,10,80,74, 7 gui_isbox sval$,"Text:",79,80,149, 8 gui_inactive=c1 x2=74 gui_list mfile,5,10,94,x2,1, 9 gui_inactive=rg1=1 gui_menu mfile,4,79,94,109,0, 10 gui_inactive=false
! überträgt den Inhalt des Puffers auf den Bildschirm show
! Nachrichten-Warteschleife do
! der Name ist Programm  waittouch
! Touch-Abfrage der Kopfzeile (für die About-Box) gui_qhead
! Touch-Abfrage der registrierten Steuerelemente ! Rückgabewert ist eine Objektnummer (oder 0, falls ! kein Steuerelement ausgewählt wurde). o=gui_touch() [...]
! Behandlung der Auswahl der einzelnen Steuerelemente case select o [...] endcase std_scrshade msgbox s
! Abschluß der Warteschleife loop until std_repaint
! Wenn die Funktion std_repaint "true" zurückgibt, muß neu gezeichnet ! werden => wir springen also zurück zur Zeichenroutine goto 0
Wenn du mehr Informationen brauchst, findest du auf der OSL-Seite auch einen Link zur Dokumentation, in der jeder Befehl einzeln im Detail erklärt wird.
So, ich hoffe, das hilft dir. Viel Erfolg damit; wenn weitere Fragen auftauchen, zögere nicht und stelle sie  |
D.P.B.
NEW! 10.08.2010, 14:49 Uhr
@ audacia
|
OWBasic Menü |
ich hätte da noch eine frage: wenn ich jetzt nicht umbedingt die OSL nehmen würde geht es auch so mit box zeichnen und "touched!..." ? weil wenn ich den befehl auf die koordinaten gebe schließt sich OWBasic einfach...
Will dringend ein menü erstellen
PS: ich bin da2501 unter einem anderem Benutzername! |
audacia
NEW!

Münster, Germany, 11.08.2010, 20:19 Uhr
@ D.P.B.
|
OWBasic Menü |
Hallo,
» wenn ich jetzt nicht umbedingt die OSL nehmen würde
warum das?
» geht es auch so mit box zeichnen und "touched!..." ?
Freilich geht das; im Grunde macht es die OSL selbst auch so. Es ist nur viel umständlicher.
Der OSL-Quelltext ist offen verfügbar; wenn es dich interessiert, kannst du einfach nachlesen, wie die Befehle, die mein Beispielprogramm aufruft, implementiert sind.
» Will dringend ein menü erstellen
Wenn es drängt, würde ich die schnellste Lösung nehmen. Das ist die OSL. |
D.P.B.
NEW! 12.08.2010, 20:11 Uhr
@ audacia
|
OWBasic Menü |
Ja danke für die schnelle antwort, aber ich will die osl nicht benutzen, da sie ja nicht wirklich funktioniert. Wenn ich sie mir auf meinen Pocketviewer rauf mache, dann kommt bei jedem Programm das die osl braucht ein compiler fehler, d.h. da ist irgendein fehler in der osl und da ich nicht so ein Crack ( ) bin kann ich das auch nicht beheben. Nur so nebenbei: Deshalb kann ich auch bei der neusten version von OWBasic (5.2) nicht settings aufrufen (obwohl ich das externe Programm dafür hab) da settings ja auch die osl braucht (funktioniert ja nicht!)!
Jedenfalls will ich halt, auch wenn es länger dauert, die ohne osl version eines touched! menüs habe. Kannst du mir ein beispiel dafür geben, da bei mir irgendwie das mir touched! in einer if anweisung nicht funktioniert. Also bitte das hier aufschreiben.
LG D.P.B. |
audacia
NEW!

Münster, Germany, 13.08.2010, 15:14 Uhr
@ D.P.B.
|
OWBasic Menü |
Hallo,
» Ja danke für die schnelle antwort, aber ich will die osl nicht benutzen, da
» sie ja nicht wirklich funktioniert.
freilich funktioniert sie wirklich. Man muß sich eben an alle Anweisungen halten 
» Wenn ich sie mir auf meinen Pocketviewer rauf mache, dann kommt bei jedem
» Programm das die osl braucht ein compiler fehler
*seufz* Willst du nicht mitteilen, was die Fehlermeldung besagt? Möglichst im Original-Wortlaut? Fehlermeldungen enthalten oftmals - wer hätt's gedacht! - Hinweise auf die Fehlerursache, und damit wäre es mir /vielleicht/ sogar möglich, dir zu sagen, woran es liegt.
» Kannst du mir ein beispiel dafür geben, da bei mir irgendwie das mir
» touched! in einer if anweisung nicht funktioniert. Also bitte das hier
» aufschreiben.
Nein, tut mir leid, dafür fehlen mir gerade Muße und Zeit. Ich helfe dir gerne, das OSL-Problem zu beheben oder den Quelltext oben zu verstehen, aber jetzt mal eben das Rad neu erfinden paßt mir wirklich gerade nicht in den Zeitplan. |
D.P.B.
NEW! 15.08.2010, 13:02 Uhr
@ audacia
|
OWBasic Menü |
Bei mir funktioniert sie leider kaum mit Programmen. Und welche Anweisungen? Ich packe die TWF Datei ins Memo 5 Verzeichnis und weiter ... ? Da steht doch nirgend etwas von Anweisungen oder einer Anleitung!
Ich kann dir gerne sagen wo z.B. der Fehler bei Settings in OWBasic 5.2 liegt: Also ich starte das Programm und sehe dann das ...
line 133 stdlib: syntax error
2062,-7537,2052,640,2048,(und dann so ein Pfeil nach unten)
Ich weiß ja nicht ob ich den Fehler mache oder ob es nur so ein klitze kleines problem am Programm selbst ist. Ich wäre dir sehr dankbar wenn du mir helfen könntest
LG D.P.B.
PS: kannst du mir sagen wo es das Replmenü gibt? ich bräuchte es um PocketManager V.3.10 zu installieren!!! |
D.P.B.
NEW! 15.08.2010, 14:04 Uhr
@ D.P.B.
|
OWBasic Menü |
Ich habe das problem mit der osl jetzt lösen können, war nur eine Klammer und man musste etwas löschen. Jetzt geht die Osl endlich aber ich habe ein anderes Problem. Ich will ja dieses Menü haben (siehe oben) und ich muss dazu in settings Autostart und so eingeben, aber etwas an der Memo ! Settings(...) ist falsch ich bekommen dauernd diese Fehlermeldung:
Line 28 OWBasic Settings: Nested procedure
proc (Pfeil nach unten)qcat var i
Kannst du mir sagen wie ich das Problem beheben kann? |
audacia
NEW!

Münster, Germany, 15.08.2010, 15:06 Uhr
@ D.P.B.
|
OWBasic Menü |
Das ist sehr seltsam. "Nested procedure" bedeutet meist, daß ein "endp" fehlt. Weder das noch der Fehler in der OSL sollte auftreten, wenn du die Dateien nicht manuell bearbeitet hast. Ich erinnere mich an einen Bug in IEdit, der gelegentlich Zeichen am Zeilenende entfernt hat - hast du die OSL-Dateien möglicherweise in IEdit geöffnet und abgespeichert?
Es sollte jedenfalls helfen, wenn du die OSL-Dateien löschst und via PCsync erneut überträgst, wenn du die aktuellste OWBasic-Version (5.22) verwendest und wenn du die Dateien nicht manuell veränderst.
Sollte der Fehler bereits mit den unveränderten Dateien, die auf meiner Seite erhältlich sind, auftreten, so werde ich das überprüfen, aber es sollte eigentlich nicht passieren. |
D.P.B.
NEW! 15.08.2010, 16:20 Uhr
@ audacia
|
OWBasic Menü |
Ok ich werde es noch mal raufspielen, aber eigentlich habe ich vorher nichts an der OSL oder so gemacht (weder was reingeschrieben, noch mit IEDit gespeichert)! Jedenfalls ist dann noch ne frage dazu:
Weißt du woher och Replmenü herbekommen (für dein Menü)? Wäre mir sehr wichtig. Die seite von Johannes Steingräber gibt es ja leider nicht mehr (also geht der Ling auf deiner seite auch nicht) |
D.P.B.
NEW! 15.08.2010, 18:27 Uhr
@ D.P.B.
|
OWBasic Menü |
Bei dem Fehler mit...
Line 28 OWBasic Settings: Nested procedure
proc (Pfeil nach unten)qcat var i
...gibt es ein endp. Deswegen verstehe ich nicht warum es nicht geht. Tja, ich hoffe das du den Fehler findest und ihn dann möglicherweise verbesserst (wenn es einen gibt)!
LG D.P.B. |
audacia
NEW!

Münster, Germany, 18.08.2010, 21:50 Uhr
@ D.P.B.
|
OWBasic Menü |
Ich werd's mir genauer anschauen, wenn ich etwas mehr Zeit habe - hoffentlich in den nächsten drei, vier Tagen. Ich habe auch vermutlich ReplMenu irgendwo auf der Festplatte herumliegen... |
D.P.B.
NEW! 01.09.2010, 17:20 Uhr
@ audacia
|
OWBasic Menü |
Hallo audacia, ich habe glaube ich einen fehlalarm gestartet... Ich habe die OSL und die anderen Programme immer mit DD-Link übertragen, da ich meine CD mit PCSync verloren hatte (jeder Link zu PCSync ging leider nicht ...)! Da ich aber jetzt hier im Forum einen Eintrag von PVMichael gelesen hatte, mit einem Link zu PCSync der auch ging, übertrage ich jetzt damit die daten! Jetzt geht komischer Weise alles wie geplannt (die OSL und alle davon abhängigen Programme)! Also tut mir leid wegen dem "Fehlalarm"
Jedoch habe ich noch eine letzte Frage: Ob du mir netterweise Replmenü zu meiner E-mail Adresse schicken könnteste (Travianer_1@web.de)?? Wäre echt nett, wenn du diese Software auf deinem PC hättest!
LentschuldigungsG D.P.B  |
audacia
NEW!

Münster, Germany, 01.09.2010, 18:12 Uhr
@ D.P.B.
|
OWBasic Menü |
Hallo,
wunderbar; das beruhigt mich.
» Jedoch habe ich noch eine letzte Frage:
» Ob du mir netterweise Replmenü zu meiner E-mail Adresse schicken könnteste
» (Travianer_1@web.de)?? Wäre echt nett, wenn du diese Software auf deinem PC
» hättest!
Ich werde es hoffentlich demnächst mal hochladen können, aber im Moment komme ich nicht dran (ich habe es auf einem anderen Rechner, auf den ich derzeit keinen Zugriff habe). Tut mir leid, aber es wird noch ein paar Tage dauern... |
|