Seite 1 von 2

Button soll Datei ausführen

Verfasst: 08.04.2007 18:27
von by night
Hallo zusammen,

Folgendes: Ist es möglich, einen Button zu erstellen, und das Ausführen einer Datei auf diesen Button zu "verlinken"? Wenn ich zum Beispiel auf den Button "XYZ" klicke, startet er nach dem Klick auf den Button, die gewählt Anwendung.

Zum Verstehen wäre wie immer ein Beispiel ganz gut zum Verstehen :)




MfG

edit: Titel etwas aussagekräftiger gemacht, ts-soft

Verfasst: 08.04.2007 18:35
von AND51
ja, das ist möglich. Wenn du feststellst, dass ein bestimmtes Gadget gedrückt wurde, musst du einfach nur deine Aktionen ausführen, die du möchtest!

Beispiel:

Code: Alles auswählen

OpenWindow(0, 0, 0, 200, 100, "Button-Beispiel")
CreateGadgetList(WindowID(0))
	ButtonGadget(1, 10, 10, 180, 80, "Notepad starten")

Repeat
	event_w=WaitWindowEvent()
	event_g=EventGadget()
	
	Select event_w
		Case #PB_Event_CloseWindow
			End
		Case #PB_Event_Gadget
			Select event_g
				Case 1
					RunProgram("notepad.exe")
			EndSelect
	EndSelect
ForEver

Verfasst: 08.04.2007 21:33
von by night

Code: Alles auswählen


DataSection
   Bild: IncludeBinary "c:\stalker.bmp"
EndDataSection


If OpenWindow(0, 0, 0, 500, 306, "Text1",  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered) And CreateGadgetList (WindowID(0))
   ImageGadget(1, 10, 10, 410, 60, CatchImage(0, ?Bild))
   ButtonGadget(2, 430, 10, 60, 60, "Text2", #PB_Button_MultiLine | #PB_Button_Default)
   TextGadget(3, 10, 80, 480, 130, "Text3", #PB_Text_Border)
   TextGadget(4, 10, 220, 130, 50, "Text4", #PB_Text_Border)
   StringGadget(5, 10, 280, 130, 20, "         Text5", #PB_String_ReadOnly)
   TextGadget(6, 150, 220, 260, 80, "Text6", #PB_Text_Border)
   ButtonGadget(7, 420, 220, 70, 80, "Text7", #PB_Button_Default | #PB_Button_MultiLine)
EndIf
Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow  
Ich kriege es einfach nicht hin, ein MessageRequester hinter den Text2 Button zu schieben. Könnte mal jemand den Code zum Einbinden des MessageRequesters hinter den Text2 Button dort reinfummeln? Wäre mir eine große Hilfe.


/edit: Drücken auf Button --> MessageRequester

/edit2: Mal abgesehen davon, dass ich das Thema "Öffnen einer Anwendung per Buttonklick" überhaupt nicht verstehe. Und das obwohl, ich das Kapitel "Select etc." in der Hilfe schon 10 mal versucht habe zu verstehen bzw. mit ANDs Code zu vergleichen.

Verfasst: 08.04.2007 21:38
von ts-soft
>> Könnte mal jemand den Code zum Einbinden des MessageRequesters hinter den Text2 Button dort reinfummeln?
Du mir Leid, total unlogisch
Möchtest Du beim Drücken dieses Buttons einen Messagerequester, so ist
dieser in der Ereignisschleife an passender Stelle zu erzeugen.

Verfasst: 08.04.2007 21:38
von Fluid Byte
Warum hab ich das Gefühl das du den code von AND51 komplett ignoriert hast? Ich meine das kann man kaum noch vereinfachen. Ich glaube du hast Probleme mit abstrakten Denken. Denn du must im code con AND51 lediglich RunProgramm() gegen MessageRequester() austauschen.

Verfasst: 08.04.2007 22:04
von by night
Fluid Byte hat geschrieben: Ich glaube du hast Probleme mit abstrakten Denken.
Das könnte gut möglich sein. Oder ich verstehe es schlichtweg noch nicht und muss alles noch mal in Ruhe durchgehen. Aber ich hoffe du hättest keine Probleme mit nicht abstrakt denkenden Menschen wie mir :wink:

Verfasst: 08.04.2007 22:08
von Kaeru Gaman
vielleicht solltest du erst einmal von den windows-oberflächen weggehen,
und dich eher allgemein mit variablen, berechnungen, bedingungen und schleifen auseinandersetzen.

ein verständnis der grundlegenden dinge ist erst einmal notwendig bevor man irgendwelchen code schreiben kann.

dies hier ist nicht VisualBasic, wo man im Designer auf nen Button rechtsclickt und einen einzigen befehl eingibt und es läuft.
in PB musst du dich eben um die event-bearbeitung selber kümmern.

dafür kannst du jedoch auch code schreiben, der überhaupt keine fenster und buttons benötigt.

Verfasst: 08.04.2007 22:13
von Fluid Byte
by night hat geschrieben:Aber ich hoffe du hättest keine Probleme mit nicht abstrakt denkenden Menschen wie mir :wink:
Ne, aber mit lernresistenten.
"Ich reserviere 4 Byte, schreibe aber 5 rein. Da auf heuteigen PCs immer genug freie Kapazitäten vorhanden sind, geht das auch." (AND)"
Definitiv schon jetzt ein Klassiker! Bild

Verfasst: 08.04.2007 22:20
von AND51
> Definitiv schon jetzt ein Klassiker!
Gott, was hab ich da nur angerichtet :D

Verfasst: 08.04.2007 22:22
von Fluid Byte
AND51 hat geschrieben:Gott, was hab ich da nur angerichtet :D
Entertainment Baby! Bild