Anfängerfrage: Abfragen von events

Für allgemeine Fragen zur Programmierung mit PureBasic.
Smileman
Beiträge: 2
Registriert: 04.12.2004 21:45

Anfängerfrage: Abfragen von events

Beitrag von Smileman »

OpenWindow(0,400,500,280,420,#PB_Window_ScreenCentered|#PB_Window_SystemMenu,"self1")
CreateGadgetList(WindowID())
ExplorerTreeGadget(2,10,10,260, 400,
"*.jpg;*.bmp;*.gif;*.jpeg",#PB_Explorer_NoDriveRequester|#PB_Explorer_AutoSort)
ImageGadget(1,280,10,400,400,"")
Repeat
Event=WindowEvent()
If Event = #PB_EventType_LeftClick
ResizeWindow (690,420)
EndIf
Until Event= #PB_EventCloseWindow
End
:roll: :roll: :roll: :roll:



als erstes soll man ein bild auswählen, dann wird das fenster vergrößert und dann soll das bild angezeigt werden.

Danke. :| :|
Benutzeravatar
Kiffi
Beiträge: 10719
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Anfängerfrage: Abfragen von events

Beitrag von Kiffi »

1. : Bitte in Zukunft Code-Tags setzen
2. : Und wo ist jetzt Dein konkretes Problem?

Grüße ... Kiffi
Smileman
Beiträge: 2
Registriert: 04.12.2004 21:45

Beitrag von Smileman »

Code: Alles auswählen

OpenWindow(0,400,500,280,420,#PB_Window_ScreenCentered|#PB_Window_SystemMenu,"self1")
CreateGadgetList(WindowID())
ExplorerTreeGadget(2,10,10,260, 400, "*.jpg;*.bmp;*.gif;*.jpeg",#PB_Explorer_NoDriveRequester|#PB_Explorer_AutoSort)
ImageGadget(1,280,10,400,400,"")

Repeat
  Event = WindowEvent()
  #bild = GetGadgetText(2)
  If Event = #PB_EventGadget
    GadgetID = EventGadgetID()
    If ExplorerTreeGadget(#PB_EventType_LeftClick) = 1
      ResizeWindow (690,420)
      LoadImage(1,#bild)
    EndIf
  EndIf
Until Event= #PB_EventCloseWindow
End

als erstes soll man ein bild auswählen, dann wird das fenster vergrößert und dann soll das bild angezeigt werden.
ich habs mit ner Variablen oder so versucht (#bild)
also ich weiß net was ich schreiben soll(code)
NetSlayer
Beiträge: 117
Registriert: 21.09.2004 21:18
Kontaktdaten:

Beitrag von NetSlayer »

#bild ist keine Variable, sondern eine Konstante.
Das ist ein großer Unterschied, denn Konstanten werden im weiteren Programmcode einfach durch den Wert ersetzt, der ihnen zugewiesen wurde.

Also ist

Code: Alles auswählen

#wert = 1
If #wert = 1
  End
EndIf
dasselbe wie

Code: Alles auswählen

If 1 = 1
  End
EndIf
Variablen dagegen können im weiteren Verlauf des Programms verändert werden, um Daten darin zu speichern (ihr Wert ist variabel).
Es gibt verschiedene Arten von Variablen, String-Variablen speichern Zeichenketten (wie z.B. "hallo"), andere einfach nur Zahlen (z.B. 10).

In deinem Programm brauchst du eine String-Variable, um ihr den Text des Gadgets zuzuweisen (denn es ist ja eben ein Text). String-Variablen benutzt du, indem du z.B.

Code: Alles auswählen

Datei.s = "Hallo"
benutzt. Das ".s" gibt dabei den Typ der Variable an, hier String. Den Typ brauchst du allerdings nur bei der ersten Verwendung der Variable angeben, also funktioniert folgendes:

Code: Alles auswählen

Datei.s = "Hallo"
If Datei = "Hallo"
  End
EndIf
So, hier höre ich für's erste auf. Du hast noch einige mehr Fehler in deinem Code, aber ich kann hier nicht alles erklären. Bitte lies lieber ein Tutorial, zu finden sind diese z.B. auf der Robsite.

Hey, vielleicht sollte ich auch mal eins schreiben, die sind leider Mangelware. :roll:
...MfG, NetSlayer
"No, I ain't got a problem. It's you with the problem!"
http://netslayer.scpn.net
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

@Smileman

Im CodeArchiv findest Du ein Beispiel, für einen FileRequester mit Bildvorschau von Andreas, vielleicht kannste damit ja was Anfangen
Die Datei heißt: OpenFileRequester_with_Preview.pb

CodeArchiv findest auf http://www.purearea.net/pb/german/index.htm
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten