Both of these components are available as Shareware (compiled) and are free to download, Source code is available, see the documentation for the individual components.
Setutl is a v13 compiled component that provides additional functionality to/with 4D sets. you can download it here: https://www.dropbox.com/s/5pwtrmw3ie91rpy/Setutl%20compiled.zip?dl=0 Here is a summary of Setutl: setutl_Clear - clears a set created by setutl setutl_Copy - copies a set into a set managed by setutl setutl_Create_Empty - creates an empty set managed by setutl setutl_Create - creates aset managed by setutl setutl_Difference - differences 2 sets, optionally clearing the second set setutl_Does_Set_Exist - determine if 1 or more sets exist (managed by setut) setutl_GethighlightedRecords - creates a set managed by setutl of the current highlighted records setutl_Hold_Selection - places the current selection of a table into a set managed by setutl setutl_Intersection - intersects 2 sets, optionally clearing the second setutl_Load - Loads a set saved to disk into a set managed by setutl setutl_Next - go to the next record in the set setutl_On_Same_Table - are 2 sets on the same table setutl_Set_Query_Destination - if used for 'into set' creates a set managed bysetutl setutl_Return_Selection - returns to the current selection a previously 'held' selection setutl_Track_Other - add a set created outside of setutl to the setutl manages sets setutl_Union_Sets - unions 2 sets, optionally clearing the second setutl_Use_and_Clear - uses a set, and clears the contents setutl_What_Set - what, setutl, managed sets exist for a specified table setutl_What_Table - what table does a specific set belong to (if you purchased the source of Setutl, you will see an update delivered to your email box) ---------------- Also available Txtutl Component - is a v13 compiled component that provides additional text manipulation functionality https://www.dropbox.com/s/wj3w55p3gvzp5h5/Txtutl_Component_v1.0.0.zip?dl=0 Here is a summery of Txtutl: txtutl_Add_if_Not_Existing - adds a character string (front, back or both) to an existing text, if the character(s) do not already exist in that (those) location(s). txtutl_Append_to_Blob - appends a text to a blob txtutl_Are_Words_Similar - compares 2 words, using Levenshtein distance to determine similarity. txtutl_Arrays_to_Text - moves the content of 1 or more arrays into a text variable txtutl_Capitalize - Capitalizes The First Letter of Each Word In A Text, Includes An Override txtutl_Character_Count - How many times does a specified character string appear in source text. txtutl_Character_First - first character of text txtutl_Character_Last - last character of text txtutl_Convert_From_Hex - convert a hex value to a long integer value txtutl_Convert_From_Text - convert text to most data types supported txtutl_Convert_to_Hex - convert a numeric value to hex (long or real) txtutl_Convert_to_Text - convert most data types to text txtutl_Current_EOL - What if the EOL of the currently opened file txtutl_Day_Name - Name of the day of the week, full or abrev. txtutl_Delim_Text_to_Array - move delimited text into an array txtutl_Distinct_Characters - what are the distinct characters in a text txtutl_Exact_Match - are 2 texts exactly the same - case sensitive txtutl_Month_Name - name of the month full or abrev txtutl_Omit_Characters - remove one or more characters (or as character codes) from a text txtutl_Pad - add spaces (or other characters) to a text to a specified length txtutl_Parse - rip apart a text to get portions of the text for processing (ex: imports) txtutl_Parse_Reverse - rip apart a text starting from the right side (ex: directory structure) txtutl_Position - faster position, takes into account Unicode txtutl_Position_Reverse - position, only starting from the right, takes into account Unicode txtutl_Position_of_Occurrence - what position is the Nth occurrence of a character string txtutl_Random_Text - generate random text, with optional weighting (ex: passwords) txtutl_Read_File_to_Text - read a file into a text var/field or text array txtutl_Records_to_BlobText_Fast - place all or part of records into text returned as a blob txtutl_Records_to_BlobText_Safe - place all or part of records into text returned as a blob txtutl_Records_to_Text_Fast - place all or part of records into text txtutl_Records_to_Text_Safe - place all or part of records into text txtutl_Replace_String - faster replace string txtutl_Strip_Characters - remove character(s) from either or both ends of a text txtutl_UnCapitalize - uNCAPITALIZES tHE fIRST lETTER oF eACH wORD iN a tEXT. txtutl_Zero_Fill - create a zero fill format for padding numbers to get correct sorting ------------ Hell is other people Jean-Paul Sartre ********************************************************************** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **********************************************************************