Tutorial - Mein erstes Programm

Anfängerfragen zum Programmieren mit PureBasic.
SebastianJu2
Beiträge: 180
Registriert: 24.09.2010 10:39

Re: Tutorial - Mein erstes Programm

Beitrag 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.
Abraxus
Beiträge: 22
Registriert: 13.01.2011 15:23

Re: Tutorial - Mein erstes Programm

Beitrag 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...
SebastianJu2
Beiträge: 180
Registriert: 24.09.2010 10:39

Re: Tutorial - Mein erstes Programm

Beitrag 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.
Abraxus
Beiträge: 22
Registriert: 13.01.2011 15:23

Re: Tutorial - Mein erstes Programm

Beitrag 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?
Zuletzt geändert von Abraxus am 11.03.2011 00:27, insgesamt 1-mal geändert.
Benutzeravatar
BI2
Beiträge: 146
Registriert: 26.11.2006 19:07

Re: Tutorial - Mein erstes Programm

Beitrag 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
PB 5.7x (x64), LinuxMint 18.3 - Xfce (x64)

Einsteigerbuch: PureBasic - Eine Einführung in die Computer Programmierung
Abraxus
Beiträge: 22
Registriert: 13.01.2011 15:23

Re: Tutorial - Mein erstes Programm

Beitrag von Abraxus »

oh man bin ich dämlich :lol:
danke
SebastianJu2
Beiträge: 180
Registriert: 24.09.2010 10:39

Re: Tutorial - Mein erstes Programm

Beitrag 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.
Abraxus
Beiträge: 22
Registriert: 13.01.2011 15:23

Re: Tutorial - Mein erstes Programm

Beitrag 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.
SebastianJu2
Beiträge: 180
Registriert: 24.09.2010 10:39

Re: Tutorial - Mein erstes Programm

Beitrag 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.
Abraxus
Beiträge: 22
Registriert: 13.01.2011 15:23

Re: Tutorial - Mein erstes Programm

Beitrag 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.
Antworten