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:

Visual freeBASIC

 
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
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 29.10.2005, 23:29    Titel: Visual freeBASIC Antworten mit Zitat

Vor einiger Zeit ist im FB-Forum die Frage nach einem FB-Gui-Toolkit aufgetaucht. Sebi meinte dazu, dass diese Aufgabe auch für einen einzelnen Progger schaffbar wäre. => Ausprobieren zwinkern

Nun, hier seht ihr das Ergebnis der ersten 6 Arbeitstage.

Inhalt des Archivs:
test.exe - Eine kleine Vorschau auf die Fähigkeiten des Progs.
VisualFB.bi - Alle Deklarationen, Typen, Globale Variablen
DrwCtrls.bas - Zeichnet alle Controlls
ManageCtrls.bas - Verwaltet die Controlls
FBF.bas - Font-Routine
Test.bas - Testet die einezelnen Funktionen vom Paket
OEM.FBF - die Font-File
VFB.FBS - die FB-Sitzung


Um ein GUI zu erstellen, muss, fast wie in VB nur noch ein UDT ausgefüllt, und dieser dann eingetragen werden. Das könnte z.B. so aussehen:
Code:
Title = "Mein Fenster"
Dim Form As FormType
With Form
   With .p
      .x1  = 100
      .y1  = 100
      .x2  = 500
      .y2  = 500
   End With
   .capt  = StrPtr(Title)
   .back  = CL_Window
   With .state
      .actualize  = 1
      .disabled   = 0
      .front      = 1
      .min        = 0
      .max        = 0
      .minbtn     = 1
      .maxbtn     = 1
      .closebtn   = 1
   End With
End With
hWnd = AddCtrl(Form)


Für Später habe ich mir auch die "klassischen VB-Events" vorgenommen, z.B. Aufruf einer Prozedur, wenn auf ein Controll geklickt wird.

Was bereits funktioniert, ist das Ändern der Poistion und des Status der Controlls.



Sobald das alles mal Funktioniert, möchte ich auch eine echte IDE erstellen, so dass man - wie in VB - per Mausklick sein GUI erstellen kann, und dabei nicht auf die Vorzüge von FB verzichten muss.

Seht euch die Codes an, und sagt mir, was ihr davon haltet.


Danke.

have a nice day
Ciao
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Lutz Ifer
Grillmeister


Anmeldungsdatum: 23.09.2005
Beiträge: 555

BeitragVerfasst am: 30.10.2005, 13:47    Titel: Antworten mit Zitat

Servus!

Zitat:
Forbidden! 403 - Hotlinking not allowed


Gruß
Lutz böse Ifer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 30.10.2005, 13:49    Titel: Antworten mit Zitat

@Lutz Ifer
Ein kleiner Workaround: geh auf
http://dhost.info/
und ändere dann die Adresszeile zu
http://dhost.info/siteofkaos/freeBASIC/VFB.zip
dann gehts grinsen

@Dusky_Joe
sieht Interrasant aus, wobei das Beispiel etwas Abstrakt ist.
Mal ne Frage: Willst du das Sleep1 beihalten oder durch einen echten Event-Manger ersetzten?
Und wird dein Projekt irgendwann mal Multi-Tasking unstützung haben grinsen?
Versteh's nicht Falsch, aber es wirkt irgendwie wirkt dein Programm wie ein Fake-OS aus QBasic zeiten ...
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 31.10.2005, 17:46    Titel: Antworten mit Zitat

Irgendwann soll schon mal ein echter Event-Manager rein, deswegen auch die Comments CheckKey und CheckMouse (oder wie ich sie genannt habe).
Dazu (so habe ich mir gedacht), wäre dann das Array Actions() im Type Controlltye. Der Index dieses Arrays würde dann ein Event (wie z.B. Klick) bezeichnen. Der Wert wäre ein Pointer auf ein Programm, dass bei dem entsprechenden Event aufgerufen wird.


Das Sleep 1 erfüllt mehr oder weniger keinen Zweck, es soll nur den Prozessor ein bisschen entlasten - Tipp vom Igel.

Ein Fake-OS... naja, man könnts damit vergleichen, auch wenns nicht wirklich mein Ziel ist. Das Endergebnis sollte eigentlich eine IDE sein, wie man sie aus VB kennt.
Wenn du so willst, ist mein Ziel also kein Fake-OS, sondern eher ein Fake-OS-Maker zwinkern

Die Beispiele:
Zugegeben - es wird wohl selten vorkommen, dass man ein Prog erstellt, bei dem sich der Button bewegen soll. Das ganze war eigentlich auch nur als Test von SetCtrlRPos gedacht. Diese Funktion wird man als User wohl recht selten einsetzen, das übernimmt dann das Endprogamm intern.

Sprich, die VB-Zeile

Button.x1 = 70

Würde dann interpretiert zu

SetCtrlRPos GetHandle("Button"), p

oder so....
Verdammt, wird das kompliziert zwinkern
Ich hoffe bloß, dass das ganze nicht zu langsam wird...



@ Lutz Ifer:
Ein anderer Walkaround: Wenn du diesen Link benutzt:
http://dhost.info/siteofkaos/freeBASIC/
Bekommst du einen Index des Verzeichnisses. Das meiste, was da so rumliegt, gehört noch zur Befehlsreferenz, auf jeden fall sollte auch die VFB drin liegen.

Allerdings sollte schon einfaches kopieren der Adresse in die Adresszeile des Browsers genügen zwinkern
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
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