Seite 2 von 3

Re: Tutorial - Mein erstes Programm

Verfasst: 09.03.2011 18:28
von SebastianJu2
Hä? Grundgerüst? Ich dachte das wird dein Tutorial?
Du kannst dir doch so ziemlich alles mit Hilfe der Hilfe zusammensuchen. Der dritte Tab ist besonders hilfreich.
Versteh ich grad nicht.

Re: Tutorial - Mein erstes Programm

Verfasst: 09.03.2011 19:36
von Abraxus
mein Problem ist, dass ich Schwierigkeiten habe anhand der ganzen Theorie in der LernPDF eigenständig zu arbeiten. Wenn ich aber an einem funktionierenden Code, halt das Gerüst des Programms, arbeite, dann fällt es mir wesentlich einfacher die Zusammenhänge und den Aufbau zu verstehen.

Habe diesen Thread "Tutorial" genannt, weil ich stückweise an das Programmziel hinarbeiten wollte und so dann einzelne Schritte nachzuvollziehen wären.
Kann aber gut sein dass dies hier nichts mehr mit einem Tutorial zu tun hat...

Re: Tutorial - Mein erstes Programm

Verfasst: 09.03.2011 21:13
von SebastianJu2
Wenn du Schwierigkeiten hast eigenständig zu arbeiten dann fürchte ich ist genau das dasjenige was du als erstes lernen musst weil später sitzt du ansonsten vor dem selben Problem und weißt nicht wo du anfangen kannst.

Du hast dir ja eigentlich schon ganz gut Gedanken gemacht und diese aufgeschrieben. Als nächstes brauchst du doch eigentlich nur ein altes Programm nehmen, fängst von oben an und kopierst was wichtig ist. Option Explicit, dann der Const- und Varbereich usw. Dann Fenster erzeugen, Gadgets dazu. Den EventLoop darunter usw usf.

Geh einfach schrittweise vor. Wenn dir ein Befehl fehlt dann geh in die Hilfe 3. Tab und gib halt Array oder schleife oder sortieren usw ein und meistens kommt dabei was raus. Und wenn das nicht hilft suchst du im Forum und fragst zur Not.

Aber ich denke nicht dass du diesen Schritt auslassen kannst.

Re: Tutorial - Mein erstes Programm

Verfasst: 10.03.2011 19:48
von Abraxus
ok, bin so vorgegangen wie du vorgeschlagen hast und hab denk ich mal einen Anfang geschafft. Doch jetzt bin ich wieder an einem Punkt an dem ich nicht weiter komme. Versuche schon ganzen Nachmittag anhand Hilfe und PB-Buch mein Problem zu lösen, aber irgendwie soll mir das nicht gelingen.

Code: Alles auswählen

#SS_CENTERIMAGE = 512
Enumeration
  #FENSTER_HAUPT
  #FENSTER_neue_Farbe
  #KNOPF_neue_Farbe
  #KNOPF_Farbregister
  #KNOPF_SCHLIESSEN
EndEnumeration
Enumeration 
  #KNOPF_Speichern
  #MainWindow_lblFarbe
  #MainWindow_txtFarbe
  #MainWindow_lblStoff1_Titel
  #MainWindow_txtStoff1_Titel
  #MainWindow_lblStoff1_Menge
  #MainWindow_txtStoff1_Menge
  #MainWindow_lblStoff2_Titel
  #MainWindow_txtStoff2_Titel
  #MainWindow_lblStoff2_Menge
  #MainWindow_txtStoff2_Menge
  #MainWindow_lblStoff3_Titel
  #MainWindow_txtStoff3_Titel
  #MainWindow_lblStoff3_Menge
  #MainWindow_txtStoff3_Menge
EndEnumeration
Global Ende.i = #False
#FLAGS        = #PB_Window_SystemMenu | #PB_Window_ScreenCentered
If OpenWindow(#FENSTER_HAUPT, 0, 0, 400, 400, "Interaktion", #FLAGS)
  ButtonGadget(#KNOPF_neue_Farbe, 100, 100, 200, 40, "Neue Farbe eintragen")
  ButtonGadget(#KNOPF_Farbregister, 100, 150, 200, 40, "Farbregister")
  ButtonGadget(#KNOPF_SCHLIESSEN, 100, 350, 200, 40, "Schließe Fenster")
  Repeat
    Ereignis.i = WaitWindowEvent()
    Select Ereignis
      Case #PB_Event_Gadget
    Select EventGadget()
          Case #KNOPF_neue_Farbe
            OpenWindow(#FENSTER_neue_Farbe, 200, 200, 600, 400, "Farbe eintragen", #PB_Window_SystemMenu)
              ButtonGadget(#KNOPF_Speichern, 10, 500, 50, 40, "Speichern")
              TextGadget(#MainWindow_lblFarbe, 10, 30, 275, 20, "Hier den Namen der neuen Farbe eintragen :", #SS_CENTERIMAGE)
              StringGadget(#MainWindow_txtFarbe, 10, 60, 135, 20, "")  
              TextGadget(#MainWindow_lblStoff1_Titel, 10, 100, 175, 20, "1. Inhaltsstoff (Name) :", #SS_CENTERIMAGE)
              StringGadget(#MainWindow_txtStoff1_Titel, 140, 100, 135, 20, "") 
              TextGadget(#MainWindow_lblStoff1_Menge, 290, 100, 175, 20, "Menge (g pro Kg):", #SS_CENTERIMAGE)
              StringGadget(#MainWindow_txtStoff1_Menge, 390, 100, 135, 20, "")
              TextGadget(#MainWindow_lblStoff2_Titel, 10, 140, 175, 20, "2. Inhaltsstoff (Name) :", #SS_CENTERIMAGE)
              StringGadget(#MainWindow_txtStoff2_Titel, 140, 140, 135, 20, "")  
              TextGadget(#MainWindow_lblStoff2_Menge, 290, 140, 175, 20, "Menge (g pro Kg):", #SS_CENTERIMAGE)
              StringGadget(#MainWindow_txtStoff2_Menge, 390, 140, 135, 20, "")              
              TextGadget(#MainWindow_lblStoff3_Titel, 10, 180, 175, 20, "3. Inhaltsstoff (Name) :", #SS_CENTERIMAGE)
              StringGadget(#MainWindow_txtStoff3_Titel, 140, 180, 135, 20, "")  
              TextGadget(#MainWindow_lblStoff3_Menge, 290, 180, 175, 20, "Menge (g pro Kg):", #SS_CENTERIMAGE)
              StringGadget(#MainWindow_txtStoff3_Menge, 390, 180, 135, 20, "")
              
              
          Case #KNOPF_SCHLIESSEN
            Ende = #True
        EndSelect
    EndSelect
  Until Ereignis = #PB_Event_CloseWindow Or Ende = #True
EndIf
End
1.) Habe versucht in dem neuen Fenster ein ButtonGadget (Speichern) einzubauen, doch er erscheint nicht im Fenster. Ich denke ich habe den generellen Aufbau nicht verstanden.

2.) Im neuen Fenster (neue Farbe) habe ich eine Abfrage erstellt, der Benutzer soll dort eine neue Farbe eintragen die dann automatisch in einem weiteren Fenster (Farbregister) aufgelistet werden soll. Wie muss ich da was deklarieren?

Re: Tutorial - Mein erstes Programm

Verfasst: 10.03.2011 20:09
von BI2
Abraxus hat geschrieben:

Code: Alles auswählen

ButtonGadget(#KNOPF_Speichern, 10, 500, 50, 40, "Speichern")
Wenn Du den Y-Wert des Button von 500 auf 300 änderst, dann siehst Du ihn auch :wink:

Gruß, BI2

Re: Tutorial - Mein erstes Programm

Verfasst: 10.03.2011 20:34
von Abraxus
oh man bin ich dämlich :lol:
danke

Re: Tutorial - Mein erstes Programm

Verfasst: 11.03.2011 01:40
von SebastianJu2
@Abraxus

Du hast in deinem neuen Formular ja einen Speicherbutton. Während der User die Daten einträgt für die neue Farbe im 2. Formular läuft das Programm ja weiterhin durch die Eventschleife.
Du machst dann halt darin ein neues case für den Speicherbutton... und wenn der geklickt wird fragst du die Eingabefelder aus dem 2. Formular ab. Erst eine Fehlerüberprüfung ob alle Daten da sind und die Sinn machen. Wenn nicht bestanden gibt eine Fehlermeldung aus und unterbreche das Select damit das Programm weiter die Eventschleife durchlaufen kann.
Der User kann dann die Daten ändern und das Programm wartet wieder auf den Klick auf Speichern.
Und wenn die Daten irgendwann passen dann speicherst du sie halt in dem Array oder Fenster usw wo du sie speichern möchtest.

Wenn du die Daten später mal so aufbewahren willst dass sie selbst das Abschalten des Programms überleben dann kannst du die Farben in einer sqlite-Datenbank speichern.

Re: Tutorial - Mein erstes Programm

Verfasst: 11.03.2011 12:50
von Abraxus
das mit der Fehlerprüfung mache ich noch, das ist gut und über eine Datenbank komme ich nicht herum.
Doch das heb ich mir für später auf, will nicht das ich komplett durchdrehe :lol:

mein nächster Schritt soll sein, dass die eingegebenen Daten aus dem Formular (neue Farbe) in einem neuen Fenster übertragen werden.
So soll zum Beispiel die Eingabe zu

Code: Alles auswählen

"Hier den Namen der neuen Farbe eintragen :"
in dem neuen Fenster "Farbregister" als ButtonGadget übertragen werden.

Brauche da unbedingt ein Hinweis, ein Stichwort wonach ich suchen muss.

Re: Tutorial - Mein erstes Programm

Verfasst: 11.03.2011 13:04
von SebastianJu2
Was brauchst du denn? Die Befehle um die Daten abzufragen? Wenn ja such in der Hilfe mal einen Gadgetbefehl raus und geh nach ganz unten. Meistens ist da in der Mitte ein Link der zu allen Befehlen der Gadgetbibliothek führt. Die kannst du dir dann mal durchschauen. Da findest du den Befehl sicher den du suchst bzw auch noch andere die für später gut sind wenn du sie mal gesehen hast.
Um einfach einen Wert aus einem Gadget auszulesen gibt es zB GetGadgetText(). Die restlichen Befehle sind wie gesagt auf der Gadget-Hauptseite zu finden.

Re: Tutorial - Mein erstes Programm

Verfasst: 11.03.2011 15:59
von Abraxus

Code: Alles auswählen

Syntax

Text$ = GetGadgetText(#Gadget) 
Beschreibung

Gibt den Inhalt des Gadget-Textes vom angegebenen #Gadget zurück. Dieser Befehl ist besonders nützlich für: 
so stehts in der Hilfe, aber damit kann ich nichts groß anfangen. Wie kann ich das bei mir anwenden um das zu erreichen um:

mein nächster Schritt soll sein, dass die eingegebenen Daten aus dem Formular (neue Farbe) in einem neuen Fenster übertragen werden.
So soll zum Beispiel die Eingabe zu
Code:
"Hier den Namen der neuen Farbe eintragen :"
in dem neuen Fenster "Farbregister" als ButtonGadget übertragen werden.