Übungsaufgabe für alle :: Nr. 2

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

wunderkind

Betreff: Übungsaufgabe für alle :: Nr. 2

BeitragMi, Dez 08, 2004 10:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Nachdem es in der letzten Aufgabe um das geschickte Einsetzen logischer Operatoren ging, befasst sich die neue Aufgabe mit Types. Eine Woche habt ihr Zeit, sie zu lösen (bis zum 15.12.).

Aufgabe
Erstelle ein Programm, welches eine einfache Menüstruktur darstellt und es erlaubt, durch das Menü zu wandern. Ein Beispiel findet ihr HIER. Die Menüeinträge können entweder (wie im Beispiel) mit den Cursortasten (+Enter) durchlaufen werden oder mit Tastenkürzeln. Im Beispiel deuten die Punkte (..) an, dass noch ein Untermenü zum jeweiligen Menüpunkt existiert.

Vorgabe
Zur Verwaltung der Menüeinträge müssen Types verwendet werden.

Eine Bitte
Bitte posted eure vollständigen Lösungen nicht vor Mittwoch 15.12. damit alle eine Chance haben, selbstständig ihre Lösung zu finden. Fragen und Teillösungen sind natürlich willkommen, damit jeder hier etwas lernen kann.

Na dann, ran an die Tastaturen.
  • Zuletzt bearbeitet von wunderkind am Sa, Dez 18, 2004 17:53, insgesamt einmal bearbeitet

wunderkind

BeitragFr, Dez 10, 2004 23:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Braucht ihr Hilfe oder habt ihr eure Lösungen schon längst fertig?

wunderkind

BeitragMo, Dez 13, 2004 0:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Nur noch drei kurze Tage.

regaa

BeitragMo, Dez 13, 2004 10:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Zu schwer Laughing
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net

wunderkind

BeitragMo, Dez 13, 2004 12:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Glaube ich gern Wink! Gegenbeweise sind gefragt!
 

Aldi

BeitragMo, Dez 13, 2004 20:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaub nach 7 Zeilen hab ich wieder aufgehört.
Jaja... die faule Jugend von heute Smile
goto jollyroger.cabanova.de

Ctuchik

BeitragMo, Dez 13, 2004 22:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Genau! Den Anfängern ist es zu schwer! Und die die wissen wies geht haben keine Lust ihre Zeit damit zu verschwenden Very Happy !
Zu den Nebenwirkungen gehören trockener Mund, Übelkeit, Erbrechen, Harnstau, schmerzhafter rektaler Juckreiz, Halluzinationen, Demenz, Psychose, Koma, Tod und Mundgeruch!
Magie eignet sich nicht für alle!
Fraget euren Arzt oder Apotheker!
 

Blitzkrieg Bop

BeitragDi, Dez 14, 2004 0:37
Antworten mit Zitat
Benutzer-Profile anzeigen
@ Wunderkind: Warum noch nicht auf meine PN geantwortet? Neutral
~ Hey Ho Let's Go ~

wunderkind

BeitragDi, Dez 14, 2004 8:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Nun, wenn die Aufgabe zu schwer ist, dann können wir gern eine Woche dranhängen. Zudem ist die Aufgabe ja dafür da, gelöst zu werden. Und zwar mit der Hilfe aller. Fragen sind also unbedingt willkommen!

Blitzkrieg Bop hat Folgendes geschrieben:
@ Wunderkind: Warum noch nicht auf meine PN geantwortet? Neutral

Tut mir leid, habe ich nicht gesehen. Werde ich heute abend nachholen.

regaa

BeitragDi, Dez 14, 2004 9:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Darf ich eine ganze GUI posten? Oder zumindest benötigte Teile davon zu extrahieren und hier zu posten?
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net

wunderkind

BeitragDi, Dez 14, 2004 18:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Poste ein funktionierendes Programm. Das genügt Wink. Wenn du den Code eines kompletten GUIs postest, dann werden es die wenigsten verstehen, daraus etwas und nutzen können.
 

Aldi

BeitragDi, Dez 14, 2004 21:38
Antworten mit Zitat
Benutzer-Profile anzeigen
@Ctuchik: Das Dumme bei mir ist, das ich es tatsächlich nicht kann.

Die Aufgabe wollte ich eigentlich tatsächlich lösen, aber werder die Onlinehilfe, noch Renés Buch konnten mir ordentlich Types erklären. schade...
goto jollyroger.cabanova.de

wunderkind

BeitragDi, Dez 14, 2004 21:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Stell doch deine Fragen einfach genau hier. Gibt genügend Leute, die helfen können.

Hier mal ein Teil meines recht simplen Ansatzes. Vielleicht genügt das schon als Denkanstoß.

BlitzBasic: [AUSKLAPPEN]

Type tmenu_item
Field name$
Field item_text$
Field submenu$ ; name of the submenu item
Field group_id%
End Type

Global active_item$ = \"\" ; item which is highlighted
Global active_group%


AppTitle(\"Menu Application\")
Graphics(800,600,32,2)
SetBuffer(BackBuffer())

add_menu_item(\"menu01\",\"DATEI..\",\"menu11\",1)
add_menu_item(\"menu02\",\"BEARBEITEN..\",\"menu07\",1)
add_menu_item(\"menu03\",\"EXTRAS..\",\"menu16\",1)

add_menu_item(\"menu11\",\"NEU\",\"\",4)
add_menu_item(\"menu12\",\"ÖFFNEN\",\"\",4)
add_menu_item(\"menu13\",\"SENDEN..\",\"menu04\",4)
add_menu_item(\"menu14\",\"ZURÜCK\",\"menu01\",4)

add_menu_item(\"menu04\",\"E-MAIL-EMPFÄNGER\",\"\",2)
add_menu_item(\"menu05\",\"FAXEMPFÄNGER\",\"\",2)
add_menu_item(\"menu06\",\"ZURÜCK\",\"menu13\",2)

add_menu_item(\"menu07\",\"EINFÜGEN\",\"\",5)
add_menu_item(\"menu08\",\"SUCHEN\",\"\",5)
add_menu_item(\"menu09\",\"ERSETZEN\",\"\",5)
add_menu_item(\"menu15\",\"ZURÜCK\",\"menu02\",5)

add_menu_item(\"menu16\",\"SPRACHE\",\"\",6)
add_menu_item(\"menu17\",\"MAKRO\",\"\",6)
add_menu_item(\"menu18\",\"ANPASSEN\",\"\",6)
add_menu_item(\"menu19\",\"OPTIONEN..\",\"menu21\",6)
add_menu_item(\"menu20\",\"ZURÜCK\",\"menu03\",6)

add_menu_item(\"menu21\",\"ANSICHT\",\"\",7)
add_menu_item(\"menu22\",\"ALLGEMEIN\",\"\",7)
add_menu_item(\"menu23\",\"DRUCKEN\",\"\",7)
add_menu_item(\"menu24\",\"ZURÜCK\",\"menu19\",7)

active_group% = 1
active_item$ = \"menu01\"

While Not quit
Cls()

If KeyHit(1) Then quit = True
If KeyHit(208) Then activate_next_item()
If KeyHit(200) Then activate_prev_item()
If KeyHit(156) Or KeyHit(28) Then do_menu_action()

render_menus()

Flip()
Wend

Suco-X

Betreff: .........

BeitragMi, Dez 15, 2004 2:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin.
Da ich sowieso nicht schlafen kann und es hier noch so leer ist, habe ich gleich auch mal einen Beitrag verfasst.
Ich denke ist alles ausreichend Kommentiert. Leider auch ziemlich kompliziert für die lieben Anfänger. Aber einfacher gings nicht mehr. Also Sorry für anfallende Kopfschmerzen.

Für die Erstellung eines Menüs habe ich mir Bplus
als Vorbild genommen.(Die Befehle+Parameter)

Bewegung mit Pfeiltasten und Enter/Return

BlitzBasic: [AUSKLAPPEN]

;< Beispiel für eine Menü Struktur für Übungsaufgabe 2 im Blitzforum By Suco-X >
;< Dieser Code darf frei verwendet werden >
;< Mfg Suco >



Graphics 1024,768,16,2
SetBuffer BackBuffer()

SetFont(LoadFont(\"Arial\",15,True))


;#######################################################################################


;Menue Type
;txt = Titel des Menü eintrages
;width,height = Größe des eintrages. Wird Auto. berechnet.
;num = Ansprechnummer
;menue_baum = Das Menue von dem der Eintrag ein Ast ist. ->
;damit lassen sich die Einträge untereinander verbinden. ->
;Default wert ist dabei Null. Also alle Einträge die zuerst ->
;erscheinen sollen müssen bei CreateMenue ein Null für menue_baum kriegen.
;Ich denke aber die CreateMenue Funktion erklärt sich von selbst.

Type t_menue
Field txt$
Field width,height
Field num
Field menue_baum.t_menue
End Type




;3 Variablen die im Globalen Umgang mit dem Menü benötigt werden
;Menue_Baum = Speichert den Aktuellen menue_baum zwischen.
;selected_menue = Speichert das gerade Selectierte Menü zwischen
;back_menue = Der \"zurück\" button
;Weiter Infos unten in den Functionen

Global menue_baum.t_menue = Null
Global selected_menue.t_menue = Null
Global back_menue.t_menue = Null



;#######################################################################################







;Hier wird gezeigt wie man mit mehreren Einträgen und
;Subeinträgen und deren Subeinträgen umgeht.

;Das Hauptmenü
menu1.t_menue = SU_CreateMenue(\"Datei\",1,Null)
;Erste Submenüs vom Hauptmenü(menu1)

SU_CreateMenue(\"Speichern\",2,menu1)
SU_CreateMenue(\"Laden\",3,menu1)

;Da auf Quit noch weiter Submenüs folgen, brauchen wir wieder das Object was
;CreateMenue zurück liefert
ast1.t_menue = SU_CreateMenue(\"Quit\",4,menu1)

;Und noch einer
ast2.t_menue = SU_CreateMenue(\"Wirklich?\",5,ast1)

;Und das ende vom Lied.
SU_CreateMenue(\"Jep\",6,ast2)

;Das ganze sieht also so aus :

;Datei-
; Speichern
; Laden
; Quit-
; Wirklich?-
; Jep- Ende


;Um das ganze Beispiel zu füllen.Das Beispiel oben reicht als Erklärrung denke ich
menu2.t_menue = SU_CreateMenue(\"Bearbeiten\",10,Null)
SU_CreateMenue(\"Ausschneiden\",11,menu2)
SU_CreateMenue(\"Einfügen\",12,menu2)



;.......
menu3.t_menue = SU_CreateMenue(\"About\",20,Null)
SU_CreateMenue(\"Suco\",21,menu3)
SU_CreateMenue(\"xyz\",22,menu3)


;Wichtig : Muss aufgerufen werden, sonst Error
SU_ReleaseMenue()




;Einige Variablen die ich für dieses Beispiel brauche

Global is_hit = 0
Global last_hit = 0
Global quit = 0







Repeat
ClsColor 100,100,100
Cls

;Su_UpdateMenue gibt gleichzeitig auch immer die Ansprech Nummer
;des menüs zurück das gedrückt wurde
is_hit = Su_UpdateMenue(50,50)


;Sollte UpdateMenue an is_hit einen Wert größer als 0 zurückgeliefert haben
If is_hit
;Speichern wird die Nummer zwischen
last_hit = is_hit
EndIf

;Wenn is_hit=6(Der \"jep\" Eintrag bei \"Quit\",siehe oben), ist quit 1
;Und die Schleife wird verlassen
quit = (Is_hit=6)



;Gibt den zuletzt gedrückten Eintrag aus
Text 0,0,\"Zuletzt gedrückter Eintrag: \"+last_hit

Flip
Until quit Or KeyHit(1)








;**************************************************************************************



;Erstellt ein Menü und gibt das Object zurück.
;txt = Titel das Eintrages
;num = Ansprechnummer
;menue_baum = Menü Baum

Function SU_CreateMenue.t_menue(txt$,num,menue_baum.t_menue)

Local menue.t_menue = Null


;Ein Menue Object erstellen und mit den Functions Parametern füllen
menue = New t_menue
menue\txt = txt
menue\num = num
menue\menue_baum = menue_baum

;Hier werden die ausmase ermittelt der einträge durch Weite und Höhe des Eintrag titels ermittelt.
;Vllt nicht die beste Lösung. Aber der Zweck heiligt die Mittel
menue\width = StringWidth(menue\txt)+30
menue\height = StringHeight(menue\txt)+10


;Das Menue Object wird zurück gegeben
Return menue
End Function





;Zeichnet ein Menü Eintrag
;menue = Menü Object
;x = x Position
;y = y Position

Function SU_DrawMenue(menue.t_menue,x,y)

;Hintergrund Farbe und Rect
Color 200,200,200
Rect x,y,menue\width,menue\height


;Der Rahmen.
;Übereinstimmt das Menue Object mit dem Globalen selected_menue Object, so ist die
;Rahmenfarbe Grün. Andernfalls Matt/schwarz
;\"menue=selected_menue\" gibt 1 zurück bei Erfolg, andernfalls eine 0
;50+(1*200) wären 250, also grün.
;50+(0*200) wären 50, also insgesamt Matt

Color 50,50+((menue=selected_menue)*200),50
Rect x,y,menue\width,menue\height,0


;Der Menue Text in Nachtschwarz
Color 0,0,0



;Sollte ein Ast exestieren, so kommen noch 3 \".\" hinten dran.
;Andernfalls nur der Menue Titel
If SU_AstExist(menue)
Text x+(menue\width/2),y+(menue\height/2),menue\txt+\"...\",1,1
Else
Text x+(menue\width/2),y+(menue\height/2),menue\txt,1,1
EndIf


Return True
End Function




;Updated das ganze. Herzstück des Codes. Alles mit schwachen nerven am besten
;überspringen Wink
;Ich versuche es aber trotzdem so klärend wie möglich für Anfänger zu kommentieren

Function SU_UpdateMenue(x,y)

;Locale Variablen die nur in dieser Funktion genutzt werden.

Local menue.t_menue = Null
Local menue_x = x
Local menue_y = y

Local next_menue.t_menue = Null
Local temp_num = 0


;Alle Menue Type Einträge werden Durchgegangen

For menue = Each t_menue

;Sollte der menue_baum des Menue Eintrages mit der Global Variable menue_baum
;übereinstimmen, so wird das ganze gezeichnet.
If menue\menue_baum = menue_baum

;Die Function Siehe oben
SU_DrawMenue(menue,menue_x,menue_y)

;Damit auch alles untereinander gelistet wird, wird
;menue_y mit der höhe des alten Menue Eintrages Addiert
;Damit wird erreicht das von oben nach unten aufgelistet wird.
;Von dem Functionsparameter y aus.
;X hingegen bleibt Original bestehen

menue_y = menue_y+menue\height
EndIf
Next



;Wird die Pfeil nach oben Taste gedrückt....
If KeyHit(208)

;Wird der nächste Menue Eintrag gesucht.
;SearchAfter Function siehe unten.
;Es wird ein Eintrag gesucht der tiefer liegt als der alte.

next_menue = SU_SearchAfter(selected_menue)

;Sollte ein weiterer Eintrag gefunden worden sein,
;ist unser selected_menue Object = next_menue
If next_menue<>Null
selected_menue = next_menue
EndIf
;Wird die Pfeil nach unten Taste gedrückt....
ElseIf KeyHit(200)

;Gleiches wie oben, nur wird ein Eintrag gesucht der Höher als
;der alte ist;

next_menue = SU_SearchBefore(selected_menue)

If next_menue<>Null
selected_menue = next_menue
EndIf

EndIf


;Wird die Enter/Return Taste gedrückt..
If KeyHit(28)

;Wenn der zurück Button Selectiert ist
If selected_menue = back_menue
;Wird der Menue baum umgeschaltet und mit SU_ReleaseMenue neu Sortiert
menue_baum = back_menue\menue_baum\menue_baum
SU_ReleaseMenue()
Else
;andernfalls wird zu der nächsten Eintragsreihe gewechselt
;Falls ein Ast Exestiert(Siehe AstExist Function)
;Danach wieder alles neu sortiert mit ReleaseMenue()
temp_num = selected_menue\num

If SU_AstExist(selected_menue)
menue_baum = selected_menue
SU_ReleaseMenue()
EndIf
EndIf
EndIf


Return temp_num
End Function




;Function zum suchen von Type einträgen vor einem anderen Eintrag
Function SU_SearchBefore.t_menue(menue.t_menue)

Local this.t_menue = Null
Local new_menue.t_menue = menue

;Solange wiederholen bis this ein Object gespeichert hat.
;Falls es keinen Erfolg hat wird die Schleife beendet wenn
;es keine Type Einträge mehr gibt
Repeat

new_menue = Before new_menue

If new_menue<>Null
If new_menue\menue_baum = menue_baum
this = new_menue
;Gibt das richtig Object zurück bei Erfolg
Return this
EndIf
EndIf

Until new_menue = First t_menue Or new_menue=Null


;Sollte kein Object gefunden wordne sein, so wird Null zurück gegeben
Return Null
End Function




;Das gleiche wie oben. Nur wird hinter dem gewünschten Eintrag gesucht.
Function SU_SearchAfter.t_menue(menue.t_menue)
Local this.t_menue = Null
Local new_menue.t_menue = menue

Repeat

new_menue = After new_menue

If new_menue<>Null
If new_menue\menue_baum = menue_baum
this = new_menue
Return this
EndIf
EndIf

Until new_menue = Last t_menue Or new_menue=Null


Return Null
End Function



;Prüft ob ein Sub Einträge Existieren
Function SU_AstExist(ast.t_menue)
Local menue.t_menue

For menue = Each t_menue
If menue\menue_baum = ast
Return True
EndIf
Next

Return False
End Function



;Wichtige Daten werden gesetzt und ein Eintrag gesucht der
;am Anfang selectiert sein soll

Function SU_ReleaseMenue()

If back_menue<>Null
Delete back_menue
EndIf

If menue_baum<>Null
back_menue = SU_CreateMenue(\"Zurück\",0,menue_baum)
EndIf

SU_Search()

Return True
End Function



;Sucht den ersten richtigen Eintrag der passt
;und setzt ihn als selected.
Function SU_Search()
Local menue.t_menue

For menue = Each t_menue
If menue\menue_baum = menue_baum
selected_menue = menue
Return True
EndIf
Next

Return False
End Function



;**************************************************************************************



Mfg Suco
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB
 

Blitzkrieg Bop

BeitragMi, Dez 15, 2004 15:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Blitzkrieg Bop hat Folgendes geschrieben:
@ Wunderkind: Warum noch nicht auf meine PN geantwortet? Neutral

Tut mir leid, habe ich nicht gesehen. Werde ich heute abend nachholen.

Tz...! Rolling Eyes
~ Hey Ho Let's Go ~

wunderkind

BeitragMi, Dez 15, 2004 18:08
Antworten mit Zitat
Benutzer-Profile anzeigen
@Suco-X
Sehr schön. Was kann ich dazu noch sagen. Vielleicht solltest du öfter schlaflos bleiben Wink.

@Blitzkrieg Bop
Tut mir leid für die Verspätung der Antwort. Wurde gerade nachgereicht.
 

Blitzkrieg Bop

BeitragMi, Dez 15, 2004 18:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Ah, PN ist da Wink
Nicht schlimm das es ein bisschen gedauert hat Twisted Evil Very Happy
Naja, wenn ich Zeit finde, verbessere ich meinen Source und poste ihn die Tage.

@ Suco: Nicht schlecht Exclamation
~ Hey Ho Let's Go ~
 

Aldi

BeitragMi, Dez 15, 2004 18:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm... naja, ich denke nicht, daß ich einen solch langen Code nur für ein Menü machen würde...
goto jollyroger.cabanova.de

Suco-X

Betreff: .........

BeitragMi, Dez 15, 2004 20:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Auch wenn ich gewollt hätte. Viel kürzer ging es einfach nicht für ein halbwegs anständiges Menü dieser Art. Auch als Anfänger solltest du dich langsam damit abfinden das Features für ein Programm/Game mal mehr als 20 Zeilen Code verbrauchen werden, Aldi. Schade das sonst anscheinend keiner mitgemacht hat. Die Aufgabenstellung war vielleicht doch ein wenig zu hoch angesetzt für diesen Forum Bereich.
Aber solche Übungsaufgaben find ich eine sehr gute Idee, Wunderkind. Weiter so.
Mfg Suco
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB

Kryan

BeitragMi, Dez 15, 2004 20:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Schlechte Dokumentierung aber gutes Programm von K r y a n Smile
Code: [AUSKLAPPEN]

Graphics 640,480
SetBuffer BackBuffer()
Type menu
 Field name$   ;name$
 Field x,y     ;Koordinaten
 Field id      ;Die Id-Nummer für das Menu
 Field mainid  ;Das Parent-Menu
 Field kids    ;Anzahl der Kinder
End Type

Global aktivesmenu=0,programm=0 ;das gewählte menü,main-menü
;Erstellung der Menüs
CreateBasisMenu(20,-20)     ;Einleitung eines Menüprogramms (x,y)
menufile=CreateMenu("Datei",1,programm)
menuedit=CreateMenu("Bearbeiten",2,programm)
menusave=CreateMenu("Speichern",10,menufile)
menuload=CreateMenu("Laden",11,menufile)
menuend=CreateMenu("Ende",12,menufile) 
Repeat
 Cls
 If menu()=menuend Then End  ;Wenn das aktive Menu menuend ist dann ENDE
 DrawAllMenues()             ;Zeichen- und Kollisionsfunktion der Menüs
 Flip
Until KeyHit(1)

Function Menu()
 Return aktivesmenu          ;liefert das aktive menü zurück
End Function
Function CreateBasisMenu(x,y) ;ERstellung des Basis-Menus
 obj.menu=New menu
 obj\name$=""
 obj\x=x
 obj\y=y
 obj\id=0
 obj\mainid=0
 Return id
End Function
Function FindOutHandleFromId(id)
 For obj7.menu=Each menu
  If obj7\id=id Then Return Handle(obj7)
 Next
End Function
Function CreateMenu(name$,id,mainid)
 obj.menu=New menu
 obj2.menu=Object.menu(FindOutHandleFromId(mainid))
 obj\name$=name$
 obj\x=obj2\x+obj2\kids*100
 obj\y=obj2\y+20
 obj\id=id
 obj\mainid=mainid
 obj2\kids=obj2\kids+1
 Return id
End Function
Function DrawAllMenues()
 mh=MouseHit(1)
 For obj.menu=Each menu
  If aktivesmenu=obj\mainid Or aktivesmenu=obj\id Or obj\id<10 Then
   Color 0,255,0
   Rect obj\x,obj\y,StringWidth(obj\name$)+3,StringHeight(obj\name$)+3
   Color 255,0,0
   Text obj\x+1,obj\y+1,obj\name$
   If mh And MouseX()>obj\x And MouseX()<obj\x+StringWidth(obj\name$)+3 And MouseY()>obj\y And MouseY()<obj\y+StringHeight(obj\name$)+3 Then
    aktivesmenu=obj\id
   End If
  End If
 Next
End Function
[/syntax]
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group