File: w_main.srw
Size: 25638
Date: Wed, 30 Nov 2022 14:59:34 +0100
$PBExportHeader$w_main.srw
forward
global type w_main from window
end type
type st_3 from statictext within w_main
end type
type st_executable from statictext within w_main
end type
type st_1 from statictext within w_main
end type
type sle_extension from singlelineedit within w_main
end type
type cb_1 from commandbutton within w_main
end type
type st_capture_program from statictext within w_main
end type
type sle_capture from singlelineedit within w_main
end type
type cb_choose_capture from commandbutton within w_main
end type
type st_capture from statictext within w_main
end type
type mle_output from multilineedit within w_main
end type
type cb_runandcapture from commandbutton within w_main
end type
type cb_runandwait from commandbutton within w_main
end type
type cb_choose_program from commandbutton within w_main
end type
type sle_program from singlelineedit within w_main
end type
type st_program from statictext within w_main
end type
type rb_hidden from radiobutton within w_main
end type
type rb_minimized from radiobutton within w_main
end type
type rb_maximized from radiobutton within w_main
end type
type rb_normal from radiobutton within w_main
end type
type st_window_style from statictext within w_main
end type
type cbx_terminate from checkbox within w_main
end type
type sle_shellverb from singlelineedit within w_main
end type
type st_shellverb from statictext within w_main
end type
type cb_shellrunandwait from commandbutton within w_main
end type
type cb_shellrun from commandbutton within w_main
end type
type st_document from statictext within w_main
end type
type sle_document from singlelineedit within w_main
end type
type cb_choose_document from commandbutton within w_main
end type
type cb_cancel from commandbutton within w_main
end type
end forward

global type w_main from window
integer width = 3525
integer height = 2548
boolean titlebar = true
string title = "RunAndWait"
boolean controlmenu = true
long backcolor = 67108864
string icon = "AppIcon!"
boolean center = true
st_3 st_3
st_executable st_executable
st_1 st_1
sle_extension sle_extension
cb_1 cb_1
st_capture_program st_capture_program
sle_capture sle_capture
cb_choose_capture cb_choose_capture
st_capture st_capture
mle_output mle_output
cb_runandcapture cb_runandcapture
cb_runandwait cb_runandwait
cb_choose_program cb_choose_program
sle_program sle_program
st_program st_program
rb_hidden rb_hidden
rb_minimized rb_minimized
rb_maximized rb_maximized
rb_normal rb_normal
st_window_style st_window_style
cbx_terminate cbx_terminate
sle_shellverb sle_shellverb
st_shellverb st_shellverb
cb_shellrunandwait cb_shellrunandwait
cb_shellrun cb_shellrun
st_document st_document
sle_document sle_document
cb_choose_document cb_choose_document
cb_cancel cb_cancel
end type
global w_main w_main

type prototypes

end prototypes

type variables
String REGISTRYKEY = "HKEY_CURRENT_USER\Software\Topwiz\RunAndWait"

n_runandwait iRun

end variables

forward prototypes
public function string wf_getreg (string as_subkey, string as_valuename, string as_default)
public function string wf_getreg (string as_valuename, string as_default)
public subroutine wf_setreg (string as_subkey, string as_valuename, string as_value)
public subroutine wf_setreg (string as_valuename, string as_value)
public function long wf_windowoptions ()
end prototypes

public function string wf_getreg (string as_subkey, string as_valuename, string as_default);// -----------------------------------------------------------------------------
// SCRIPT:     wf_GetReg
//
// PURPOSE:    This function returns a string value from the registry.
//
// ARGUMENTS:  as_subkey      - Optional subkey under the base key
//             as_valuename   - Name of the value
//             as_default     - Default to return if not found
//
// DATE        PROG/ID     DESCRIPTION OF CHANGE / REASON
// ----------  --------    -----------------------------------------------------
// 03/31/2022  RolandS     Initial Coding
// -----------------------------------------------------------------------------

String ls_regkey, ls_value

If as_subkey = "" Then
   ls_regkey = REGISTRYKEY
Else
   ls_regkey = REGISTRYKEY + "\" + as_subkey
End If

RegistryGet(ls_regkey, as_valuename, RegString!, ls_value)
If IsNull(ls_value) Or ls_value = "" Then
   Return as_default
Else
   Return ls_value
End If

end function

public function string wf_getreg (string as_valuename, string as_default);// -----------------------------------------------------------------------------
// SCRIPT:     wf_GetReg
//
// PURPOSE:    This function returns a string value from the registry.
//
// ARGUMENTS:  as_valuename   - Name of the value
//             as_default     - Default to return if not found
//
// DATE        PROG/ID     DESCRIPTION OF CHANGE / REASON
// ----------  --------    -----------------------------------------------------
// 03/31/2022  RolandS     Initial Coding
// -----------------------------------------------------------------------------

Return wf_GetReg("", as_valuename, as_default)

end function

public subroutine wf_setreg (string as_subkey, string as_valuename, string as_value);// -----------------------------------------------------------------------------
// SCRIPT:     wf_SetReg
//
// PURPOSE:    This function saves string values in the registry.
//
// ARGUMENTS:  as_subkey      - Optional subkey under the base key
//             as_valuename   - Name of the value
//             as_value       - The value to save
//
// DATE        PROG/ID     DESCRIPTION OF CHANGE / REASON
// ----------  --------    -----------------------------------------------------
// 03/31/2022  RolandS     Initial Coding
// -----------------------------------------------------------------------------

String ls_regkey, ls_value

If as_subkey = "" Then
   ls_regkey = REGISTRYKEY
Else
   ls_regkey = REGISTRYKEY + "\" + as_subkey
End If

RegistrySet(ls_regkey, as_valuename, RegString!, as_value)

end subroutine

public subroutine wf_setreg (string as_valuename, string as_value);// -----------------------------------------------------------------------------
// SCRIPT:     wf_SetReg
//
// PURPOSE:    This function saves string values in the registry.
//
// ARGUMENTS:  as_valuename   - Name of the value
//             as_value       - The value to save
//
// DATE        PROG/ID     DESCRIPTION OF CHANGE / REASON
// ----------  --------    -----------------------------------------------------
// 03/31/2022  RolandS     Initial Coding
// -----------------------------------------------------------------------------

wf_SetReg("", as_valuename, as_value)

end subroutine

public function long wf_windowoptions ();// set common options

Long ll_ShowWindow

If cbx_terminate.Checked Then
   iRun.Terminate = True
   iRun.WaitTimeout = 5000
Else
   iRun.Terminate = False
   iRun.WaitTimeout = 0
End If

If rb_normal.Checked Then
   ll_ShowWindow = iRun.SW_SHOWNORMAL
End If
If rb_maximized.Checked Then
   ll_ShowWindow = iRun.SW_SHOWMAXIMIZED
End If
If rb_minimized.Checked Then
   ll_ShowWindow = iRun.SW_SHOWMINIMIZED
End If
If rb_hidden.Checked Then
   ll_ShowWindow = iRun.SW_HIDE
End If

Return ll_ShowWindow

end function

on w_main.create
this.st_3=create st_3
this.st_executable=create st_executable
this.st_1=create st_1
this.sle_extension=create sle_extension
this.cb_1=create cb_1
this.st_capture_program=create st_capture_program
this.sle_capture=create sle_capture
this.cb_choose_capture=create cb_choose_capture
this.st_capture=create st_capture
this.mle_output=create mle_output
this.cb_runandcapture=create cb_runandcapture
this.cb_runandwait=create cb_runandwait
this.cb_choose_program=create cb_choose_program
this.sle_program=create sle_program
this.st_program=create st_program
this.rb_hidden=create rb_hidden
this.rb_minimized=create rb_minimized
this.rb_maximized=create rb_maximized
this.rb_normal=create rb_normal
this.st_window_style=create st_window_style
this.cbx_terminate=create cbx_terminate
this.sle_shellverb=create sle_shellverb
this.st_shellverb=create st_shellverb
this.cb_shellrunandwait=create cb_shellrunandwait
this.cb_shellrun=create cb_shellrun
this.st_document=create st_document
this.sle_document=create sle_document
this.cb_choose_document=create cb_choose_document
this.cb_cancel=create cb_cancel
this.Control[]={this.st_3,&
this.st_executable,&
this.st_1,&
this.sle_extension,&
this.cb_1,&
this.st_capture_program,&
this.sle_capture,&
this.cb_choose_capture,&
this.st_capture,&
this.mle_output,&
this.cb_runandcapture,&
this.cb_runandwait,&
this.cb_choose_program,&
this.sle_program,&
this.st_program,&
this.rb_hidden,&
this.rb_minimized,&
this.rb_maximized,&
this.rb_normal,&
this.st_window_style,&
this.cbx_terminate,&
this.sle_shellverb,&
this.st_shellverb,&
this.cb_shellrunandwait,&
this.cb_shellrun,&
this.st_document,&
this.sle_document,&
this.cb_choose_document,&
this.cb_cancel}
end on

on w_main.destroy
destroy(this.st_3)
destroy(this.st_executable)
destroy(this.st_1)
destroy(this.sle_extension)
destroy(this.cb_1)
destroy(this.st_capture_program)
destroy(this.sle_capture)
destroy(this.cb_choose_capture)
destroy(this.st_capture)
destroy(this.mle_output)
destroy(this.cb_runandcapture)
destroy(this.cb_runandwait)
destroy(this.cb_choose_program)
destroy(this.sle_program)
destroy(this.st_program)
destroy(this.rb_hidden)
destroy(this.rb_minimized)
destroy(this.rb_maximized)
destroy(this.rb_normal)
destroy(this.st_window_style)
destroy(this.cbx_terminate)
destroy(this.sle_shellverb)
destroy(this.st_shellverb)
destroy(this.cb_shellrunandwait)
destroy(this.cb_shellrun)
destroy(this.st_document)
destroy(this.sle_document)
destroy(this.cb_choose_document)
destroy(this.cb_cancel)
end on

event open;sle_document.text = wf_GetReg("document", "")
sle_shellverb.text = wf_GetReg("shellverb", "open")
sle_program.text = wf_GetReg("program", "runandwait.bat")
sle_capture.text = wf_GetReg("capture", "runandcapture.bat")

end event

event close;wf_SetReg("document", sle_document.text)
wf_SetReg("shellverb", sle_shellverb.text)
wf_SetReg("program", sle_program.text)
wf_SetReg("capture", sle_capture.text)

end event

type st_3 from statictext within w_main
integer x = 73
integer y = 448
integer width = 315
integer height = 68
integer textsize = -8
integer weight = 700
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
long textcolor = 33554432
long backcolor = 67108864
string text = "Executable:"
boolean focusrectangle = false
end type

type st_executable from statictext within w_main
integer x = 475
integer y = 448
integer width = 2345
integer height = 68
integer textsize = -8
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
long textcolor = 33554432
long backcolor = 67108864
boolean focusrectangle = false
end type

type st_1 from statictext within w_main
integer x = 73
integer y = 336
integer width = 389
integer height = 68
integer textsize = -8
integer weight = 700
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
long textcolor = 33554432
long backcolor = 67108864
string text = "File Extension:"
boolean focusrectangle = false
end type

type sle_extension from singlelineedit within w_main
integer x = 475
integer y = 328
integer width = 407
integer height = 84
integer taborder = 30
integer textsize = -8
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
long textcolor = 33554432
string text = "html"
borderstyle borderstyle = stylelowered!
end type

type cb_1 from commandbutton within w_main
integer x = 951
integer y = 320
integer width = 553
integer height = 100
integer taborder = 40
integer textsize = -8
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
string text = "Get Executable"
end type

event clicked;String ls_Extension, ls_Executable

ls_Extension = sle_extension.Text
If ls_Extension = "" Then
   sle_extension.SetFocus()
   MessageBox(Parent.Title, "Please enter a file extension!", StopSign!)
   Return
End If

ls_Executable = iRun.GetExecutable(ls_Extension)

st_executable.Text = ls_Executable

end event

type st_capture_program from statictext within w_main
integer x = 73
integer y = 1056
integer width = 590
integer height = 64
integer textsize = -8
integer weight = 700
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
long textcolor = 33554432
long backcolor = 67108864
string text = "Capture Program:"
boolean focusrectangle = false
end type

type sle_capture from singlelineedit within w_main
integer x = 73
integer y = 1120
integer width = 2615
integer height = 84
integer taborder = 80
integer textsize = -8
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
long textcolor = 33554432
borderstyle borderstyle = stylelowered!
end type

type cb_choose_capture from commandbutton within w_main
integer x = 2688
integer y = 1116
integer width = 133
integer height = 92
integer taborder = 90
integer textsize = -8
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
string text = "..."
end type

event clicked;String ls_pathname, ls_filename, ls_filter
Integer li_rtn

ls_filter  = "Files (*.*),*.*"

li_rtn = GetFileOpenName("Select RunAndCapture Program", &
            ls_pathname, ls_filename, "", ls_filter)
If li_rtn = 1 Then
   sle_capture.text = ls_pathname
   sle_capture.SetFocus()
End If

end event

type st_capture from statictext within w_main
integer x = 73
integer y = 1280
integer width = 553
integer height = 64
integer textsize = -8
integer weight = 700
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
long textcolor = 33554432
long backcolor = 67108864
string text = "Captured Output:"
boolean focusrectangle = false
end type

type mle_output from multilineedit within w_main
integer x = 73
integer y = 1344
integer width = 3369
integer height = 900
integer taborder = 140
integer textsize = -10
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = fixed!
fontfamily fontfamily = modern!
string facename = "Consolas"
long textcolor = 33554432
boolean hscrollbar = true
boolean vscrollbar = true
borderstyle borderstyle = stylelowered!
end type

type cb_runandcapture from commandbutton within w_main
integer x = 2889
integer y = 1112
integer width = 553
integer height = 100
integer taborder = 130
integer textsize = -8
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
string text = "RunAndCapture"
end type

event clicked;Long ll_idx, ll_max
String ls_filename, ls_errormsg, ls_output

SetPointer(HourGlass!)

mle_output.Text = ""

ls_filename = sle_capture.text
If ls_filename = "" Then
   sle_capture.SetFocus()
   MessageBox(Parent.Title, "Please select a program to run!", StopSign!)
   Return
End If

If iRun.RunAndCapture(ls_filename, ls_output) Then
   mle_output.Text = ls_output
Else
   ls_errormsg = iRun.LastErrorText
   MessageBox(this.Text, ls_errormsg, StopSign!)
End If

end event

type cb_runandwait from commandbutton within w_main
integer x = 2889
integer y = 880
integer width = 553
integer height = 100
integer taborder = 120
integer textsize = -8
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
string text = "RunAndWait"
end type

event clicked;Long ll_ShowWindow
String ls_filename, ls_errormsg

SetPointer(HourGlass!)

ls_filename = sle_program.text
If ls_filename = "" Then
   sle_program.SetFocus()
   MessageBox(Parent.Title, "Please select a program to run!", StopSign!)
   Return
End If

ll_ShowWindow = wf_WindowOptions()

If Not iRun.RunAndWait(ls_filename, ll_ShowWindow) Then
   ls_errormsg = iRun.LastErrorText
   MessageBox(this.Text, ls_errormsg, StopSign!)
End If

end event

type cb_choose_program from commandbutton within w_main
integer x = 2688
integer y = 892
integer width = 133
integer height = 92
integer taborder = 70
integer textsize = -8
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
string text = "..."
end type

event clicked;String ls_pathname, ls_filename, ls_filter
Integer li_rtn

ls_filter  = "Files (*.*),*.*"

li_rtn = GetFileOpenName("Select RunAndWait Program", &
            ls_pathname, ls_filename, "", ls_filter)
If li_rtn = 1 Then
   sle_program.text = ls_pathname
   sle_program.SetFocus()
End If

end event

type sle_program from singlelineedit within w_main
integer x = 73
integer y = 896
integer width = 2615
integer height = 84
integer taborder = 60
integer textsize = -8
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
long textcolor = 33554432
borderstyle borderstyle = stylelowered!
end type

type st_program from statictext within w_main
integer x = 73
integer y = 832
integer width = 590
integer height = 64
integer textsize = -8
integer weight = 700
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
long textcolor = 33554432
long backcolor = 67108864
string text = "RunAndWait Program:"
boolean focusrectangle = false
end type

type rb_hidden from radiobutton within w_main
integer x = 1573
integer y = 672
integer width = 283
integer height = 84
integer textsize = -8
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
long textcolor = 33554432
long backcolor = 67108864
string text = "Hidden"
end type

type rb_minimized from radiobutton within w_main
integer x = 1207
integer y = 672
integer width = 352
integer height = 84
integer textsize = -8
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
long textcolor = 33554432
long backcolor = 67108864
string text = "Minimized"
end type

type rb_maximized from radiobutton within w_main
integer x = 841
integer y = 672
integer width = 357
integer height = 84
integer textsize = -8
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
long textcolor = 33554432
long backcolor = 67108864
string text = "Maximized"
end type

type rb_normal from radiobutton within w_main
integer x = 549
integer y = 672
integer width = 279
integer height = 84
integer textsize = -8
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
long textcolor = 33554432
long backcolor = 67108864
string text = "Normal"
boolean checked = true
end type

type st_window_style from statictext within w_main
integer x = 549
integer y = 608
integer width = 407
integer height = 64
integer textsize = -8
integer weight = 700
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
long textcolor = 33554432
long backcolor = 67108864
string text = "Window Style:"
boolean focusrectangle = false
end type

type cbx_terminate from checkbox within w_main
integer x = 1902
integer y = 672
integer width = 718
integer height = 84
integer textsize = -8
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
long textcolor = 33554432
long backcolor = 67108864
string text = "Terminate after 5 seconds"
end type

type sle_shellverb from singlelineedit within w_main
integer x = 73
integer y = 672
integer width = 407
integer height = 84
integer taborder = 50
integer textsize = -8
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
long textcolor = 33554432
string text = "open"
borderstyle borderstyle = stylelowered!
end type

type st_shellverb from statictext within w_main
integer x = 73
integer y = 608
integer width = 407
integer height = 64
integer textsize = -8
integer weight = 700
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
long textcolor = 33554432
long backcolor = 67108864
string text = "Shell Verb:"
boolean focusrectangle = false
end type

type cb_shellrunandwait from commandbutton within w_main
integer x = 2889
integer y = 640
integer width = 553
integer height = 100
integer taborder = 110
integer textsize = -8
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
string text = "ShellRunAndWait"
end type

event clicked;Long ll_ShowWindow
String ls_filename, ls_shellverb, ls_errormsg

SetPointer(HourGlass!)

ls_filename = sle_document.text
If ls_filename = "" Then
   sle_document.SetFocus()
   MessageBox(Parent.Title, "Please select a file to open!", StopSign!)
   Return
End If

ls_shellverb = sle_shellverb.text
If ls_shellverb = "" Then
   sle_shellverb.SetFocus()
   MessageBox(Parent.Title, "Shell verb is required!", StopSign!)
   Return
End If

ll_ShowWindow = wf_WindowOptions()

If Not iRun.ShellRunAndWait(ls_filename, ls_shellverb, ll_ShowWindow) Then
   ls_errormsg = iRun.LastErrorText
   MessageBox(this.Text, ls_errormsg, StopSign!)
End If

end event

type cb_shellrun from commandbutton within w_main
integer x = 2889
integer y = 128
integer width = 553
integer height = 100
integer taborder = 100
integer textsize = -8
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
string text = "ShellRun"
end type

event clicked;Long ll_ShowWindow
String ls_filename, ls_shellverb, ls_errormsg

SetPointer(HourGlass!)

ls_filename = sle_document.text
If ls_filename = "" Then
   sle_document.SetFocus()
   MessageBox(Parent.Title, "Please select a file to open!", StopSign!)
   Return
End If

ls_shellverb = sle_shellverb.text
If ls_shellverb = "" Then
   sle_shellverb.SetFocus()
   MessageBox(Parent.Title, "Shell verb is required!", StopSign!)
   Return
End If

ll_ShowWindow = wf_WindowOptions()

If Not iRun.ShellRun(ls_filename, ls_shellverb, ll_ShowWindow) Then
   ls_errormsg = iRun.LastErrorText
   MessageBox(this.Text, ls_errormsg, StopSign!)
End If

end event

type st_document from statictext within w_main
integer x = 73
integer y = 64
integer width = 553
integer height = 64
integer textsize = -8
integer weight = 700
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
long textcolor = 33554432
long backcolor = 67108864
string text = "ShellRun Document:"
boolean focusrectangle = false
end type

type sle_document from singlelineedit within w_main
integer x = 73
integer y = 128
integer width = 2615
integer height = 84
integer taborder = 10
integer textsize = -8
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
long textcolor = 33554432
borderstyle borderstyle = stylelowered!
end type

type cb_choose_document from commandbutton within w_main
integer x = 2688
integer y = 124
integer width = 133
integer height = 92
integer taborder = 20
integer textsize = -8
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
string text = "..."
end type

event clicked;String ls_pathname, ls_filename, ls_filter
Integer li_rtn

ls_filter  = "Files (*.*),*.*"

li_rtn = GetFileOpenName("Select ShellRun Document", &
            ls_pathname, ls_filename, "", ls_filter)
If li_rtn = 1 Then
   sle_document.text = ls_pathname
   sle_document.SetFocus()
End If

end event

type cb_cancel from commandbutton within w_main
integer x = 2889
integer y = 2304
integer width = 553
integer height = 100
integer taborder = 150
integer textsize = -8
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Segoe UI"
string text = "Cancel"
boolean cancel = true
end type

event clicked;Close(Parent)

end event