"save as" of stack file from a script

Dr. Hawkins dochawk at gmail.com
Fri Jul 3 23:24:03 EDT 2015


On Fri, Jul 3, 2015 at 5:56 PM, Richard Gaskin <ambassador at fourthworld.com>
wrote:

> A mainstack has a filename property, which can be set from the value
> returned from "ask file".  Follow that with a save command and you're done.


Wow.  That easy.  And it turns out that save can even take a filename
argument . . .

So it now slices & dices quite nicely.

I then made two more procedures to help update/move along.

My files end up with path/names like

someBaseDir/yymm/yymmdd/baseProgName.yymmdda.livecode


where the "a" in the advancing letter subversion.

So this procedure now bumps the version without leaving the ice


*on* bmpVrsn

   *--bump the version by a letter*



   *local* oldFlNm, newFlNm

   *save* this stack


   *put* the filename of stack (the mainstack of this stack ) into newFlNm

   *put* numToChar(charToNum(char -10 of newFlNm)+1) into char -10 of
newFlNm

   *save* this stack as newFlNm



*end* bmpVrsn


and this one is for when it opens, to see if it's new day, and to make any
needed directories and but the name:

*on* ckVersDat

   *--to be used when opening.   Change the file if it is not from today*



   *local* today, year, month, day

   *local* oldYear, oldMonth, oldDay

   *local* oldFilNm, newFilNm



   *put* the long date into today

   *convert* today to dateitems



   *put* char 3 to 4 of the first item of today into year

   *put*  char -2 to -1 of ("0" & item 2 of today) into month

   *put* char -2 to -1 of ("0" & item 3 of today) into day



   *put* year & month & day into today



   *put* the fileName of stack (the mainStack of this stack) into oldFilNm



   *--figure out the old file dates*

   *set* the itemDel to "/"



   *if* item -2 of oldFilNm = today *then*

      *--it is the same day*

     * exit ckVersDat*

   *end* *if*





   *put* char 1 to 2 of item -2 of oldFilNm into oldYear

   *put* char 3 to 4 item -2 of oldFilNm into oldMonth

   *put* char 5 to 6 of item -2 of oldFilNm into oldDay



   *put* item 1 to -4 of oldFilNm & "/" & year & month into newFilNm

   *if* there is not a folder newFilNm *then*

      *create* folder newFilNm

   *end* *if*



   *put* "/" & today after newFilNm

   *if* there is not a folder newFilNm *then*

      *create* folder newFilNm

   *end* *if*



   *put* "/" & char 1 to -17 of item -1 of oldFilNm & today & "a.livecode"
after newFilNm

   *if* there is not a file newFilNm *then*

      *save* this stack as newFilNm

   *else*

      *get* dhbkAnswr ("There is already a file", newFilNm)

   *end* *if*

*end* ckVersDat


Now I just need to find the routine to cause a standalone to compile . . .

-- 
Dr. Richard E. Hawkins, Esq.
(702) 508-8462



More information about the use-livecode mailing list