Hi,

Sometimes doing the "needful" exceeds the "requested". Jim has a vision of
what he wants, basically a batch file based simplified install. You
(Jerome) have created some very useful utilities for managing the screen
and such.

My thought was basically to incorporate your V8 tools as a part of FreeCOM
to make an "fdinstall.com" (or setup.com) which runs as a shell. The added
advantage is that the custom command shell retains the batch and
environment functionality, which can ultimately be expanded for other
install processes or even package management.

-T

On Tue, Oct 6, 2015 at 8:55 AM, Eric Auer <e.a...@jpberlin.de> wrote:

>
> Hi Jerome, for clarification: I was referring to
> the specific case where your tools are used as a
> part of the install process of FreeDOS :-)
>
> In your given "pick a file and unzip" example, it
> would be possible to do alternative tricks like:
>
> VASK-PRO /F *.zip "Pick a file to unzip" "unzip $F"
>
> The proposed VASK-PRO tool would display a file picker
> (another option could select a directory picker) for
> all files called "*.zip" together with the question
> text in the next option. Once the user picks a file
> (if the user aborts, VASK-PRO just exists) then the
> command "unzip THATFILENAME" will be invoked. Voila,
> a solution without SET /P and without pipelines :-)
>
> My question was: Which variables do you set using the
> SET /P trick and is it really necessary to have them
> in environment variables? Could you use the values in
> other ways (as in the above example)? Or would it be
> sufficient to have a small RAM storage area to keep
> status of your tools? An obvious example would be the
> cursor case:
>
> VCURSORX /PUSH /SET=full
>
> could store the current cursor size in a V-specific
> RAM area and change the cursor to full block size.
>
> VCURSORX /POP /CLEAN
>
> could restore the cursor size from that RAM area (if
> none found, do nothing) and deallocate the RAM area
> as far as cursor data is concerned. Of course it is
> not necessary to make a real stack here, probably a
> single cursor size storage slot will be enough.
>
> Other variations of the same idea will apply to other
> uses of your tools for the installer. My question is:
>
> Are there installer actions which REQUIRE some SET /P
> support and if no SET /P is available, what is lost?
>
> > The only tools that will require set /p support for any usable
> functionality
> > will be vask (when I get around to making it) and vmath. There are
> advanced
> > functions in vcursor, vfdutil, vgotoxy, vmode, vstr and vchoice that can
> be
> > taken advantage of when set /p works. But, for the most part they are
> > not needed or required to accomplish most things.
> >
> > Let’s take vchoice for example. You can fairly easily have a area that
> > vchoice will use for selection. It will by default output your choice
> > as an exit code (errorlevel). No set /p required.
> >
> > However, if lets say you have displayed 20 file names, your batch file
> does not
> > know what the filenames are since you basically are just listing a
> directories
> > contents. You want the user to pick one. If you knew what the names were,
> > you could use 20 “if errorlevel n” instructions to set an environment
> variable
> > you want to pass as an archive name to the zip utility. If you use the
> /Q option
> > on vchoice that text will be sent to STDOUT. So, you could use basically
> > 1 line to achieve something that is not really possible otherwise. Just,
> > by doing “vchoice /Q | set /p ZARC=“
> >
> > But, like I said this is an advanced function and would not be needed
> most
> > of the time.
> >
> > Another example is vfdutil. You can go directly to a drive and path of a
> > filename. changing the current drive and directory by using “vfdutil
> /c/p %SOMETHING%”.
>
> You can simply change the active directory to do thisk :-) As there
> is directory stack support (PUSHD, POPD...) in FreeCOM command.com,
> things get even more convenient. Same example, without SET /P usage:
>
> pushd
> VFDUTIL /PATH /GO-THERE
> dir *.* > x:\filelist.txt
> popd
>
> Note that I explicitly store the resulting file list in X:, which in
> my example could be a small ramdisk. If the user later has to pick a
> file from that list and unzip it, the example near the beginning of
> my mail can be combined with this to do everything WITHOUT ramdisk.
>
> On the other hand, if you plan to unzip a file, you probably unzip
> it to the drive where you install DOS, so you can simply use that
> drive for temporary storage of the file list as well... :-)
>
> > vfdutil /p %SOMETHING% | set /p FPATH=“
> > dir %FPATH%\*.* >FILELIST.TXT
>
> Regarding mathematical and cursor processing: Are you sure that you
> have to do this with several tools which have to communicate using
> a memory area or environment variables? How about doing ALL steps
> for a single cursor move inside a SINGLE call to one of your tools?
>
> This could be for example: VCURSORX /GOTO $WIDTH/2-10 $HEIGHT/2-3
> In my example, VCURSORX supports width and height look-ups and some
> basic math calculations itself, avoiding the need to pass on data.
>
> Cheers, Eric
>
>
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Freedos-devel mailing list
> Freedos-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freedos-devel
>
------------------------------------------------------------------------------
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to