Estructuras en VFP al estilo de VB
Publicado por camilo bernal (17 intervenciones) el 06/07/2005 18:36:50
Buenas, Me gustaria saber como migrar este codigo de VB a VFP(9):
Private Declare Function AbrirArchivo Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As NOMBREARCHIVO) As Long
Private Type NOMBREARCHIVO
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type ' NOMBREARCHIVO
Function EscogeFichero_Con_ApiWindows() As String
Dim strArchivo As NOMBREARCHIVO
strArchivo.lStructSize = Len(strArchivo)
' establezco el filtro de archivos
strArchivo.lpstrFilter = "Ficheros de texto (*.txt)" + Chr$(0) + "*.txt" + Chr$(0)
' creo un buffer para el nombre del archivo
strArchivo.lpstrFile = Space$(254)
' establezco el tamaño máximo para el nombre del archivo
strArchivo.nMaxFile = 255
' creo un buffer para el titulo
strArchivo.lpstrFileTitle = Space$(254)
' establezco el tamaño máximo para el titulo
strArchivo.nMaxFileTitle = 255
' establezco el directorio por defecto
strArchivo.lpstrInitialDir = "C:\"
' establezco el titulo
strArchivo.lpstrTitle = "Seleccionar Fichero de Texto"
' elimino flags
strArchivo.flags = 0
' abro el cuadro de dialogo y refresco la imagen
If AbrirArchivo(strArchivo) Then
EscogeFichero_Con_ApiWindows = Trim$(strArchivo.lpstrFile)
Else
EscogeFichero_Con_ApiWindows = ""
End If
End Function
Es para mostar un commondialog de windows con api; estoy cansado de buscar y probar con mucho codigo y no me sale nada... estoy muy cansado...
no puedo utilizar el getfile() de fox ya que no me permite seleccionar el directorio inicial donde se muestra el dialogo....
Si alguno de ustedes sabe la respuesta, agradezco que me ayude... estoy desesperado.
Camilo Bernal.
Private Declare Function AbrirArchivo Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As NOMBREARCHIVO) As Long
Private Type NOMBREARCHIVO
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type ' NOMBREARCHIVO
Function EscogeFichero_Con_ApiWindows() As String
Dim strArchivo As NOMBREARCHIVO
strArchivo.lStructSize = Len(strArchivo)
' establezco el filtro de archivos
strArchivo.lpstrFilter = "Ficheros de texto (*.txt)" + Chr$(0) + "*.txt" + Chr$(0)
' creo un buffer para el nombre del archivo
strArchivo.lpstrFile = Space$(254)
' establezco el tamaño máximo para el nombre del archivo
strArchivo.nMaxFile = 255
' creo un buffer para el titulo
strArchivo.lpstrFileTitle = Space$(254)
' establezco el tamaño máximo para el titulo
strArchivo.nMaxFileTitle = 255
' establezco el directorio por defecto
strArchivo.lpstrInitialDir = "C:\"
' establezco el titulo
strArchivo.lpstrTitle = "Seleccionar Fichero de Texto"
' elimino flags
strArchivo.flags = 0
' abro el cuadro de dialogo y refresco la imagen
If AbrirArchivo(strArchivo) Then
EscogeFichero_Con_ApiWindows = Trim$(strArchivo.lpstrFile)
Else
EscogeFichero_Con_ApiWindows = ""
End If
End Function
Es para mostar un commondialog de windows con api; estoy cansado de buscar y probar con mucho codigo y no me sale nada... estoy muy cansado...
no puedo utilizar el getfile() de fox ya que no me permite seleccionar el directorio inicial donde se muestra el dialogo....
Si alguno de ustedes sabe la respuesta, agradezco que me ayude... estoy desesperado.
Camilo Bernal.
Valora esta pregunta


0