Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
'Storing' Files in DBF files
Message
De
27/09/2011 22:06:44
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
COM/DCOM et OLE Automation
Versions des environnements
Visual FoxPro:
VFP 9 SP2
OS:
Windows 7
Database:
Visual FoxPro
Divers
Thread ID:
01524682
Message ID:
01524995
Vues:
60
>>>>>You can store blob data in the database (memo (binary)), but the recommended method is to store FileName (if you don't need to store path) and then you can use ShellExecute with default open action to open the file.
>>>>
>>>>Naomi:
>>>>
>>>>Could you give me an example of a SHELLEXECUTE command with, say, the following file name:
>>>>
>>>>c:\bob\documents\DocA.doc
>>>
>>>This worked for me:
>>>
>>>
>>>* Sample use:
>>> MyFile = 'C:\Users\Naomi\Downloads\OVER_Clause_and_Ordered_Calculations.doc'
>>> RunDoc(MyFile)
>>>
>>>FUNCTION RunDoc(tcDocument)
>>>	local lnResult
>>>
>>>	DECLARE INTEGER ShellExecute ;
>>>		IN SHELL32.dll ;
>>>		INTEGER nWinHandle, ;
>>>		STRING cOperation, ;
>>>		STRING cFileName, ;
>>>		STRING cParameters, ;
>>>		STRING cDirectory, ;
>>>		INTEGER nShowWindow
>>>
>>>	**retreive the main VFP window handle (this handle is used by ShellExecute)
>>>
>>>		lnResult=ShellExecute(_screen.hwnd, "Open", tcDocument, "", "c:\temp\", 1)
>>>
>>>	**Error messages if the return value is < 32
>>>	IF lnResult < 32
>>>		DO CASE
>>>		CASE lnResult=2
>>>			Wait wind "Invalid association or URL."
>>>		CASE lnResult=31
>>>			Wait wind "No association."
>>>		CASE lnResult=29
>>>			Wait wind "Can't start application."
>>>		CASE lnResult=30
>>>			Wait wind "Application already open."
>>>		ENDCASE
>>>	ENDIF
>>>ENDFUNC
>>>
>>>
>>>from
>>>Open any document FAQ #8134
>>
>>Naomi:
>>
>>Oops! I forgot to mention that my client is using VFP 5!
>>
>>I got an error after:
>>
>>
>>lnResult=ShellExecute(_screen.hwnd, "Open", tcDocument, "", "c:\temp\", 1)
>>
>>
>>
>>Property HWND not found
>>
>>
>>?????
>>
>>Thanks,
>>
>>Yossi
>
>I updated the original code from the FAQ. Ok, go ahead and use code from the FAQ as it.

OK, we're almost there. It works if the file exists.

1. In VFP 9, it seems that I could just use the _shellexecute foundation class.
2. I do I create an empty WORD (or Excel, or ....) if the file does not exist, since I get a error if I try to open it if it doesn't exist.

i.e.
if !file(myFile)
    Run code that creates it, using the correct version of WORD (or Excel, or ....), 
    based on the provided extension (DOC or DOCX, XLSX etc)
endif

Open myFile with shellexecute
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform