Character Mode Cookbook
From DataFlex Wiki
on_key KCLEAR : F5 on_key KCANCEL Send Cancel : Esc on_key KENTER : Enter on_key KSAVE_RECORD Send Do_Report : F2
Promt commands df32 dfcomp ex.src -pfv1 p=precompile dfcomp ex.src -fv1 fv1 creates prn-file (check errors) dfrun ex dfruncon ex with mouse support
Move (key+1) to key key = key++ //Dont forget to use paratheses (a+(b*c))<>a+b*c
Set value of (oPop(current_object)) item 0 to sVar // item[0] = sVar Get Value item 0 to sVar // sVar = item[0]
Set A to B A=B Get A to B B=A
get myFunc of (oObj(current_object)) "tmp" to sAnswer // sAnswer = oObj->myFunc("tmp") -------------- SET value of OBJ ITEM to VAL location X Y [ABSOLUTE/RELATIVE] focus_mode to POINTER_ONLY -------------- Procedure MyProcedure
End_Procedure
Send MyProcedure ------------------ Procedure DisplayResult String lsValue1 String lsValue2 String lsValue3 set value of (oOutput(self)) item 0 to lsValue1 set value of (oOutput(self)) item 1 to lsValue2 set value of (oOutput(self)) item 2 to lsValue3 end_procedure send DisplayResult lsValue1 "" "" -------------- Procedure_Section // used in reports to handle paging in a smarter way --------------
Function MyFunction integer i returns Integer End_Function get MyFunction(self) as iRet -------------- function myFunc string test returns string local string lsRval move test to lsRval function_return lsRval end_function
get myFunc of (oObj(current_object)) "tmp string" to sAnswer -------------- start_ui // starts a new console ui_accept // has a return value activate_scope // opens a new "window"
-------------- /Answer.hdr +--------------------+ /Answer.dat ¦ Answer:_________ ¦ +--------------------+ /* register_object oAnswer Object oAnswer is a Client Answer.hdr Set location 7 30 ABSOLUTE On_Key kcancel Send cancel
Object oAnswData is a Form Answer.dat Set location 1 0 RELATIVE Set focus_mode to POINTER_ONLY item_list On_Item "" Send none end_item_list End_Object
Procedure OpenAnswerForm string sValue local Integer iRval Set value of (oAnswData(current_object)) item 0 to sValue ui_accept current_object to iRval End_Procedure
End_Object
Send OpenAnswerForm to (oAnswer(current_object)) "test string" --------------
/oReportView1.SectionName __________________________________________________________________________ /oReportView1.body ____________________ ______________________ /*
//Activate_View Activate_Report1 for oReportView Object oReportView1 is a Report_View NO_IMAGE
Object oMainReport is a seq.Report NO_IMAGE
Set Main_File to customer.file_number //set Ordering to 2 // Order by name Set Report_Title to "Report 1 - Show position of sections"
set Page_End to 18 // Page length set to screen length
Procedure _PrintSectionName String lsValue Print lsValue to oReportView1.SectionName.1 Output_Pagecheck oReportView1.SectionName End_Procedure
// Procedures Page_Top thru Page_Bottom ONLY get used by the outermost report // object... All other objects delegate messages to this ultimate parent. // creating these procedures in child reports will have NO effect.
// Procedure_Section Page_Top as oReportView1.SectionName // Procedure_Section Report_Header as oReportView1.SectionName // Procedure_Section Page_Header as oReportView1.SectionName // Procedure_Section Page_Title as oReportView1.SectionName // Procedure_Section Page_Total as oReportView1.SectionName // Procedure_Section Page_Footer as oReportView1.SectionName // Procedure_Section Report_Footer as oReportView1.SectionName Procedure_Section Page_Bottom as oReportView1.SectionName Send _PrintSectionName "Page_Bottom (last thing printed on every page)" End_Procedure
Procedure_Section Body as oReportView1.body // or Procedure_Section Body Print customer.name to oReportView1.body.1 // Sets the data fields Print customer.city to oReportView1.body.2 Output_Pagecheck oReportView1.body // Prints the data to screen End_Procedure
//Procedure_Section Total as oReportView1.SectionName
End_Object
Procedure run_report send run_report to (oMainReport(self)) End_Procedure End_Object
procedure Activate_Report_View_1 send run_report to (oReportView1(self)) end_procedure
---------------------------------------------------------------
Object oOrder is a Entry_View_Client oOrder.hdr Set location 5 8 ABSOLUTE
Object Orderhea_DD is a Data_Set NO_IMAGE Set main_file to Orderhea.file_number End_Object
Object Orderdtl_DD is a Data_Set NO_IMAGE Set main_file to Orderdtl.file_number Send attach_server (Orderhea_DD(current_object)) //Set constrain_file to orderhea.file_number begin_constraints Constrain orderdtl relates to orderhea end_constraints End_Object Object oForm is a Entry_Form oOrder.frm Set location 1 0 RELATIVE Set Server to (Orderhea_DD(current_object))
item_list Entry_Item ORDERHEA.ORDER_NUMBER { AutoClear AutoFind } Entry_Item ORDERHEA.ORDER_DATE { AutoClear NoEnter } Entry_Item ORDERHEA.SHIP_VIA { AutoClear NoEnter } Entry_Item ORDERHEA.ORDERED_BY { AutoClear NoEnter } Entry_Item ORDERHEA.ORDER_TOTAL { AutoClear NoEnter } end_item_list End_Object
Object oList is a Selection_List oOrder.lst Set location 13 0 RELATIVE Set Server to (Orderdtl_DD(current_object)) Begin_Row Entry_Item ORDERDTL.DETAIL_NUMBER { AutoClear AutoFind NoPut} Entry_Item ORDERDTL.ITEM_ID { AutoClear } Entry_Item ORDERDTL.QTY_ORDERED { AutoClear } Entry_Item ORDERDTL.PRICE { AutoClear } Entry_Item ORDERDTL.EXTENDED_PRICE { AutoClear } End_Row
End_Object End_Object