Add Workspace Parameter: Difference between revisions

From DataFlex Wiki
Jump to navigationJump to search
m Cat Cookbook
m Use RefClass instead of the legacy U_ notation
 
(5 intermediate revisions by 3 users not shown)
Line 3: Line 3:
I just put this code near the bottom of the source (.src)
I just put this code near the bottom of the source (.src)


<source lang="vdf">
  Function MyValueWS String sKey Returns String
  Function MyValueWS String sKey Returns String
     String sValue
     String sValue
     String sWorkspaceWSFile  
     String sWorkspaceWSFile  
     Handle hoWorkspace hoIniFile
     Handle hoWorkspace hoIniFile
     Move (phoWorkSpace(ghoApplication)) to hoWorkspace
     Move (phoWorkSpace(ghoApplication)) to hoWorkspace
     Get psWorkspaceWSFile of hoWorkspace to sWorkspaceWSFile  
     Get psWorkspaceWSFile of hoWorkspace to sWorkspaceWSFile  
     Get Create U_cIniFile to hoIniFile
     Get Create (RefClass(cIniFile)) to hoIniFile
     Set psFilename of hoIniFile to sWorkspaceWSFile  
     If (hoIniFile) Begin
    Get ReadString of hoIniFile 'Workspace' sKey ' ' to sValue
        Set psFilename of hoIniFile to sWorkspaceWSFile  
        Get ReadString of hoIniFile 'Workspace' sKey ' ' to sValue
        Send Destroy of hoIniFile
    End
     Function_Return sValue
     Function_Return sValue
  End_Function
  End_Function
Line 20: Line 25:
     Move (gsDocsFolder-"Docs") to gsDocsFolder
     Move (gsDocsFolder-"Docs") to gsDocsFolder
  End
  End
</source>


 
Add a new DocsFolder option to the .ws file like so:
<source lang="ini">
  //The .ws file may look like this:
  //The .ws file may look like this:
  Workspace]
  [Workspace]
  Home=..\
  Home=..\
  BitmapPath=.\Bitmaps
  BitmapPath=.\Bitmaps
Line 32: Line 39:
  Description=MASS - Membership Administration Software Solution - CEPU
  Description=MASS - Membership Administration Software Solution - CEPU
  DocsFolder=c:\Test\Docs
  DocsFolder=c:\Test\Docs
</source>


[[Category:How To]] [[Category:Cookbook]]
[[Category:Tutorials]]

Latest revision as of 12:02, 27 July 2019

How to add a parameter in your .ws file and pass it in to your program. In this example I need to know where the document folder is found for each user, usually the same location for all users. This then allows the Docs folder to be found anywhere on a network. I use a global variable to store the location. If not defined in the .ws file default it from the home location.

I just put this code near the bottom of the source (.src)

 Function MyValueWS String sKey Returns String
    String sValue
    String sWorkspaceWSFile 
    Handle hoWorkspace hoIniFile

    Move (phoWorkSpace(ghoApplication)) to hoWorkspace
    Get psWorkspaceWSFile of hoWorkspace to sWorkspaceWSFile 
    Get Create (RefClass(cIniFile)) to hoIniFile
    If (hoIniFile) Begin
        Set psFilename of hoIniFile to sWorkspaceWSFile 
        Get ReadString of hoIniFile 'Workspace' sKey ' ' to sValue
        Send Destroy of hoIniFile 
    End
    Function_Return sValue
 End_Function
 
 Get MyValueWS "DocsFolder" to gsDocsFolder 
 If gsDocsFolder eq "" Begin
    Get psHome of (phoWorkspace(oApplication(Self))) to gsDocsFolder
    Move (gsDocsFolder-"Docs") to gsDocsFolder
 End

Add a new DocsFolder option to the .ws file like so:

 //The .ws file may look like this:
 [Workspace]
 Home=..\
 BitmapPath=.\Bitmaps
 DataPath=c:\Members\CEPU
 HelpPath=.\Help
 ProgramPath=.\Programs
 FileList=c:\Members\CEPU\Filelist.cfg
 Description=MASS - Membership Administration Software Solution - CEPU
 DocsFolder=c:\Test\Docs