<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: File/Folder Dialog box: FILEOPEN, DLGOPEN, SASCBTBL in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/File-Folder-Dialog-box-FILEOPEN-DLGOPEN-SASCBTBL/m-p/352823#M82293</link>
    <description>&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2"&gt;Hi RW9,&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2"&gt;&amp;nbsp; here, SAS/AF regretably doesn't give the look and feel of the typical windows office application fileopendialg box. Just because you haven't used it in 15 years, doesn't imply that no someone else in the world has or shouldn't try to. You don't have to reply or contribute if can't provide&amp;nbsp;a useful suggestion, '&lt;EM&gt;I would advise to look at other solutions&lt;/EM&gt;' what other solutions do you suggest/examples would be appreciated that show how&amp;nbsp;to be able to prompt a user to select a folder or select single/multiple files?&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;filename&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; ofna &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;catalog&lt;/FONT&gt; &lt;FONT color="#800080" face="Courier New" size="2"&gt;'work.winapi.ofna.source'&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;_null_&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;file&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; ofna;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;input&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;put&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;_infile_&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;cards4&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;routine GetOpenFileNameA&lt;/P&gt;&lt;P&gt;module=COMDLG32&lt;/P&gt;&lt;P&gt;minarg=20&lt;/P&gt;&lt;P&gt;maxarg=20&lt;/P&gt;&lt;P&gt;stackpop=called&lt;/P&gt;&lt;P&gt;returns=short&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;arg 1 num input fdstart format=pib4. ; * DWORD lStructSize;&lt;/P&gt;&lt;P&gt;arg 2 num input format=pib4. ; * HWND hwndOwner;&lt;/P&gt;&lt;P&gt;arg 3 num input format=pib4. ; * HINSTANCE hInstance;&lt;/P&gt;&lt;P&gt;arg 4 num input format=pib4. ; * LPCSTR lpstrFilter;&lt;/P&gt;&lt;P&gt;arg 5 num input format=pib4. ; * LPSTR lpstrCustomFilter;&lt;/P&gt;&lt;P&gt;arg 6 num input format=pib4. ; * DWORD nMaxCustFilter;&lt;/P&gt;&lt;P&gt;arg 7 num update format=pib4. ; * DWORD nFilterIndex;&lt;/P&gt;&lt;P&gt;arg 8 num input format=pib4. ; * LPSTR lpstrFile;&lt;/P&gt;&lt;P&gt;arg 9 num input format=pib4. ; * DWORD nMaxFile;&lt;/P&gt;&lt;P&gt;arg 10 num input format=pib4. ; * LPSTR lpstrFileTitle;&lt;/P&gt;&lt;P&gt;arg 11 num input format=pib4. ; * DWORD nMaxFileTitle;&lt;/P&gt;&lt;P&gt;arg 12 num input format=pib4. ; * LPCSTR lpstrInitialDir;&lt;/P&gt;&lt;P&gt;arg 13 num input format=pib4. ; * LPCSTR lpstrTitle;&lt;/P&gt;&lt;P&gt;arg 14 num input format=pib4. ; * DWORD Flags;&lt;/P&gt;&lt;P&gt;arg 15 num update format=pib2. ; * WORD nFileOffset;&lt;/P&gt;&lt;P&gt;arg 16 num update format=pib2. ; * WORD nFileExtension;&lt;/P&gt;&lt;P&gt;arg 17 num input format=pib4. ; * LPCSTR lpstrDefExt;&lt;/P&gt;&lt;P&gt;arg 18 num input format=pib4. ; * LPARAM lCustData;&lt;/P&gt;&lt;P&gt;arg 19 num input format=pib4. ; * LPOFNHOOKPROC lpfnHook;&lt;/P&gt;&lt;P&gt;arg 20 num input format=pib4. ; * LPCSTR lpTemplateName;&lt;/P&gt;&lt;P&gt;;;;;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;filename&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; sascbtbl &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;catalog&lt;/FONT&gt; &lt;FONT color="#800080" face="Courier New" size="2"&gt;'work.winapi.ofna.source'&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; ;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;_null_&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;strFilter = &lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;"Text Files (*.txt)"&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; || byte(&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;) || &lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;"*.txt"&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; || byte(&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;) || &lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;"SAS Files (*.sas)"&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; || byte(&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;) ||&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;"*.sas"&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; || byte(&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;) || byte(&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;nFilterIndex = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;length&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; strFile $&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;2048&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;strFile = byte(&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;strInitialDir = &lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;"C:\data\"&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; || byte(&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;strDialogTitleBarText = &lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;"Select Folder or File"&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; || byte(&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;OFN_ALLOWMULTISELECT = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;00000200x&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;OFN_EXPLORER = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;00080000x&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;nFileOffset = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;nFileExtension = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;rc = modulen(&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;'GetOpenFileNameA'&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;76&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt; %* &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;20&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;*&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;4&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt; - &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;2&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt; - &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;2&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;, addrlong(strFilter)&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;, nFilterIndex&lt;/P&gt;&lt;P&gt;, addrlong(strFile)&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;2048&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;, addrlong(strInitialDir)&lt;/P&gt;&lt;P&gt;, addrlong(strDialogTitleBarText)&lt;/P&gt;&lt;P&gt;, bor(OFN_ALLOWMULTISELECT, OFN_EXPLORER)&lt;/P&gt;&lt;P&gt;, nFileOffset&lt;/P&gt;&lt;P&gt;, nFileExtension&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;);&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;put&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; rc=;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;put&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; nFilterIndex=;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;length&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; file1-file5 $&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;200&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;array&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; f file1-file5;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;path = scan (strFile,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;, byte(&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;));&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;do&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; i = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;to&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;5&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;f[i] = scan (strFile, i+&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;, byte(&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;));&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;end&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;put&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;_all_&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2"&gt;&amp;nbsp; In the meantime I'll persevere and I'll eventually find a solution that works for me. I'm now taking a quick look at the SCL OPENSASFILEDIALOG, but this as I skip through several web articles doesn't look like it's going to give me the flexibility that I'm after, but thanks anyway for .&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2"&gt;TIA&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2"&gt;mccake.&lt;/FONT&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 24 Apr 2017 12:51:22 GMT</pubDate>
    <dc:creator>mccake</dc:creator>
    <dc:date>2017-04-24T12:51:22Z</dc:date>
    <item>
      <title>File/Folder Dialog box: FILEOPEN, DLGOPEN, SASCBTBL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/File-Folder-Dialog-box-FILEOPEN-DLGOPEN-SASCBTBL/m-p/352750#M82258</link>
      <description>&lt;P&gt;Hi to whom it may concern,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; I'm trying to initiate an 'open file/folder dialog' window when either a defaulted path or file name is no longer found/valid,&amp;nbsp;in that&amp;nbsp;I would like to be able to prompt the user that had&amp;nbsp;initiated the SAS script to select the approrpate 'folder' or file(s) 'multi file select' via a 'open file/folder dialog' window, since this is Windows based I'm try to use the standard Windows/Office FileOpenDialog box.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; I've searched over the internet for prior examples, and i've come across numerous examples but none of them seem to work as of yet, in that I've looked at 'FILEOPEN' command, 'DLGOPEN' command and I've also looked at using the Windows DLL comdlg32.dll via the SASCBTBL reference. My preference is to use the Windows DLL comdlg32 as this user interface is most common.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; I would assume somebody has achieved this functionality before, hence could you share your result/experience?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;TIA&lt;/P&gt;&lt;P&gt;mccake.&lt;/P&gt;</description>
      <pubDate>Mon, 24 Apr 2017 08:20:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/File-Folder-Dialog-box-FILEOPEN-DLGOPEN-SASCBTBL/m-p/352750#M82258</guid>
      <dc:creator>mccake</dc:creator>
      <dc:date>2017-04-24T08:20:09Z</dc:date>
    </item>
    <item>
      <title>Re: File/Folder Dialog box: FILEOPEN, DLGOPEN, SASCBTBL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/File-Folder-Dialog-box-FILEOPEN-DLGOPEN-SASCBTBL/m-p/352752#M82261</link>
      <description>&lt;P&gt;Sorry, what software are you using as this isn't Base SAS? &amp;nbsp;Maybe you mean SAS/AF, if so I would advise to look at other solutions, haven't used that in 15 years.&lt;/P&gt;</description>
      <pubDate>Mon, 24 Apr 2017 08:24:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/File-Folder-Dialog-box-FILEOPEN-DLGOPEN-SASCBTBL/m-p/352752#M82261</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2017-04-24T08:24:23Z</dc:date>
    </item>
    <item>
      <title>Re: File/Folder Dialog box: FILEOPEN, DLGOPEN, SASCBTBL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/File-Folder-Dialog-box-FILEOPEN-DLGOPEN-SASCBTBL/m-p/352823#M82293</link>
      <description>&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2"&gt;Hi RW9,&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2"&gt;&amp;nbsp; here, SAS/AF regretably doesn't give the look and feel of the typical windows office application fileopendialg box. Just because you haven't used it in 15 years, doesn't imply that no someone else in the world has or shouldn't try to. You don't have to reply or contribute if can't provide&amp;nbsp;a useful suggestion, '&lt;EM&gt;I would advise to look at other solutions&lt;/EM&gt;' what other solutions do you suggest/examples would be appreciated that show how&amp;nbsp;to be able to prompt a user to select a folder or select single/multiple files?&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;filename&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; ofna &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;catalog&lt;/FONT&gt; &lt;FONT color="#800080" face="Courier New" size="2"&gt;'work.winapi.ofna.source'&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;_null_&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;file&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; ofna;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;input&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;put&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;_infile_&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;cards4&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;routine GetOpenFileNameA&lt;/P&gt;&lt;P&gt;module=COMDLG32&lt;/P&gt;&lt;P&gt;minarg=20&lt;/P&gt;&lt;P&gt;maxarg=20&lt;/P&gt;&lt;P&gt;stackpop=called&lt;/P&gt;&lt;P&gt;returns=short&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;arg 1 num input fdstart format=pib4. ; * DWORD lStructSize;&lt;/P&gt;&lt;P&gt;arg 2 num input format=pib4. ; * HWND hwndOwner;&lt;/P&gt;&lt;P&gt;arg 3 num input format=pib4. ; * HINSTANCE hInstance;&lt;/P&gt;&lt;P&gt;arg 4 num input format=pib4. ; * LPCSTR lpstrFilter;&lt;/P&gt;&lt;P&gt;arg 5 num input format=pib4. ; * LPSTR lpstrCustomFilter;&lt;/P&gt;&lt;P&gt;arg 6 num input format=pib4. ; * DWORD nMaxCustFilter;&lt;/P&gt;&lt;P&gt;arg 7 num update format=pib4. ; * DWORD nFilterIndex;&lt;/P&gt;&lt;P&gt;arg 8 num input format=pib4. ; * LPSTR lpstrFile;&lt;/P&gt;&lt;P&gt;arg 9 num input format=pib4. ; * DWORD nMaxFile;&lt;/P&gt;&lt;P&gt;arg 10 num input format=pib4. ; * LPSTR lpstrFileTitle;&lt;/P&gt;&lt;P&gt;arg 11 num input format=pib4. ; * DWORD nMaxFileTitle;&lt;/P&gt;&lt;P&gt;arg 12 num input format=pib4. ; * LPCSTR lpstrInitialDir;&lt;/P&gt;&lt;P&gt;arg 13 num input format=pib4. ; * LPCSTR lpstrTitle;&lt;/P&gt;&lt;P&gt;arg 14 num input format=pib4. ; * DWORD Flags;&lt;/P&gt;&lt;P&gt;arg 15 num update format=pib2. ; * WORD nFileOffset;&lt;/P&gt;&lt;P&gt;arg 16 num update format=pib2. ; * WORD nFileExtension;&lt;/P&gt;&lt;P&gt;arg 17 num input format=pib4. ; * LPCSTR lpstrDefExt;&lt;/P&gt;&lt;P&gt;arg 18 num input format=pib4. ; * LPARAM lCustData;&lt;/P&gt;&lt;P&gt;arg 19 num input format=pib4. ; * LPOFNHOOKPROC lpfnHook;&lt;/P&gt;&lt;P&gt;arg 20 num input format=pib4. ; * LPCSTR lpTemplateName;&lt;/P&gt;&lt;P&gt;;;;;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;filename&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; sascbtbl &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;catalog&lt;/FONT&gt; &lt;FONT color="#800080" face="Courier New" size="2"&gt;'work.winapi.ofna.source'&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; ;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;_null_&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;strFilter = &lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;"Text Files (*.txt)"&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; || byte(&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;) || &lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;"*.txt"&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; || byte(&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;) || &lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;"SAS Files (*.sas)"&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; || byte(&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;) ||&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;"*.sas"&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; || byte(&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;) || byte(&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;nFilterIndex = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;length&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; strFile $&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;2048&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;strFile = byte(&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;strInitialDir = &lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;"C:\data\"&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; || byte(&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;strDialogTitleBarText = &lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;"Select Folder or File"&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; || byte(&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;OFN_ALLOWMULTISELECT = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;00000200x&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;OFN_EXPLORER = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;00080000x&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;nFileOffset = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;nFileExtension = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;rc = modulen(&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;'GetOpenFileNameA'&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;76&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt; %* &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;20&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;*&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;4&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt; - &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;2&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt; - &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;2&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;, addrlong(strFilter)&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;, nFilterIndex&lt;/P&gt;&lt;P&gt;, addrlong(strFile)&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;2048&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;, addrlong(strInitialDir)&lt;/P&gt;&lt;P&gt;, addrlong(strDialogTitleBarText)&lt;/P&gt;&lt;P&gt;, bor(OFN_ALLOWMULTISELECT, OFN_EXPLORER)&lt;/P&gt;&lt;P&gt;, nFileOffset&lt;/P&gt;&lt;P&gt;, nFileExtension&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;);&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;put&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; rc=;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;put&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; nFilterIndex=;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;length&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; file1-file5 $&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;200&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;array&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; f file1-file5;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;path = scan (strFile,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;, byte(&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;));&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;do&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; i = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;to&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;5&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;f[i] = scan (strFile, i+&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;, byte(&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;));&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;end&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;put&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;_all_&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2"&gt;&amp;nbsp; In the meantime I'll persevere and I'll eventually find a solution that works for me. I'm now taking a quick look at the SCL OPENSASFILEDIALOG, but this as I skip through several web articles doesn't look like it's going to give me the flexibility that I'm after, but thanks anyway for .&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2"&gt;TIA&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2"&gt;mccake.&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 24 Apr 2017 12:51:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/File-Folder-Dialog-box-FILEOPEN-DLGOPEN-SASCBTBL/m-p/352823#M82293</guid>
      <dc:creator>mccake</dc:creator>
      <dc:date>2017-04-24T12:51:22Z</dc:date>
    </item>
    <item>
      <title>Re: File/Folder Dialog box: FILEOPEN, DLGOPEN, SASCBTBL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/File-Folder-Dialog-box-FILEOPEN-DLGOPEN-SASCBTBL/m-p/352830#M82299</link>
      <description>&lt;P&gt;Examples:&amp;nbsp;stored proces, Enterprise Guide, Web Front Ends, any one of the mainstream development languages - .net, Java all which can interact with SAS . &amp;nbsp;&lt;/P&gt;
&lt;P&gt;As for the rest, hope you find a solution.&lt;/P&gt;</description>
      <pubDate>Mon, 24 Apr 2017 13:04:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/File-Folder-Dialog-box-FILEOPEN-DLGOPEN-SASCBTBL/m-p/352830#M82299</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2017-04-24T13:04:21Z</dc:date>
    </item>
    <item>
      <title>Re: File/Folder Dialog box: FILEOPEN, DLGOPEN, SASCBTBL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/File-Folder-Dialog-box-FILEOPEN-DLGOPEN-SASCBTBL/m-p/352932#M82337</link>
      <description>&lt;P&gt;Maybe you want the DLGCDIR command. That brings up a Change directory window.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I don't know about later versions but:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#ff0000" face="SAS Monospace" size="2"&gt;dm&lt;/FONT&gt; &lt;FONT color="#800080" face="SAS Monospace" size="2"&gt;"DLGCDIR"&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="SAS Monospace" size="2"&gt;executed from the editor may a starting place.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="SAS Monospace" size="2"&gt;It may well be worth not spending a lot of time on the specific windows dlls as 1) they are know to change without warning and 2) portability if your shop changes OS for some reason.&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 24 Apr 2017 16:27:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/File-Folder-Dialog-box-FILEOPEN-DLGOPEN-SASCBTBL/m-p/352932#M82337</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-04-24T16:27:35Z</dc:date>
    </item>
  </channel>
</rss>

