Seite 1 von 1

Übergabe aus Procedure, drucken, CheckBoxGadget

Verfasst: 21.11.2015 16:28
von Fanpost
Hallo, ich habe da wieder mal ein paar Fragen an die Profis.
Ich möchte aus einer fertigen Prozedur eine Variable übernehmen. Leider komme ich da nicht weiter. Den Wert brauche ich für den Dateinamen einer Druckroutine. Auch da habe ich Probleme.

Auszug aus meinem Code:

Code: Alles auswählen


Procedure FormularErstellen()
        ; Auszug des Codes
	; HTML_Code
	;
	SNummer$ = GetGadgetText(txtSeriennummer) ist z.B. 151121009HL
	;
  ;
	SetGadgetItemText(#Adresse, #PB_Web_HtmlCode, HTML)
EndProcedure

;SNummer$: diese Nummer soll als Formular Name in der "Procedure FormularDrucken()" gedruckt werden.


;Drucken
Procedure FormularDrucken()
	Protected WebObject.IWebBrowser2
	WebObject = GetWindowLong_(GadgetID(#Adresse), #GWL_USERDATA)
 ;WebObject\ExecWB(#OLECMDID_PRINT, #OLECMDEXECOPT_DONTPROMPTUSER, 0, 0)	
	WebObject\ExecWB(#OLECMDID_PRINT, #OLECMDEXECOPT_PROMPTUSER, 0, 0)
EndProcedure
Fragen:

1.) wie kann ich den Variablenwert aus SNummer$ aus der Procedure zur weiteren Verarbeitung an das restlich Prog übergeben?
2.) kann ich diesen Wert in meiner Procedure FormularDrucken() als Dateiname einbauen - oder muss die Druckroutine
total umgeschrieben werden?
3.) Ich möchte per CheckBoxGadget eine Abfrage in Procedure FormularDrucken() einbauen, d.h wenn der Haken gesetzt ist soll ohne Promt gedruckt werden. Aber wie?

Re: Übergabe aus Procedure, drucken, CheckBoxGadget

Verfasst: 21.11.2015 17:32
von bizzl
Ich würde es so machen:

Code: Alles auswählen

EnableExplicit

Define SNummer.s

SNummer=FormularErstellen()
FormularDrucken(SNummer)

Procedure.s FormularErstellen()
        ; Auszug des Codes
   ; HTML_Code
   ;
   SNummer$ = GetGadgetText(txtSeriennummer) ;ist z.B. 151121009HL
   ;
  ;
   SetGadgetItemText(#Adresse, #PB_Web_HtmlCode, HTML)
   ProcedureReturn SNummer$
   
EndProcedure

;SNummer$: diese Nummer soll als Formular Name in der "Procedure FormularDrucken()" gedruckt werden.


;Drucken
Procedure FormularDrucken(SNummer)
   Protected WebObject.IWebBrowser2
   WebObject = GetWindowLong_(GadgetID(#Adresse), #GWL_USERDATA)
 ;WebObject\ExecWB(#OLECMDID_PRINT, #OLECMDEXECOPT_DONTPROMPTUSER, 0, 0)   
   WebObject\ExecWB(#OLECMDID_PRINT, #OLECMDEXECOPT_PROMPTUSER, 0, 0)
   
   If GetGadgetState(#DeineCheckbox)=#PB_Checkbox_Checked ;<--- Abfrage, ob Checkbox-Häkchen gesetzt
     
   EndIf
   
 EndProcedure


Re: Übergabe aus Procedure, drucken, CheckBoxGadget

Verfasst: 21.11.2015 18:13
von Fanpost
Klappt bei mir nicht. Es fehlt mein kpl. Code. Der befindet sich, vereinfacht, unter:

http://forums.purebasic.com/german/view ... r&start=20

Hier soll die Erweiterung "eingebaut" werden.

Re: Übergabe aus Procedure, drucken, CheckBoxGadget

Verfasst: 21.11.2015 19:21
von Fanpost
So, PROMT - DONTPROMT beim Drucken funktoniert nun

Re: Übergabe aus Procedure, drucken, CheckBoxGadget

Verfasst: 24.11.2015 14:18
von Fanpost
Moin, das mit der Seriennummer ist erledigt.