Cory Posted September 21, 2007 Report Share Posted September 21, 2007 Is there a way to embed a file contents into ME easily? I’m developing a macro that relies on a couple of INI files with 50 or so entries each. For deployment to several sites it might be easier if I could have the contents of this file embedded in the macro. Something like T1=abunchoftext so that I could take T1 and write it to a file. But of course I can’t paste this in to a Set Text Variable since it has CRLF’s. My tack now is ot set a var for CRLF and paste that in to the set var command using the var. But that’s not very elegant. I could create the INI file and write code to create each entry in a sense building the INI from scratch but that seems laborious as well. Maybe I couldbypass the limitation of the input dialog box by using the direct editor. Is there an easier way to get a chunk of data into ME so that I could use it to create a file later? Quote Link to comment Share on other sites More sharing options...
kevin Posted September 22, 2007 Report Share Posted September 22, 2007 My tack now is ot set a var for CRLF and paste that in to the set var command using the var.You are on the right track. Joe did this with some of his macros. I remember discussing this issue with him some time ago. If it were me I would just create the INI files from a macro. The macro would test for the existence of the .ini file and, if not found, create it with default values. This technique requires two macro commands for each entry in your INI file. Something like this: Variable Set String %T1% "Some Value" Variable Modify String: Save %T1% to INI File But, once written, it is easily understood and maintainable. If you use the first technique, your macro will look more elegant but it is cumbersome to change and it may not be easily understood by others. Of course, that may be one of your goals. The first technique could be accomplished with only six macro commands (plus comments): // Set T13 to CRLF Variable Set %T13% to ASCII Char of 13 Variable Set %T10% to ASCII Char of 10 Variable Set String %T13% "%T13%%T10%" Variable Set String %T1% "A Bunch Of Stuff Representing an INI file" Replace "##BLUE_CRLF##" with "%T13%" in %T1% Variable Modify String: Save %T1% to INI File Quote Link to comment Share on other sites More sharing options...
joe Posted September 22, 2007 Report Share Posted September 22, 2007 Embedded text in a macro is easy. And it lends itself to a zero footprint model. In other words, you need nothing more than the macro to do whatever it is that the macro does. A good example of this is the Multiple Field Input example macro. The generated HTA code is contained in string variable(s). You can see where CR/LF sequences are stored as "PGMCRLF" and replaced with real CR/LF strings when required in the manner that Kevin has shown. If I want to edit the HTA string, I simply copy it to my text editor, replace all "PGMCRLF" with actual CR/LF, and then hack away. When finished, I do the opposite. Quote Link to comment Share on other sites More sharing options...
Cory Posted September 22, 2007 Author Report Share Posted September 22, 2007 That HTA thing ticks me off! I dorked and dorked with that and could never get one of my own to work and I REALLY would like a multi-field input capability. I finally had to give up due to time constraints and sanity levels. Maybe if Joe is interested in helping me I should take another crack at it. Now where was I? Oh yeah… The HTA is exactly the kind of thing I was thinking of in terms of storing a file. Mainly I wanted to check to see that I wasn’t missing something. Generally I think the CRLF is the best way to approach the problem especially since most of my macros start with my CRLF/TAB subroutine as I use them constantly. But in the case of an INI file I like the idea building it because it would then be easier to tweak later. I feel a feature request coming on… Embed File command. Quote Link to comment Share on other sites More sharing options...
Cory Posted September 22, 2007 Author Report Share Posted September 22, 2007 You know what? I just did an experiment. One can simply paste the text in using the direct editor! Brilliant! I knew that thing would come in handy one of these days. Quote Link to comment Share on other sites More sharing options...
floyd Posted September 22, 2007 Report Share Posted September 22, 2007 An HTA file is an HTML file. Take almost any HTML file, rename it, add in the "<hta:application ... />" tag, and you have an HTA file with the same capabilities as HTML, XHTML, DHTML, ... whatever ... document. Quote Link to comment Share on other sites More sharing options...
Cory Posted September 22, 2007 Author Report Share Posted September 22, 2007 I took a drag off my cup-o-joe and decided to have another look at your HTA this morning because I really would like to have this capability. I retraced my steps and found where I went afoul last time. Even though HTA is basically an HTML file associated with a different application your example is not a simple HTML form, it’s all VBScript. I am not a VB programmer so this is beyond my scope. I can follow it a little but it’s been decades since I’ve done any real programming and I know if I ever tried to fake it to make my own version I’d make some syntactical error someplace and would be stuck until I learned to program VBScript. One of these days I’ll lean VBScript and VB but for the moment it’s the deep end of the pool for me. Quote Link to comment Share on other sites More sharing options...
floyd Posted September 23, 2007 Report Share Posted September 23, 2007 Creating a simple, but dynamic, multiple field input form based on parameters supplied by Macro Express (maybe in the format of an INI file) would not be all that difficult to do. It really depends on the end-game, or what you want to prevent the user from inputting. If it's just a basic form, you need variables for: Width and height of the form (assume a center position on the display) How many text input fields it contains the X and Y coordinates of each each one for placement The label and label position for each field (assume either left of, or above each field) The minimum and maximum number of characters for each field ... and so forth. Placing all of this information in an INI file is easy to do for Macro Express, as is generating the script on the fly that presents the form to the user. It's easier than it sounds. In fact, an INI file might be overkill. On the other hand, they are easy to maintain. Quote Link to comment Share on other sites More sharing options...
Cory Posted September 24, 2007 Author Report Share Posted September 24, 2007 I had given this all a ‘pass’ in my mind but on more consideration I’ve generated an alternate idea. But since the topic is changing I’ll start a new thread. Here it is! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.