| 
 
| 
|  Author | Topic: Embedded Files  (Read 1185 times) |  |  
| 
| 
| CirothUngol New Member
 
 
 member is offline
 
  
 Odie, Odie, cha cha cha.
 
 
 
  
 Gender:
  Posts: 44
 
 | 
|  | Embedded Files « Thread started on: Nov 23rd, 2013, 02:33am »
 |  |  Here's a few suggestions regarding embedded files:
 
 * Option to extract files to system %TEMP% folder.
 I don't know if special permissions are needed for this, but it'd be nice to have the option of extracting to a less-visible neutral location.
 
 * Option to extract files only if they don't exist.
 ...or something similar. It seems that the default behavior is to always over-write any files that are present, which may not always be desired (like with a default settings.ini, perhaps).
 
 * Option to extract files only when triggered to do so.
 I don't really know how this would work, but it'd also be nice to have some control over when, how often, or even if files were extracted.
 
 * Block option to add embedded files unless .BAS file has been saved.
 So that other block-heads such as myself won't waste their time trying to solve a problem that doesn't exist. ^_^
 
 Thanx again for including the option to embed files into LB Booster. It's going to make a couple of my little projects neater, cleaner, more attractive, and easier to maintain. LBB is most certainly an "every day" utility. w00t.
 |  
| 
|  |  Logged |  LB Booster + LB Workshop + LB Builder = My Programs on Google Drive
 |  |  |  
| 
| 
| Richard Russell Administrator
 
 
 member is offline
 
  
 
 
 
 
    
 
 Posts: 1348
 
 | 
|  | Re: Embedded Files « Reply #1 on: Nov 23rd, 2013, 10:45am »
 |  |  on Nov 23rd, 2013, 02:33am, CirothUngol  wrote:
 | | * Option to extract files to system %TEMP% folder. | 
 | 
 I could do that.  I may consider adding it to the next release if you think it would be really useful.
 
 Quote:
 | | * Option to extract files only if they don't exist. ...or something similar. | 
 | 
 That's sort of how it currently works, except that it also tests to see if the file is identical to the embedded version; if not it gets overwritten.  If you want to embed a file that can subsequently be modified, save it as a different name (maybe in %TEMP% if I provide that option) and in your program copy it to the required path/filename if it doesn't already exist.
 
 Quote:
 | | * Option to extract files only when triggered to do so. I don't really know how this would work | 
 | 
 Nor me!  If I add the 'extract to %TEMP%' option you would be able to achieve the equivalent in your own code by selectively copying from there to the desired destination.
 
 Quote:
 | | * Block option to add embedded files unless .BAS file has been saved. | 
 | 
 I'll definitely look at fixing that issue one way or another.
 
 Richard.
 |  
| 
|  |  Logged |  
 |  |  |  
| 
| 
| CirothUngol New Member
 
 
 member is offline
 
  
 Odie, Odie, cha cha cha.
 
 
 
  
 Gender:
  Posts: 44
 
 | 
|  | Re: Embedded Files « Reply #2 on: Nov 23rd, 2013, 5:46pm »
 |  |  on Nov 23rd, 2013, 10:45am, Richard Russell  wrote:
 | | I could do that.  I may consider adding it to the next release if you think it would be really useful. | 
 | 
 I would most certainly use it, and it seems the easiest and most direct way to allow users to control the placement of internal files. Also, providing the %TEMP% path as an internal variable (like DefaultDir$) would make user control even easier and more convenient.
 
 Thanks for considering the suggestion. I think it would prove a great addition to the LibertyBASIC Booster.
 |  
| 
|  |  Logged |  LB Booster + LB Workshop + LB Builder = My Programs on Google Drive
 |  |  |  
| 
| 
| Richard Russell Administrator
 
 
 member is offline
 
  
 
 
 
 
    
 
 Posts: 1348
 
 | 
|  | Re: Embedded Files « Reply #3 on: Nov 23rd, 2013, 5:59pm »
 |  |  on Nov 23rd, 2013, 5:46pm, CirothUngol  wrote:
 | | I would most certainly use it, and it seems the easiest and most direct way to allow users to control the placement of internal files. Also, providing the %TEMP% path as an internal variable (like DefaultDir$) would make user control even easier and more convenient. | 
 | 
 OK, I'll add the option.  You'll need to put the source file in %TEMP% first, but then you'd want to anyway for testing in the IDE.
 
 I don't think I'll provide a predefined variable which points to %TEMP% for the simple reason that it would prevent you testing and debugging the program in LB.  It's not difficult to do using CALLDLL:
 
 Code:
     TempPath$ = space$(_MAX_PATH)
    calldll #kernel32, "GetTempPathA", _
      _MAX_PATH as long, TempPath$ as ptr, _
      ret as long
    TempPath$ = trim$(TempPath$) Edit: Anyway if you don't mind it being LBB-specific  you can always use this hack:
 
 Code:
 Richard.
 |  
| 
 |  |  |  
 |