Chicago-GUI(WiP)

Diskussion zum Thema Programmierung unter DOS (Intel x86)
Westbeam
HELP.COM-Benutzer
Beiträge: 31
Registriert: So 14. Mär 2010, 21:31

Re: Chicago-GUI(WiP)

Beitrag von Westbeam »

Ok, wusst ich nicht.

Ehm, also erstmal ist das FreeBasic(sozusagen die OpenSource-Variante von QBasic) und zweitens ist das eine Eigenart von allen Basic-Varianten. Basic ist ja dafür da, ein Programm schnell zu programmieren und außerdem ist die Sprache extrem einfach zu lernen. Die GUI, die ich geschrieben habe hat vielleicht ca. 250 Zeilen(ohne die Demo). ;-)
Benutzeravatar
oDOSseus
LAN Manager
Beiträge: 239
Registriert: Di 10. Aug 2010, 15:21

Re: Chicago-GUI(WiP)

Beitrag von oDOSseus »

Achso.
Gut.

Das leist deine Leistung, dann etwas menschlicher wirken =).
Aber ich find das echt gut. Was hast du vor mit der GUI zu machen? Also willst du es bis hin zu einem windows-ähnlichen Aufsatz ausbauen oder einfach das framework für kommende Projekte haben?
Westbeam
HELP.COM-Benutzer
Beiträge: 31
Registriert: So 14. Mär 2010, 21:31

Re: Chicago-GUI(WiP)

Beitrag von Westbeam »

Will ein Windows 95 Klon machen, als alternative Oberfläche für DOS. Allerdings hänge ich gerade bei Text- und Checkboxen und komme (noch nicht) weiter. Allerdings will ich die GUI auch in abgeänderter Form für mein (3D-)Spiel X-the forgotten battles nutzen. ;-)
Benutzeravatar
oDOSseus
LAN Manager
Beiträge: 239
Registriert: Di 10. Aug 2010, 15:21

Re: Chicago-GUI(WiP)

Beitrag von oDOSseus »

was ist denn das problem bei den textboxen? ich habe meine nämlich heute fertig programmiert. bis auf ein zwei irrelevante bugs. vllt. kann ich dir helfen.
Westbeam
HELP.COM-Benutzer
Beiträge: 31
Registriert: So 14. Mär 2010, 21:31

Re: Chicago-GUI(WiP)

Beitrag von Westbeam »

Folgendes ist die SUB "AddTextBox":

Code: Alles auswählen

Sub AddTextBox(x As Integer,y As Integer,w As Integer,ByVal id As Integer,ByVal num As Integer)
	Dim As String text
	Dim As Integer textz,inum
	Line (wx(num)+5+x,wy(num)+26+y)-(wx(num)+5+x+w,wy(num)+42+y),15,BF
	Line (wx(num)+5+x,wy(num)+26+y)-(wx(num)+5+x+w,wy(num)+42+y),15,B
	Line (wx(num)+5+x,wy(num)+26+y)-(wx(num)+4+x+w,wy(num)+26+y),8
	Line (wx(num)+5+x,wy(num)+26+y)-(wx(num)+5+x,wy(num)+41+y),8
	Line (wx(num)+6+x,wy(num)+27+y)-(wx(num)+4+x+w,wy(num)+41+y),7,B
	Line (wx(num)+6+x,wy(num)+27+y)-(wx(num)+6+x+w-3,wy(num)+27+y),0
	Line (wx(num)+6+x,wy(num)+27+y)-(wx(num)+6+x,wy(num)+40+y),0
	If (mx>wx(num)+5+x And mx<wx(num)+5+x+w) And (my>wy(num)+26+y And my<wy(num)+42+y) And buttons=1 Then
		inum=1
	End If
	If inum=1 Then
		Color 0
		'Select Case key2
		'	Case 32 To 255
				key2=Inkey
				text=text+key2
				textz=Len(text)*8
				Draw String(wx(num)+8+x+textz,wy(num)+28+y),text
		'	Case 13
		'		Draw String(wx(num)+8+x,wy(num)+28+y),text
		'	End Select
	End If
End Sub
Wenn ich auf das Feld klicke, dann sollte man eigentlich den Text eingeben können, allerdings muss ich die Taste gedrückt halten und es erscheint immer nur für sehr kurze Zeit ein einzelner Buchstabe :-/
Benutzeravatar
oDOSseus
LAN Manager
Beiträge: 239
Registriert: Di 10. Aug 2010, 15:21

Re: Chicago-GUI(WiP)

Beitrag von oDOSseus »

Ich erwartete eher eine Logik-Frage, da ich kein Basic kann.
Warum heißt die funktion "AddTextBox"? müsstest du nicht eine "ReadTextBox" funktion haben?
Du könntest zum debugging einfach dir ein paar bedingungen aussuchen, bei denen die ifs funktionieren sollen und diese mal im kopf oder aufm papier einsetzen und gucken, ob der term in der if-Abfrage true oder false ergibt. du könntest auch jedes einzeln abfragen und dann ausgeben, ob es true oder false ist.

warum benutzt du eig "if" und nicht sowas wie "while". denn "if"s werden ja eh nur einmal ausgeführt.
Benutzeravatar
oDOSseus
LAN Manager
Beiträge: 239
Registriert: Di 10. Aug 2010, 15:21

Re: Chicago-GUI(WiP)

Beitrag von oDOSseus »

Wie hast du bei dir eig. die frage gelöst, welches Fenster im Vordergrund ist?
wie fragst du ab, worauf geklickt wurde?
Westbeam
HELP.COM-Benutzer
Beiträge: 31
Registriert: So 14. Mär 2010, 21:31

Re: Chicago-GUI(WiP)

Beitrag von Westbeam »

Die Frage habe ich noch gar nicht gelöst, weil ich noch keinen Plan habe, wie ich dies anstellen soll. Tatsache ist, dass die Fenster in der Reihenfolge gezeichnet werden, wie es im Quelltext steht und es ist unmöglich diese Reihenfolge zu ändern, während das Programm läuft. Ich muss mir bei diesem Punkt also eine andere Lösung einfallen lassen ...

Ich habe aber andere gute Neuigkeiten:
Chicago-GUI unterstützt superlatives Ultratasking, nomensklature Dateifragmenturen, exessives Abspacking und Extreme-Abstürzing außerdem hatt es eine enorme Grafikleistung. Chicago-GUI vereint alle Vorteile der unbekannten Vätereditionen . So übernimmt es extreme Kompatibilitätsprobleme und abgespeckte Spezifikationen, sowie extrem coole Bluescreens und die Sinnlosigkeit von anderen unsinnigen DOS-GUIs.

...

Stupidedia ist schon toll.
Westbeam
HELP.COM-Benutzer
Beiträge: 31
Registriert: So 14. Mär 2010, 21:31

Re: Chicago-GUI(WiP)

Beitrag von Westbeam »

All die Jahre wieder ...

Habe weiter an der GUI gearbeitet, ab sofort kann man Fenster aktivieren, sie also in den Vordergrund holen. Ebenso habe ich das Aussehen wieder verändert, sodass es nun wie die frühen OS/2 Versionen(btw. Win 3.0) ausschaut:
Bild
Es beherrscht alle Gadgets aus der alten Version und diesmal auch funktionierende Checkboxen. Bild

Ich denke ich werde es zu einem OS/2 1.3 Klon ausbauen, da dies immer mein absolutes lieblings OS war(bevor Microsoft aus dem Projekt ausgestiegen ist). Besonders fehlen mir unter heutigen System der Programmanager, denn es ja nur noch unter Windows XP SP1 und WINE gibt.
Benutzeravatar
oDOSseus
LAN Manager
Beiträge: 239
Registriert: Di 10. Aug 2010, 15:21

Re: Chicago-GUI(WiP)

Beitrag von oDOSseus »

Wie hast du die Fenster sortiert? Das interessiert mich brennend.
Westbeam
HELP.COM-Benutzer
Beiträge: 31
Registriert: So 14. Mär 2010, 21:31

Re: Chicago-GUI(WiP)

Beitrag von Westbeam »

Über ein Z-Array.
Jedes Fenster ist ein Image-Ptr, also ein Bild. In dieses Bild werden dann die jeweiligen Gadgets eingezeichnet, sodass man für diese keine eigenen Z-Arrays benötigt. Das Image-Ptr des Fensters, welches ausgewählt ist, wird an erster Stelle gezeichnet.
Antworten