Newsgroup: it.comp.lang.vo-clipper
Titolo: I misteri di AppendSDF()

Ho un problema con il metodo AppendSDF( ).
Per importare un archivio dal formato SDF in un archivio DBF mi sembrava
opportuno utilizzare il metodo AppendSDF( ) ma purtroppo ho dovuto
constatare che mi dà quasi sempre un errore restituendomi FALSE. Sostituendo
il metodo con la funzione DBAPPSDF( ) il problema non sussiste !
Vi mando un pezzo del sorgente, se qualcuno mi sa dare una spiegazione ...
Grazie
----------------------------------------------------------------------------
---------------
* Così non funziona !
-------------------------
  oDBArc := DBFileSpec{cFileCod}                     && Apertura archivio
CODIFA
   oCodifa := Codifa{oDBArc, DBEXCLUSIVE, DBREADWRITE, RDDSETDEFAULT()}
  IF oCodifa:Status <> NULL_OBJECT
       ErrorBox{SELF,"Errore in apertura server: " + oDBArc:FullPath +;
             CHR(10) + oCodifa:Status:Description}:Show()
       BREAK
   ENDIF
   cFileAgg := WorkDir() + "Aggiorna.txt"
   oFsAgg := FileSpec{cFileAgg}
   IF !oCodifa:AppendSDF(oFsAgg)           && Accodamento del file .TXT in
Codifa.DBF
       ErrorBox{SELF,"Errore in append server: " + oDBArc:FullPath +;
             CHR(10) + oCodifa:Status:Description}:Show()
     BREAK
   ENDIF
----------------------------------------------------------------------------
----------------------------
Così invece funziona !
------------------------
  oDBArc := DBFileSpec{cFileCod}                     && Apertura archivio
CODIFA
   oCodifa := Codifa{oDBArc, DBEXCLUSIVE, DBREADWRITE, RDDSETDEFAULT()}
  IF oCodifa:Status <> NULL_OBJECT
       ErrorBox{SELF,"Errore in apertura server: " + oDBArc:FullPath +;
             CHR(10) + oCodifa:Status:Description}:Show()
       BREAK
   ENDIF
    cFileAgg := WorkDir() + "Aggiorna.txt"
    IF !Codifa->DBAPPSDF(cFileAgg)           && Accodamento del file .TXT in
Codifa.DBF
   ErrorBox{SELF,"Errore in append server: " + oDBArc:FullPath +;
             CHR(10) + oCodifa:Status:Description}:Show()
     BREAK
   ENDIF
----------------------------------------------------------------------------
---------------------
Ciao e
buon lavoro a tutti
Claudio Carletta

    oCodifa := Codifa{oDBArc, DBEXCLUSIVE, DBREADWRITE, RDDSETDEFAULT()}
Mi spiegate cosa diavolo significa questa sintassi in cui c'è qualcosa
che sembra una chiamata a funzione ma non lo è in quanto ha le graffe al
posto delle tonde? Pura curiosità...
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg

posto delle tonde? Pura curiosità...
Questa riga crea un'istanza della classe CODIFA, passandogli alcuni
parametri di inizializzazione.
oCodifa è la variabile che conterrà l'istanza.
HTH
===============================================
Antonello Negrone - Biella - Italy
anto...@anc-software.it
www.anc-software.it

 oCodifa è la variabile che conterrà l'istanza.
Capito, grazie. Strana sintassi. Normalmente nei linguaggi della
famiglia xBase si userebbero cose come
oCodifa = TCodifa():New( oDBArc, DBEXCLUSIVE, DBREADWRITE,
RDDSETDEFAULT() )
Come mai i progettisti di VO hanno ritenuto opportuno cambiare questa
ormai tradizionale impostazione?


ormai tradizionale impostazione?
Boh?
Forse per semplificare il codice? 
Con la sintassi VO si risparmiano ben 6 bytes ( cioč "():New" )
;-))))))))))))))
