addresbuch klapt nit so richtig
Übersicht

cybyBetreff: addresbuch klapt nit so richtig |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hi,
ich habe jetzte mal mein erstes Programm in B+ geschrieben, leider geht es nicht so richtig und zwar, wenn man auf Datei->Neue Addresse klickt sollte man in alle Felder schreiben können , doch sie sind dann immer noch gespeert ! Code: [AUSKLAPPEN] window_fenster = CreateWindow("Addresbuch",100,100,200,300,0)
SetStatusText window_fenster,"Dies ist ein einfaches Addresbuch!" ;<<<<<<<<<<<< variablen Global new_addresse = 0 ;0 = muss erster eine neue Addresse Wählen ; 1 = es muss keine neue Addresse gewählt werden Global vorname$ = "" Global nachname$ = "" Global ort$ = "" Global platz$ = "" Global strase$ = "" Global telefonnummer$ = "" Global handynummer$ = "" Global e_mail$ = "" Global homepage$ = "" Global icq$ = "" ;<<<<<<<<<<<< die Menüpunkte erzeugen menu10 = CreateMenu("Datei",10,WindowMenu(window_fenster)) menu11 = CreateMenu("Neue Addresse",11,menu10) menu12 = CreateMenu("Addresse Laden",12,menu10) menu13 = CreateMenu("Addreese Speichern",13,menu10) menu14 = CreateMenu("Ende",14,menu10) ;<<<<<<<<<<<<<<<<<<<<<<<<<<< gadget und so zeichnen ; * VORNAME CreateLabel("Vorname : ",5,5,80,20,window_fenster) vorname = CreateTextField(90,5,80,20,window_fenster) ; * NACHNAME CreateLabel("Nachname : ",5,25,80,20,window_fenster) nachname = CreateTextField(90,25,80,20,window_fenster) ; * ORT CreateLabel("Ort : ",5,45,80,20,window_fenster) ort = CreateTextField(90,45,80,20,window_fenster) ; * PLATZ CreateLabel("Platz : ",5,65,80,20,window_fenster) platz = CreateTextField(90,65,80,20,window_fenster) ; * STRAßE CreateLabel("Straße : ",5,85,80,20,window_fenster) strase = CreateTextField(90,85,80,20,window_fenster) ; * TELEFONNUMMER CreateLabel("Telefonnummer : ",5,105,80,20,window_fenster) telefonnummer = CreateTextField(90,105,80,20,window_fenster) ; * HANDYNUMMER CreateLabel("Handynummer : ",5,125,80,20,window_fenster) handynummer = CreateTextField(90,125,80,20,window_fenster) CreateLabel("E-Mail : ",5,145,80,20,window_fenster) e_mail = CreateTextField(90,145,80,20,window_fenster) ; * HOMEPAGE CreateLabel("Homepage : ",5,165,80,20,window_fenster) homepage = CreateTextField(90,165,80,20,window_fenster) ; * ICQ CreateLabel("ICQ : ",5,185,80,20,window_fenster) icq = CreateTextField(90,185,80,20,window_fenster) ;<<<<<<<<<<<<< wenn noch nicht "Neue Addresse" gewählt worden ist If new_addresse = 0 Then DisableMenu menu13 ;deaktivieren UncheckMenu menu11 ;keinen hacken setzten ;<<<<<<<<<<<<<<< alle Gadget deaktivieren DisableGadget vorname DisableGadget nachname DisableGadget ort DisableGadget platz DisableGadget strase DisableGadget telefonnummer DisableGadget handynummer DisableGadget e_mail DisableGadget homepage DisableGadget icq EndIf UpdateWindowMenu window_fenster ;aktuallisiert die Menüpunkte vor der hauptschleife ;################################################## hauptschleife für das Fenster Repeat wait_event = WaitEvent() event_wahl = EventData() Select wait_event ;wartet drauf ob etwas passiert Case $1001 ;wenn ein Menüpunkte ausgewählt worden ist Select event_wahl ;prüft welcher Menüpunkt gewählt worden ist Case 11 ; NEUE ADDRESSE new_addresse = 1 Case 12 ; ADDRESSE LADEN Case 13 ; ADDRESSE SPEICHERN Case 14 ; ENDE End End Select Case $803 ;wenn das kreuz oben rechs gedrückt wird zum fenster schließen End End Select ;<<<<<<<<<<<<< wenn noch nicht "Neue Addresse" gewählt worden ist If new_addresse = 0 Then DisableMenu menu13 ;deaktivieren UncheckMenu menu11 ;keinen hacken setzten Else ;<<<<<<<<< wenn "Neue Addresse" gewählt worden ist EnableMenu menu13 ;aktievieren CheckMenu menu11 ;hacken setzten ;<<<<<<<<<<<<<< aktivieren der gadgets für die Addresseingabe ActivateGadget vorname ActivateGadget nachname ActivateGadget ort ActivateGadget platz ActivateGadget strase ActivateGadget telefonnummer ActivateGadget handynummer ActivateGadget e_mail ActivateGadget homepage ActivateGadget icq EndIf UpdateWindowMenu window_fenster ;aktuallisiert immer die Menüpunkte Forever Danke für Hilfe ![]() MfG cyby ![]() |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich hab zwar blitz+ net aber ma logisch überlegt:
du machst oben disablegadget um es zu deaktivieren gemäss onlinehilfe gibts activate und enable wenn man liest, steht da sogar das enable die gadgets wieder reaktiviert so dass sie wieder events erzeugen etc -> enablegadget |
||
cyby |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ah THX,
ich habe es jetzte noch fertig programmiert, sind zwar massig Fehler drinne, war aber nur mal um das ganze kenne zu lernen ![]() Code: [AUSKLAPPEN] window_fenster = CreateWindow("Addresbuch",100,100,200,300,0)
SetStatusText window_fenster,"Dies ist ein einfaches Addresbuch!" ;<<<<<<<<<<<< variablen Global new_addresse = 0 ;0 = muss erster eine neue Addresse Wählen ; 1 = es muss keine neue Addresse gewählt werden Global vorname$ = "" Global nachname$ = "" Global ort$ = "" Global platz$ = "" Global strase$ = "" Global telefonnummer$ = "" Global handynummer$ = "" Global e_mail$ = "" Global homepage$ = "" Global icq$ = "" ;<<<<<<<<<<<< die Menüpunkte erzeugen menu10 = CreateMenu("Datei",10,WindowMenu(window_fenster)) menu11 = CreateMenu("Neue Addresse",11,menu10) menu12 = CreateMenu("Addresse Laden",12,menu10) menu13 = CreateMenu("Addreese Speichern",13,menu10) menu14 = CreateMenu("Ende",14,menu10) ;<<<<<<<<<<<<<<<<<<<<<<<<<<< gadget und so zeichnen ; * VORNAME CreateLabel("Vorname : ",5,5,80,20,window_fenster) Global vorname2 = CreateTextField(90,5,80,20,window_fenster) ; * NACHNAME CreateLabel("Nachname : ",5,25,80,20,window_fenster) Global nachname2 = CreateTextField(90,25,80,20,window_fenster) ; * ORT CreateLabel("Ort : ",5,45,80,20,window_fenster) Global ort2 = CreateTextField(90,45,80,20,window_fenster) ; * PLATZ CreateLabel("Platz : ",5,65,80,20,window_fenster) Global platz2 = CreateTextField(90,65,80,20,window_fenster) ; * STRAßE CreateLabel("Straße : ",5,85,80,20,window_fenster) Global strase2 = CreateTextField(90,85,80,20,window_fenster) ; * TELEFONNUMMER CreateLabel("Telefonnummer : ",5,105,80,20,window_fenster) Global telefonnummer2 = CreateTextField(90,105,80,20,window_fenster) ; * HANDYNUMMER CreateLabel("Handynummer : ",5,125,80,20,window_fenster) Global handynummer2 = CreateTextField(90,125,80,20,window_fenster) CreateLabel("E-Mail : ",5,145,80,20,window_fenster) Global e_mail2 = CreateTextField(90,145,80,20,window_fenster) ; * HOMEPAGE CreateLabel("Homepage : ",5,165,80,20,window_fenster) Global homepage2 = CreateTextField(90,165,80,20,window_fenster) ; * ICQ CreateLabel("ICQ : ",5,185,80,20,window_fenster) Global icq2 = CreateTextField(90,185,80,20,window_fenster) ;<<<<<<<<<<<<< wenn noch nicht "Neue Addresse" gewählt worden ist If new_addresse = 0 Then DisableMenu menu13 ;deaktivieren UncheckMenu menu11 ;keinen hacken setzten ;<<<<<<<<<<<<<<< alle Gadget deaktivieren DisableGadget vorname2 DisableGadget nachname2 DisableGadget ort2 DisableGadget platz2 DisableGadget strase2 DisableGadget telefonnummer2 DisableGadget handynummer2 DisableGadget e_mail2 DisableGadget homepage2 DisableGadget icq2 EndIf UpdateWindowMenu window_fenster ;aktuallisiert die Menüpunkte vor der hauptschleife ;################################################## hauptschleife für das Fenster Repeat wait_event = WaitEvent() event_wahl = EventData() Select wait_event ;wartet drauf ob etwas passiert Case $1001 ;wenn ein Menüpunkte ausgewählt worden ist Select event_wahl ;prüft welcher Menüpunkt gewählt worden ist Case 11 ; NEUE ADDRESSE new_addresse = 1 Case 12 ; ADDRESSE LADEN EnableGadget vorname2 EnableGadget nachname2 EnableGadget ort2 EnableGadget platz2 EnableGadget strase2 EnableGadget telefonnummer2 EnableGadget handynummer2 EnableGadget e_mail2 EnableGadget homepage2 EnableGadget icq2 load( RequestFile("Wählen Sie eine Datei aus.","addi",0 ) ) new_addresse = 1 Case 13 ; ADDRESSE SPEICHERN save( RequestFile("Wählen Sie eine Datei aus.","addi",1 ) ) Case 14 ; ENDE End End Select Case $803 ;wenn das kreuz oben rechs gedrückt wird zum fenster schließen End End Select ;<<<<<<<<<<<<< wenn noch nicht "Neue Addresse" gewählt worden ist If new_addresse = 0 Then DisableMenu menu13 ;deaktivieren UncheckMenu menu11 ;keinen hacken setzten Else ;<<<<<<<<< wenn "Neue Addresse" gewählt worden ist EnableMenu menu13 ;aktievieren CheckMenu menu11 ;hacken setzten ;<<<<<<<<<<<<<< aktivieren der gadgets für die Addresseingabe EnableGadget vorname2 EnableGadget nachname2 EnableGadget ort2 EnableGadget platz2 EnableGadget strase2 EnableGadget telefonnummer2 EnableGadget handynummer2 EnableGadget e_mail2 EnableGadget homepage2 EnableGadget icq2 EndIf UpdateWindowMenu window_fenster ;aktuallisiert immer die Menüpunkte Forever ;###################################### SAVE save() ######################## Function save(name$) If Not name$ = "" vorname$ = TextFieldText(vorname2) nachname$ = TextFieldText(nachname2) ort$ = TextFieldText(ort2) platz$ = TextFieldText(platz2) strase$ = TextFieldText(strase2) telefonnummer$ = TextFieldText(telefonnummer2) handynummer$ = TextFieldText(handynummer2) e_mail$ = TextFieldText(e_mail2) homepage$ = TextFieldText(homepage2) icq$ = TextFieldText(icq2) datei = WriteFile(name$) WriteLine datei,vorname;VORNAME WriteLine datei,nachname;NACHNAME WriteLine datei,ort;ORT WriteLine datei,platz;PLATZ WriteLine datei,strase;STRAßE WriteLine datei,telefonnummer;TELEFONNUMMER WriteLine datei,handynummer;HANDYNUMMER WriteLine datei,e_mail;E-MAIL WriteLine datei,homepage;HOMEPAGE WriteLine datei,icq;ICQ CloseFile(datei) EndIf End Function ;####################################### LOAD load() ####################### Function load(name$) If Not name$ = "" datei = ReadFile(name$) vorname$ = ReadLine(datei);VORNAME nachname$ = ReadLine(datei);NACHNAME ort$ = ReadLine(datei);ORT platz$ = ReadLine(datei);PLATZ strase$ = ReadLine(datei);STRAßE telefonnummer$ = ReadLine(datei);TELEFONNUMMER handynummer$ = ReadLine(datei);HANDYNUMMER e_mail$ = ReadLine(datei);E-MAIL homepage$ = ReadLine(datei);HOMEPAGE icq$ = ReadLine(datei);ICQ CloseFile(datei) SetGadgetText vorname2,vorname SetGadgetText nachname2,nachname SetGadgetText ort2,ort SetGadgetText platz2,platz SetGadgetText strase2,strase SetGadgetText telefonnummer2,telefonnummer SetGadgetText handynummer2,handynummer SetGadgetText e_mail2,e_mail SetGadgetText homepage2,homepage SetGadgetText icq2,icq EndIf End Function MfG cyby ![]() mir ist gerade aufgefallen das ich es in den falschen Bereicht geschrieben habe ![]() |
||
![]() |
General Alex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Macht mich bitte zum Moderator! ![]() Nein, schon gut. Du könntest deine Code ja auch einrücken (mit [Tab]), dann wird es auch übersichtlicher. Beispiel: Code: [AUSKLAPPEN] If Not AlexMod Then
Print "Ist mir doch egal!" Else Print "Danke vielmals!" End If |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@cyby
Haste da auch ne Suchfunktion drin ? Und das Konzept könntest du mal überdenken ![]() Das ganze in Types würde vieles erleichtern z.B. erstmal das laden und speichern ... falls du mir dem verschieben das Code Archiv meinst ![]() |
||
cyby |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich kenne mich in Typs noch nicht so aus , aber Variablen gehen für mich schneller ![]() |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Types hat man schnell gelernt und sind ein mächtiges werkzeug ( einer der hauptgründe warum ich von DB hier rüber gewechselt hab ) wenn man effizient algorithmen nutzen will.
Was du auf jeden Fall noch lernen musst ist Codegestaltung ... is gelinde gesagt der reinste horror das zu lesen und der code ist noch relativ kurz ... |
||
cyby |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also typs kann ich schon, habe sie aber bis jetzte nur in meinem RPG verwendet und habe daher noch nicht soviel erfahrung und vom dem gestalten her habe ich auch nicht drauf geachtet, war eigentlich nur da um mich mal ein bischen in B+ einzuprogrammieren um jetzte einen MapEditor zu machen ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group