Quintiq file version 2.0 #parent: #root Method PTF_InsertStatement () id:Method_LibPTF_dlgCreateEditTestScript_PTF_InsertStatement { #keys: '[103546.0.78315835]' Body: [* // Insert the user selected action and the entered parameters into the Script Editor keyword := selKeyWord.BoundValue(); keywordparam := "" endkeyword := "" // Insert additional statements for the LOOP keyword if( keyword.ToUpper().FindString( LibPTF_StandardAction::Loop().ToUpper(), 0 ) > -1 ) { endkeyword := ";" + String::NewLine() + " << DEFINE YOUR TASK >>" + String::NewLine() + LibPTF_StandardAction::EndLoop(); } if( edtKeyWordParameter.Text().TrimBoth().Length() > 0 ) { keywordparam := " " + edtKeyWordParameter.Text().TrimBoth(); } // Retrieve the action(keyword) and the set of parameters from a statement parameters := construct( Strings ); this.PTF_GetActionAndParameters( keyword + keywordparam, parameters ); // Validate the set of parameters based on action(keyword) errormsg := this.PTF_ValidateStatement( keyword, parameters ); // Format the error message when there is an error in validation if( errormsg.Length() > 0 ) { errormsg := "The following error is found in the script:" + String::NewLine() + String::NewLine() + errormsg + String::NewLine() + "Do you still want to add the action into the script?"; } // When validation passed, or user insists to insert the invalid statement, perform insert. if( errormsg.Length() = 0 or MessageBox::Warning( this, errormsg, '&Yes|&No', 1 ) = 0 ) { // Append new script if( edtActionScript.Text().TrimBoth().Length() = 0 ) { edtActionScript.CursorToBegin(); } else { edtActionScript.CursorToEndOfLine(); edtActionScript.InsertText( String::NewLine() ); } edtActionScript.InsertText( keyword + keywordparam + endkeyword + ";" ); } *] }