Saludos.
He conseguido evitar el error que se producia al modificar la estructura
de una base de datos con campos Memo.
( La extension "XXXX.DBT" no era renombrada al salvar los cambios)
Para ello ha sido necesario modificar las funciones afectadas tal como
indico más abajo
Confío en que esté usted de acuerdo con los cambios.
desdesummer87.
==============================================================================
Greetings.
I have managed to avoid the error that took place when modifying the structure
Of a data base with fields Silly.
(the extension XXXX.DBT was not renamed when saving changes)
For it it has been necessary to modify the affected functions same as
I indicate further down
I trust that you agree upon the changes.
Desdesummer87.
//----------------------------------------------------------------------------//
Func TempFile(cExtension,cPath)
Local cFile
default cPath:=""
cExtension:= StrTran(cExtension,".","")
While .T.
cFile:="AAA" +"." + upper(cExtension)
cFile:= cPath + cFile
If .NOT. file( cFile )
Exit
End
End
Return cPath + cFile
//----------------------------------------------------------------------------//
Static Func BuildDbf( cDbfName, oLbx )
Local aFields := {}
Local n
Local cTempFile:=""
If Empty( cDbfName )
MsgAlert( "Se necesita un nombre para la DBF", "" )
Return Nil
End
If Len( oLbx:aItems ) == 0
MsgAlert( "No se han definido campos", "" )
Return Nil
End
If At( ".", cDbfName ) == 0
cDbfName += ".dbf"
End
For n = 1 to Len( oLbx:aItems )
AAdd( aFields, _FieldInfo( AllTrim( oLbx:aItems[ n ] ) ) )
Next
If File( cDbfName )
If MsgYesNo( "DBF existente. ¿ Modificar estructura...?", "" )
cTempFile:= tempFile("dbf")
DbCreate( cTempFile, aFields )
Use (cTempFile)
Append from (cDbfName)
Use
Ferase( cDbfName )
Rename ( cTempFile ) to (cDbfName)
If file( cFileNoExt( cTempFile ) +".dbt" )
nLen := Len(cDbfName)
nLong := (nLen - 4)
cNomb := SubStr(cDbfName, 1 ,nLong)
cBase := (cNomb + ".dbt")
FErase(cBase)
Rename ("AAA.dbt") To (cBase)
End
Return nil
End
End
DbCreate( cDbfName, aFields )
MsgInfo( "DBF creada", "" )
Return Nil
//----------------------------------------------------------------------------//