Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

OpenWIZ-GUI

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 11.07.2010, 14:17    Titel: OpenWIZ-GUI Antworten mit Zitat

Hi
Ich habe eine neue, völlig unbrauchbare GUI geschrieben.
Ich habe sie "OpenWIZ-GUI" gennant, da sie ein Nachbau der in QBasic geschriebenen "WIZ-GUI" ist.

Folgende Funktionen sind enthalten:
-Fenster
-Buttons
-Textboxen

Das ganze hat gerade einmal 79 Zeilen Code grinsen

Hier ist ein Screen der beiliegenden Demo:


Hier der Download(61,8 KB; Demo liegt bei):
http://www.freebasic-portal.de/dlfiles/141/GUI.zip

Viel Spaß(den ihr mit Sicherheit nicht haben werdet) zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
-schumi-



Anmeldungsdatum: 28.10.2009
Beiträge: 131
Wohnort: Südbayern

BeitragVerfasst am: 11.07.2010, 15:07    Titel: Antworten mit Zitat

Hi

Also ich find das Teil gar nicht so schlecht Daumen rauf!

Zitat:
Das ganze hat gerade einmal 79 Zeilen Code

Das zeugt von einem Konstruktiven Programmierstil grinsen

Aber was mir echt abgegangen ist war, dass man die Fenster nicht bewegen kann.
Ich weis aber wie schwierig sowas zu realisieren ist. Hatte selbst schon mal versucht in QB eine GUI für DOS zu schreiben, names RingOS (Das Logo war ein Farbe wechselnder "Donut" durchgeknallt )
Das sollte man auch bis zu 500 Fenster öffnen können, sie verschieben, minimieren und Größe ändern. Das Problem: Es hat oft nicht das richtige Fenster erkannt und dann mit irgendeinem anderen irgendetwas anderes gemacht... (Aber das ist ne andere Geschichte und den Code dafür hab ich unfreiwillig verlohren peinlich )

Was du aber noch realisieren könntest währe, dass wen man mehrere Fenster öffnet das nach vorne rückt, in dessen Fläche man klickt.

MfG
-schumi-
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 11.07.2010, 15:22    Titel: Antworten mit Zitat

Zitat:
Hi

Also ich find das Teil gar nicht so schlecht

Danke happy

Zitat:
Das zeugt von einem Konstruktiven Programmierstil

Oder von zu wenig Motivation grinsen

Zitat:
Aber was mir echt abgegangen ist war, dass man die Fenster nicht bewegen kann.

Hm, das ist wirklich extrem schwer. Ich habe pervers viel versucht, damit man die Fenster verschieben kann, aber ich glaube das muss man dann mit Events/Types machen(womit ich nicht richtig zurecht komme, dann wird es bei mir schnell unübersichtlich)

Zitat:
Hatte selbst schon mal versucht in QB eine GUI für DOS zu schreiben

Das ist auch mein Hintergrund für diese GUI zwinkern

Zitat:
Was du aber noch realisieren könntest währe, dass wen man mehrere Fenster öffnet das nach vorne rückt, in dessen Fläche man klickt.

Stimmt. Das werde ich noch realisieren. zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 11.07.2010, 16:42    Titel: Antworten mit Zitat

lila heißt übrigens purple auf englisch zwinkern
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stueber



Anmeldungsdatum: 07.07.2008
Beiträge: 202

BeitragVerfasst am: 11.07.2010, 16:44    Titel: Antworten mit Zitat

Zitat:
Zitat:
Aber was mir echt abgegangen ist war, dass man die Fenster nicht bewegen kann.


Hm, das ist wirklich extrem schwer. Ich habe pervers viel versucht, damit man die Fenster verschieben kann, aber ich glaube das muss man dann mit Events/Types machen(womit ich nicht richtig zurecht komme, dann wird es bei mir schnell unübersichtlich)

Man braucht keine Type's oder so, nur eine Event Schleife die du ja eigentlich schon haben solltest. Du speicherst die Positionen und Größen aller Fenster, rufst getmouse auf und prüfst, ob der Klick in einem Fenster war. Wenn ja setzt du eine Variable mit der sich das Programm merkt, dass gerade das Fenster bewegt wird. Wenn die Maus los gelassen wird setzt du die Variable wieder auf den Ursprungswert. Wenn die Variable den Wert für "Fenster wird bewegt" hat und die Mausposition sich ändert im Vergleich zum vorherigen Schleifendurchlauf muss das Fenster dem entsprechend bewegt werden.
Wenn es durch Type's unübersichtlich wird machst du was falsch, das Gegenteil ist normalerweise der Fall. lächeln



Zitat:
Zitat:
Das zeugt von einem Konstruktiven Programmierstil

Oder von zu wenig Motivation grinsen

Oder von sehr unübersichtlichem Code-Stil grinsen

Das Programm
Code:
print "Hallo"
sleep
print "Blablabla"
sleep

kann auch so geschrieben werden:
Code:
print "Hallo" : sleep : print "Blablabla" : sleep

Ein Programm mit 20000 Zeilen bekommt man also theoretisch auch in eine Zeile. lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 11.07.2010, 17:56    Titel: Antworten mit Zitat

Zitat:
lila heißt übrigens purple auf englisch zwinkern

Ich hab keine 2 in Englisch verdient traurig

Danke für den Hinweis lächeln

Zitat:
Man braucht keine Type's oder so, nur eine Event Schleife die du ja eigentlich schon haben solltest. Du speicherst die Positionen und Größen aller Fenster, rufst getmouse auf und prüfst, ob der Klick in einem Fenster war. Wenn ja setzt du eine Variable mit der sich das Programm merkt, dass gerade das Fenster bewegt wird. Wenn die Maus los gelassen wird setzt du die Variable wieder auf den Ursprungswert. Wenn die Variable den Wert für "Fenster wird bewegt" hat und die Mausposition sich ändert im Vergleich zum vorherigen Schleifendurchlauf muss das Fenster dem entsprechend bewegt werden.
Wenn es durch Type's unübersichtlich wird machst du was falsch, das Gegenteil ist normalerweise der Fall. lächeln

Hmmmmm, ... mal schauen. Im Moment habe ich eh nicht viel Zeit. Das Programm habe ich nur geschrieben, weil mir gerade langweilig war. Nächste Woche habe ich wieder Zeit, dann kann ich mich daran versuchen, deinen Text in FB-Code umzusetzen. zwinkern

Zitat:
Ein Programm mit 20000 Zeilen bekommt man also theoretisch auch in eine Zeile. lächeln

Nur habe ich keine Doppelpunkte verwendet. Ich hab sogar noch leere Zeilen dazu gezählt, die zur Übersichtlichkeit zählen. zwinkern

Wegen den Types: Ich habe schon einmal versucht, eine GUI mit Types und Events zu schreiben. Ich kam nicht weit, da der Code zu lang wurde. Und wenn es zu viel Code wird, verliere ich die Übersicht. Außerdem ist es auch eine Herausforderung, mit einfachsten Befehlen eine GUI zu coden.(Immerhin basiert das ganze auf einem eigens geschriebenen Eventsystem, welches nur aus IF-Abfragen besteht(Siehe "Buttons.bas")) zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.

 Impressum :: Datenschutz