Notifications
Clear all

[Closed] Saving/Loading array info into text file

I have a feeling that this is in the help file, but as our current production time line is very tight, i don’t have time to dig through MaxScript resource right now.

I have 2 arrays that are basically acting as a hash table right now…one holds my string, and the other my struct info. I need to write these files to a text file, and then be able to easiy read it in to the rollout…kind of like a save and load.

my index array is objIndex – strings for file name
my field array is objArray – struct info

my struct is Obj_Library (File, type, objects)

this will probably be run through a menu, i just haven’t had time to write it in yet…any help in getting started or a point in the right direction would be helpful.

1 Reply

Perhaps something like this could be useful to you?
These are two functions I wrote to save and load data from an INI file, based on an object structure:


 /*		SAVE SETTINGS FUNCTION		   */
 function saveINISettings iniFile section sourceObject = (
 	local properties = (getPropNames sourceObject);
 	for i in properties do (
 		attribute = (i as string);
 		local value = ((getProperty sourceObject i) as string);
 		if not (value == "undefined") then (
 			setINISetting iniFile section attribute value;
 		)
 	)
 )
 
 
 
 /*		LOAD SETTINGS FUNCTION		 */
 function loadINISettings iniFile section targetObject = (
 	local iniSettings = (getINISetting iniFile section);
 	
 	for i in iniSettings do (
 		iniAttribute = (i as string);
 		iniValue = (getINISetting iniFile section iniAttribute);
 		if iniValue != "" then (
 			setProperty targetObject i (convertString iniValue);
 		)
 	)
 )
 
 /*				CONVERT STRING FUNCTION				  */
 /* 																	   */
 /*	Converts a string to a more suitable variable type. */
 /*																		*/
 /*	stringVar:<string>											*/
 /*		String that will be converted.						 */
 /*																		*/
 function convertString stringVar = (
 	local newVar;
 	if stringVar != "" then (
 		if (stringVar as integer) != undefined then (
 			newVar = stringVar as integer;
 		) else (
 			try (
 				if (execute stringVar) == undefined then (
 					newVar = stringVar;
 				) else (
 					newVar = execute stringVar;
 				)
 			) catch(
 				newVar = stringVar;
 			)
 		)
 	)
 	return newVar;
 )