|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 27.11.2008, 16:04 Titel: |
|
|
"Ubuntus unterbau" ? Debian? Canonical ?
Seit über einem Jahr läuft die jeweils aktuelle Ubuntu-Version nativ auf realer hardware einwandfrei, stabil und weitgehend gut lokalisiert.
Was aber durchaus stimmt: Ubuntu ist nicht die einzige wirklich gute Distribution!
Ich könnte z.B. auch zu PCLinuxOS oder Fedora raten... |
|
Nach oben |
|
|
Muttonhead
Anmeldungsdatum: 26.08.2008 Beiträge: 563 Wohnort: Jüterbog
|
Verfasst am: 02.12.2008, 23:09 Titel: |
|
|
Moin ooch...
ich möchte eine Eventsteuerung die ich bisher mit SCREEEVENT gelöst habe - jetzt durch eine mit GETMOUSE und INKEY ersetzen.
Nun, SCREENEVENT hatte einen WINDOW_CLOSE Event.... den ich sehr komfortabel fand
Hier meine Fragen: Liefert der CloseButton eines Fensters immer einen CHR(255+107) CODE ? Kann ich generell den CloseButton mit INKEY abfragen?
folgender Code befindet sich in der Referenz (GETMOUSE), und der scheint tatsächlich auch auf den "string" vom CloseButton zu reagieren
Code: |
'Grafikmodus setzen und Schleife beginnen
Dim As Integer x, y, buttons, Ergebnis
' Videomodus 320x200x8 setzen
Screen 19
Do
' Lade Mauskoorhfdinaten ohne Mausrad.
Ergebnis = GetMouse (x, y, , buttons)
Locate 1, 1
If Ergebnis <> 0 Then
Print "Maus nicht vorhanden oder nicht im Fenster"
Else
Print Using "Maus-Position: ###:### Buttons: "; x; y;
If buttons And 1 Then Print "L";
If buttons And 2 Then Print "R";
If buttons And 4 Then Print "M";
Print Space(5)
End If
Loop While Inkey = "" 'auch beim CloseButton ein String?
End
|
Mutton |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4603 Wohnort: ~/
|
Verfasst am: 02.12.2008, 23:23 Titel: |
|
|
Zitat: | Hier meine Fragen: Liefert der CloseButton eines Fensters immer einen CHR(255+107) CODE ? Kann ich generell den CloseButton mit INKEY abfragen? |
Ja, zumindest wüsste ich nichts Gegenteiliges. Beim Close-Button wird ein CHR(255, 107) in den Tastaturpuffer gelegt; das entspricht einem ALT-F4. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
Muttonhead
Anmeldungsdatum: 26.08.2008 Beiträge: 563 Wohnort: Jüterbog
|
Verfasst am: 03.12.2008, 00:07 Titel: |
|
|
... dann werd ichs auch benutzen (bin da eigentlich eher zufällig draufgestossen)
Vielen Dank, Nemored für das prompte Antworten
Mutton |
|
Nach oben |
|
|
Muttonhead
Anmeldungsdatum: 26.08.2008 Beiträge: 563 Wohnort: Jüterbog
|
Verfasst am: 21.12.2008, 15:57 Titel: |
|
|
Hier ein 3. Demo
Da sich intern einiges verändert hat...
Hab es geschafft eine Sub und 3 Funktionen in ein UDT als "Platzhalter" unterzubringen.
Dadurch konnte ich .bi-Dateien der controls jetzt aus SimpleGUI "herausholen".
Sie können somit einzeln nach Bedarf includet werden.
Vorher hätte ja immer das komplette Paket eingebunden werden müssen.
Rein theoretisch müsste ich "nur" noch die Gadgetliste(ein Array als UDT gedimmt)
auflösen, dann wäre es fast schon... - aber lassen wir das
Welche Controls haben wir bis jetzt:
Standard Button
Texteingabefeld
Checkmark
ToggleButton
RadioButton
Trackbar (reworked, Knob springt nicht mehr zum Mauszeiger)
Arrows (nach 0.8s halten triggern sie sogar!!!)
Projekt eingefroren.... siehe ersten Post!!!
Mutton
Zuletzt bearbeitet von Muttonhead am 01.02.2009, 01:04, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1875 Wohnort: D59192
|
Verfasst am: 09.01.2009, 03:06 Titel: |
|
|
Hi,
ich habe mal deine SimpleGUI für ein Demo genutzt und auf meine Bedürfnisse angepasst.
Ist auch noch nicht fertig, aber läuft schon mal ... Download 504k
Dabei kann man eine Datenbank (Bankleitzahlendatei) der Bundesbank nach Blz, Plz/Ort , PAN/BIC usw. durchsuchen. _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
|
Muttonhead
Anmeldungsdatum: 26.08.2008 Beiträge: 563 Wohnort: Jüterbog
|
Verfasst am: 10.01.2009, 17:03 Titel: |
|
|
Ein Benutzer, ein Benutzter!!!! Freu
Ich richte als Support sofort eine Service-Hotline ein! 12ct/min und so weiter....
....*lach*
Nachdem ich mir mal deine kleinen Modifikationen angesehen hab, befürchte ich mal -
der Informationsfluss fliesst dann wohl eher in meine Richtung *immernoch lach*
An nen Font hatte ich auch schon gedacht und auch schon mal realisiert
Sah aber nicht so dolle aus. Die Verknüpfung mit dem Hintergrund war das Problem
Hatte mir da was mit der CUSTOM Option bei DRAW STRING gebastelt, das funzte aber
immer nur mit einer Bildschirmtiefe.
Aber wie ich sehe - du überschreibst den internen Font! (Musste erstmal wieder in deinem Font Tutorial rumblättern)
Schade das die Bildlaufleiste noch nicht fertig ist, die hätte als Scroller besser
hineingepasst... kommt noch!
"declare sub Frame (x as integer, y as integer, w as integer, h as integer, txt as String="")"
Aha, damit braucht man bei Aufruf Leerstrings nicht mehr als Parameter übergeben, wieder
was gelernt
Gefällt mir, dein Programm, und sieht ja so aus als könne man SimpleGUI
auch tatsächlich benutzen
Sag mal bescheid, wenn die Vollversion käuflich zu erwerben ist
Mutton |
|
Nach oben |
|
|
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1875 Wohnort: D59192
|
Verfasst am: 10.01.2009, 22:17 Titel: |
|
|
Zweifler hat Folgendes geschrieben: | sieht ja so aus als könne man SimpleGUI auch tatsächlich benutzen
|
Neue Version (auch noch nicht fertig) unter altem Download oben! Zitat: | Sag mal bescheid, wenn die Vollversion käuflich zu erwerben ist | ..wird dann aber ein paar N€uronen kosten, die Service-Hotline war so teuer... _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
|
Muttonhead
Anmeldungsdatum: 26.08.2008 Beiträge: 563 Wohnort: Jüterbog
|
Verfasst am: 11.01.2009, 00:09 Titel: |
|
|
Na wenn das jetzt nicht geil aussieht, denn wees ick ooch nich...
Zeile 52-53:
Code: |
GadgetOn(KtoPruefen)
GadgetSleep(KtoPruefen) |
ist doppeltgemoppelt: GadgetSleep() reicht zur Sichbarmachung vollkommen aus
Dadurch hab ich aber auch gleich mal nen kleinen Grafik-Bug in der StringGadget.bi entdeckt:
Der weisse Rahmen im Sleep-Modus gehört da eigentlich nicht hin und ist nur sichtbar weil vorher GadgetOn() aufgerufen wurde
nach Zeile 212 mal nen bischen Platz schaffen und das einfügen:
Code: |
line(x+1,y+1)-(x+w-2,y+h-2),bgrnd,b
line(x+2,y+2)-(x+w-3,y+h-3),bgrnd,b |
werd das Archiv mal gleich bearbeiten...
Mutton |
|
Nach oben |
|
|
Muttonhead
Anmeldungsdatum: 26.08.2008 Beiträge: 563 Wohnort: Jüterbog
|
Verfasst am: 01.07.2009, 22:30 Titel: |
|
|
Doppelpost... naja klingeln gehört zum Handwerk
(und zeitlich nicht wirklich)
Hab mich denn doch nochmal hingesetzt...
(grad Urlaub und nichts besseres zu tun)
ein paar Inspirationen und in jedem Fall Hilfe kamen und kommen immernoch von:
* OneCyphers fbtk-Demo
(http://forum.qbasic.at/viewtopic.php?t=6017)
* ThePuppetsMasters kleinen Einblick in seine GUI und dem
Satz "aber hier hat schonmal jemand was zusammen geschrieben"
(http://forum.qbasic.at/viewtopic.php?t=6375)
Grober Überblick über die Veränderungen:
Die StyleGuide Polizei sagte mir: .bi dürfen keinen ausführbaren Code enthalten.
Gut, alle .bi sind jetzt .bas
Das war noch die einfachste Übung.
Der EventHandle soll jetzt eine Art "Klasse" darstellen.
So kann man bei Bedarf weitere Instanzen mit eigener GadgetListe erzeugen(noch nicht getestet).
Der Eventhandle erfasst und liefert Informationen über Mausposition,Maustasten,Tastatureingaben
sowie Gadgetereignisse sofern ihm welche bekannt sind.
Die Gadgets selbst sind jetzt via NEW erzeugte Speicherblöcke wobei jedes Gadget einen
Link (Pointer) zu seinem Nachfolger enthält, also die einfachste Art der Verkettung.
Das früher verwendete Array, das als Gadgetliste fungierte, ist entfallen.
Listenmanipulationen habe ich nicht integriert (zb beliebiges Gadget aus Liste entfernen).
Anhängen lässt sich aber jederzeit etwas an eine vorhandene Liste.
Das Design ist umgestaltet worden. Farbschema ist (in Grenzen) veränderbar.
Controls:
*SimpleGadget
*ToggleGadget
*CheckMarkGadget
*Radiobutton
*TrackBar
*ScrollBar
*Arrows
*ListBox(naja jedenfalls was ähnliches)
kommen sollen noch:
*FileRequester(obwohl...ich hab herausgefunden-unter winAPI eigentlich auch nur nen 20zeiler)
*MessageBox(noch weniger... egal
....nen PulldownMenü? Ich weiss nicht, ob es sich integrieren lässt... mal sehen
wenns wirklich jemanden interessiert setz ich mich mal an eine Referenz ran.
Download siehe ersten Post
Mutton
Zuletzt bearbeitet von Muttonhead am 28.07.2009, 22:31, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
Löwenherz
Anmeldungsdatum: 25.08.2008 Beiträge: 73 Wohnort: auf einer sonnigen Insel :)
|
Verfasst am: 02.07.2009, 20:40 Titel: meine 5 cents :) |
|
|
hallo alle zusammen
habe einfach mal ein paar gadgets ausprobiert, habe eben gemerkt, dass die Datei (sGUI Ordner) von muttonhead noch mehr dateien enthält, aber das schaue ich mir noch später in Ruhe an...
Code: |
'#include "simplegui\SimpleGUI.bi"
#include "SimpleGUIm.bi" '<--- ist die OnePartVersion, nur für Demozwecke
dim s as string
screen 19,32,,&H04 'kein Fullscreen erlaubt
width 800\8,600\16
SetGlobVars ' nach Screen(und Width) aufrufen!!
enum
OK=1
Laden
Speichern
Abbruch
Quit
Stringer
Checker
Checker1
Banana
Apple
Peach
Coony
Cherry
HTrack
VTrack
Colori
end enum
'wir bauen die Bedienoberfläche!!
'mit den Adds... werden die Gadgets zur GadgetList hinzugefügt in Activation=0 (unsichtbar und nicht anwählbar)
Frame (10,10,160,120,"SimpleGadget")
AddSimpleGadget (OK,35,20,30,20,"OK")
AddSimpleGadget (Laden,35,40,50,20,"Laden")
AddSimpleGadget (Abbruch,35,60,80,20,"Abbruch")
AddSimpleGadget (Quit,35,100,80,20,"Quit")
Frame (10,150,150,50,"StringGadget")
AddStringGadget (Stringer,21,165,15,100,"Franz jagt im komplett verwahrlosten Taxi quer durch Bayern. 1234567890")
Frame (240,240,260,50,"NewCheckMarkGadget")
AddCheckmarkGadget (Checker1,245,255,1)
Frame (10,210,160,160,"TextOptionGadget")
AddTextOptionGadget (Banana,35,240,100,20,1,"Banane")
AddTextOptionGadget (Apple,35,260,100,20,0,"Apfel")
AddTextOptionGadget (Peach,35,280,100,20,1,"Pfirsich")
AddTextOptionGadget (Coony,35,300,100,20,1,"Coony")
AddTextOptionGadget (Cherry,35,320,100,20,1,"Cherry")
Frame (10,420,180,140,"Trackbar")
AddHTrackbar (HTrack,20,430,90,0,3,1,1)
AddVTrackbar (VTrack,120,440,100,0,8,3,1)
Frame (220,420,280,140,"ZeroGadget")
AddStringGadget (Colori,230,440,20,24, "Maria geht schwimmen")
AddCheckmarkGadget (Checker,235,470,1)
AddSimpleGadget (Speichern,245,490,80,24,"Speichern")
'mit GadgetOn(es gibt auch noch GadgetSleep,GadgetOff) werden die Gads sichtbar und anwählbar!!(bei den anderen Activation-Modis entsprechend nicht)
GadgetOn(OK)
GadgetOn(Laden)
GadgetOn(Abbruch)
GadgetOn(Speichern)
GadgetOn(Quit)
GadgetOn(Stringer)
GadgetOn(Checker)
GadgetOn(Checker1)
GadgetOn(Banana)
GadgetOn(Apple)
GadgetOn(Peach)
GadgetOn(Coony)
GadgetOn(Cherry)
GadgetOn(HTrack)
GadgetOn(VTrack)
GadgetOn(Colori)
'Oberfläche fertig!!
dim as integer gad
DO
WaitEvent 'warten auf ein Screen Ereignis(via ScreenEvent) und setzt dabei diverse globale Variablen zur weiteren Auswertung
'und ein SLEEP 1 ist in WaitEvent auch schon drin :)
if EXITPROG then exit do 'die EXITPROG Variable wird von WaitEvent bei FB.EVENT_WINDOW_CLOSE gesetzt!!!
gad=GadgetControl'<---!!!!
'hier kommt unsere Gadget Action.....
select case gad
case OK
locate 24,12
print "alles in Ordnung hier :)"
'ok action
case Laden
'laden action
'usw.
'usw.
'hier ist erstmal alles nur fürs Auge!!! ;)
case Checker1
locate 23,12
print "box geprueft ja/nein"
case speichern
locate 25,12
print "datei wird als *.bas gespeichert"
case quit
locate 26,12
print "willst du wirklich das programm verlassen? ;)"
end select
loop
KillEvent ' vor End aufrufen!!---> gut, es sind nur 20 bytes - aber - watt mutt, datt mutt!!
end
|
vielleicht schaffe ich es selbst so eine Art Farbauswahlfenster zu erstellen auf Knopfdruck, aber da bin ich noch nicht aus Zeitgründen
fragen kommen noch später bzw sind schon da, ich sammle sie aber lieber
habe einfach nur ein paar rückantworten eingefügt bei "OK", "Speichern", "Quit" und bei einer Checkbox Ich mache lieber Schritt für Schritt !
finde ich übrigens gut das projekt für Anfänger ! molto grazie .
tschüssi und sonnige, meist verklebte Grüße aus BSA, wünscht
Löwenherz mit viel Humor im Leib und noch mehr Hunger
ps: doch noch eine Frage an Muttonhead... willst du so eine Art "Form" Editor machen ??? _________________ Das Leben ist wie eine Pralinenschachtel, man weiß nie, was dort drinnen für tolle wie böse Überraschungen stecken |
|
Nach oben |
|
|
MOD Fleißiger Referenzredakteur
Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 02.07.2009, 22:44 Titel: |
|
|
Referenz wäre nicht schlecht, die GUI hat was.
Ich denke, in den Semesterferien werde ich mal was damit basteln, auf den ersten Blick ist das Einbinden ja recht einfach und das Eventhandling schaut auch gut aus.
Gute Arbeit, aber der Titel passt nicht so ganz, nach Anfängerprojekt wirkt das schon länger nicht mehr |
|
Nach oben |
|
|
Muttonhead
Anmeldungsdatum: 26.08.2008 Beiträge: 563 Wohnort: Jüterbog
|
Verfasst am: 03.07.2009, 15:54 Titel: |
|
|
@Löwenherz: Die Version (oneparted), die du ausprobiert hast, ist nicht die aktuellste. Im ersten Post ist ein Link zur neuesten Variante.Es hat seitdem etliche Veränderungen gegeben.
...nen Formeditor wollte ich eigentlich nicht bauen, solange man mit "3 Zeilen" Code eine Control erzeugen kann
@MOD: Dann werd ich mal mit ner Referenz beginnen
Mutton |
|
Nach oben |
|
|
The_Muh aka Mark Aroni
Anmeldungsdatum: 11.09.2006 Beiträge: 718
|
Verfasst am: 03.07.2009, 16:23 Titel: |
|
|
Hi, ich wollt deine GUI mal nutzen um nen kleines App zu schreiben... als ich die Demo.bas compilen wollte kam folgendes ergebnis:
Code: | fbc -w all "Demo.bas" (im Verzeichnis: /home/marc/Desktop)
/usr/lib/libsupc++.a(eh_personality.o): In function `__gxx_personality_v0':
(.text.__gxx_personality_v0+0xba): undefined reference to `_Unwind_GetIPInfo'
Kompilierung fehlgeschlagen. |
OS: ArchLinux, Kernel: 2.6.30-5 , fbc: 0.20.0 (08-10-2008), IDE: Geany _________________ // nicht mehr aktiv // |
|
Nach oben |
|
|
MOD Fleißiger Referenzredakteur
Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 03.07.2009, 16:48 Titel: |
|
|
Lass dir Zeit, Ferien hab ich erst in einem Monat und bin dann erstmal ne Zeit lang nicht da.
Ende August wär mir recht |
|
Nach oben |
|
|
Muttonhead
Anmeldungsdatum: 26.08.2008 Beiträge: 563 Wohnort: Jüterbog
|
Verfasst am: 03.07.2009, 19:12 Titel: |
|
|
@The Muh: hab das unter Linux nicht getestet. Es werden eigentlich von mir auch keine externen Sachen eingebunden.
Kann aber nicht sagen mit welchen Packages FB unter Linux arbeitet um bestimmte Funktion zu ermöglichen. "libsupc++"???
Wie gesagt... es ist nackiges Freebasic |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4603 Wohnort: ~/
|
Verfasst am: 03.07.2009, 19:51 Titel: |
|
|
Bei mir klappt es, liegt also nicht grundsätzlich an der Kombination sGui+Linux.
Wegen /usr/lib/libsupc++.a würde ich gern weiterhelfen, aber ich finde gar nichts ähnliches bei mir. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4603 Wohnort: ~/
|
Verfasst am: 03.07.2009, 20:07 Titel: |
|
|
Mit meinem Linux auch nicht.
Allerdings habe ich einen kleinen Fehler in der Calculator.bas gefunden: Zeile 27
Code: | #include "SGUI\SimpleGadget.bas" |
(statt sGUI; und das wirft bei Windows keinen Fehler, also ist Windows vielleicht doch besser? ) _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|