clear
** END HEADER -- do not remove this line
//
// Generated on 2023-11-17
//
parameter bModal
local f
f = new bijlage_testForm()
if (bModal)
f.mdi = false // ensure not MDI
f.readModal()
else
f.open()
endif
class bijlage_testForm of FORM
with (this)
onOpen = class::FORM_ONOPEN
metric = 6 // Pixels
height = 413.0
left = 190.0
top = 33.0
width = 713.0
text = ""
endwith
this.KNOP_BIJLAGE = new PUSHBUTTON(this)
with (this.KNOP_BIJLAGE)
onClick = class::KNOP_BIJLAGE_ONCLICK
height = 57.0
left = 374.0
top = 177.0
width = 131.0
text = "Run function bijlageB() to select files."
endwith
this.PUSHBUTTON1 = new PUSHBUTTON(this)
with (this.PUSHBUTTON1)
onClick = class::PUSHBUTTON1_ONCLICK
height = 57.0
left = 374.0
top = 261.0
width = 131.0
text = "Run function bijlageA() to display selected files"
endwith
this.EDITOR1 = new EDITOR(this)
with (this.EDITOR1)
height = 126.0
left = 320.0
top = 34.0
width = 321.0
value = ""
endwith
this.ENTRYFIELD1 = new ENTRYFIELD(this)
with (this.ENTRYFIELD1)
height = 22.0
left = 35.0
top = 36.0
width = 213.0
value = "D:\examples"
endwith
this.PUSHBUTTON2 = new PUSHBUTTON(this)
with (this.PUSHBUTTON2)
onClick = class::PUSHBUTTON2_ONCLICK
height = 24.0
left = 50.0
top = 68.0
width = 107.0
text = "Change directory"
endwith
this.LISTBOX1 = new LISTBOX(this)
with (this.LISTBOX1)
onRightMouseDown = class::LISTBOX1_ONRIGHTMOUSEDOWN
height = 232.0
left = 35.0
top = 162.0
width = 218.0
id = 106
colorHighLight = "HighLightText/HighLight"
multiple = true
vScrollBar = 1 // On
endwith
this.TEXTLABEL1 = new TEXTLABEL(this)
with (this.TEXTLABEL1)
height = 22.0
left = 35.0
top = 105.0
width = 267.0
text = "Use Ctrl-key to select/deselect multiple files"
endwith
this.TEXTLABEL2 = new TEXTLABEL(this)
with (this.TEXTLABEL2)
height = 22.0
left = 35.0
top = 132.0
width = 226.0
text = "Right-click to clear selection "
endwith
this.PUSHBUTTON3 = new PUSHBUTTON(this)
with (this.PUSHBUTTON3)
onClick = class::PUSHBUTTON3_ONCLICK
height = 57.0
left = 374.0
top = 341.0
width = 131.0
text = "Print listbox1.selected()"
endwith
function KNOP_BIJLAGE_onClick()
//save the array returned by bijlageB in
form.editor1.value = ''
form.bijlage_array = class::bijlageB()
return
function LISTBOX1_onRightMouseDown(flags, col, row)
class::renew_listbox_list()
this.cursel = 1
class::deselectEntry()
return
function PUSHBUTTON1_onClick()
if type('form.bijlage_array') ='A'
class::bijlageA(form.bijlage_array)
else
msgbox("bijlageB hasn't been executed")
endif
return
function bijlageB
aGroep = new array()
aGroep = form.listbox1.selected()
return aGroep
function PUSHBUTTON2_onClick()
form.entryfield1.value = getdir()
class::renew_listbox_list()
form.listbox1.cursel = 1
class::deselectEntry()
return
function renew_listbox_list
form.listbox1.selected() = null
form.listbox1.datasource = null
aList = class::get_file_list()
form.aList_first = aList[1]
form.listbox1.datasource = 'ARRAY aList'
class::deselectentry()
return
function PUSHBUTTON3_onClick()
if form.listbox1.selected().size = 0
msgbox('Nothing selected')
endif
for n = 1 to form.listbox1.selected().size
? form.listbox1.selected()[n]
next
return
function bijlageA(aArray)
//Replace with code to set email attachments
if aArray.size = 0
msgbox('Nothing selected')
endif
form.editor1.value = ''
for n = 1 to aArray.size
form.editor1.value += aArray[n]
form.editor1.value += chr(13)+chr(10)
next
return
function get_file_list
//Creates the array aList containing a list of
//filenames held in the directory shown in entryfield1
local aFiles,nFiles,cSkeleton
private aList
#define ARRAY_DIR_NAME 1
aFiles = new Array() // Array will be resized as needed
aList = new array() //One dimension array for listbox
cFileType = '\*.*' //Change as appropriate
cSkeleton = form.entryfield1.value+cFileType
nFiles = aFiles.dir(cSkeleton)
for nFile = 1 to nFiles
aList.add(aFiles[nFile,ARRAY_DIR_NAME])
next
return aList
function setcontrolkey(onoff,nstate)
local keybuffer,state,vk_control
vk_control = 0x11 //virtual key code for control key
keybuffer = Space(256)
GetKeyboardState(keybuffer)
state=keybuffer.getbyte(vk_control)
If onoff # 0
nstate=bitor(128,state)
endif
keybuffer.setbyte(vk_control,nstate)
SetKeyboardState(keybuffer)
return state
function deselectEntry
wm_lbuttondown = 0x0201
wm_lbuttonup = 0x0202
class::setcontrolkey(1,0)
sendmessage(form.listbox1.hwnd,wm_lbuttondown,9,0x100010)
sendmessage(form.listbox1.hwnd,wm_lbuttonup,9,0x100010)
class::setcontrolkey(0,1)
return
function form_onOpen()
if type("SendMessage") # "FP"
extern clong SendMessage(chandle,cuint,clong,clong) user32 ;
from "SendMessageA"
endif
if type("GetKeyboardState") # "FP"
extern CVOID GetKeyboardState(CPTR) User32
endif
if type("SetKeyboardState") # "FP"
extern CVOID SetKeyboardState(CPTR) User32
endif
//get list of files in diretory shown in entryfield1
aList = class::get_file_list()
form.listbox1.datasource = 'ARRAY aList'
class::deselectEntry()
return
endclass
Warning: Unknown: write failed: No space left on device (28) in Unknown on line 0
Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct () in Unknown on line 0