Newsgroup: it.comp.lang.vo-clipper
Titolo: Problema

Questo è un problema per me vecchio ma che di recente è diventato
assillante.
Molto spesso capita di dover aggiornare degli archivi dbf aggiungendo dei
campi, ed è seccante doverlo fare manualmente.
In clipper esiste una procedura che partendo da un file ascii che contiene
la struttura degli archivi in questione, in pochi secondi controlla ed
aggiorna i dbf modificati.
ho provato a modificarlo, ma sbaglio in qualcosa e non so dove!!!
qualcuno sa esiste una procedura simile in VO25b3 ???
Grazie dell'aiuto
Francesco

 ha scritto nel messaggio
news:GpZvd.296802$b5.14...@news3.tin.it...


 ha scritto nel messaggio
news:0a3wd.520858$35.22...@news4.tin.it...


 strutture aggiornate (DBF).
Ho fatto praticamente anche io la stessa cosa. Tutte le strutture dei dbf  
del mio applicativo sono a loro volta contenute in un dbf, stile un po'  
case :)
C'e' una procedura off line che poi adegua gli archivi, con possibili  
default sui campi aggiunti ecc.
Penso che tutti bene o male prima o poi si arriva a fare una cosa del  
genere.
Ciao.Alberto.
-- 
===============================================================
Alberto Rubinelli - A2 SISTEMI  Opera 7.54->
news.individual.net
Via Costantino Perazzi 22 - 28100 NOVARA - ITALY
Tel 0321 640149  Fax 0321 391769 BBS 0321 392320
Mail: 
alb...@retrocomputing.net
  ICQ : 49872318
Visita il mio museo di computers: 
http://www.oldcomputers.it
---------------------------------------------------------------
Per favore, non scrivetemi in html, testo ascii a 7 bit
Non rispondo a chi mi scrive con indirizzo di reply alterato
===============================================================

 ha scritto nel messaggio
news:opsi3miiag053poy@pca104alberto...


 ha scritto nel messaggio
news:r%fwd.299990$b5.14...@news3.tin.it...


 ha scritto nel messaggio
news:0a3wd.520858$35.22...@news4.tin.it...


Se usi la classe dBserver e crei le strutture con il DBase editor allora la 
cosa è molto semplice.
Se dai un'occhiata alla classe che genera VO troverai che hai a disposizione 
dBstruct della classe
dBserver contenente tutti i campi del database.
Quindi :
       LOCAL oSrv as OBJECT
    oSrv := CreateInstance(String2Symbol(mServer))    // mServer contiene il 
nome del ile DBF da aprire
    aFieldDesc := osrv:FieldDesc
aFieldDesc contiene la struttura corretta del tuo DBF. Ora se confronti 
questa struttura con il
DBF originale sai che campi dovrai aggiungere :
     b_Strut := oSrv:DBStruct
b_Strut contiene i campi del DBF letto dal disco , aFieldDesc  contiene la 
struttura corretta di come dovrà essere
il tuo DBF aggiornato.
A questo punto hai varie strade per correggere il tuo DBF, la più sicura 
secondo me è lavorare con dei file TMP.
Ti crei un DBF al volo nominandolo magari con l'estensione TMP contenente la 
struttura di aFieldDesc senza nessun
record (utilizzando per es DBCREATE)
Dopo aver creato il file fai un APPEND FROM (meglio DBAPP) e riempi di 
record il nuovo file.
Alla fine cancelli il file DBF vecchio e rinomini il nuovo e ti ricrei gli 
indici .
ATTENZIONE ai cambiamenti di tipo con campo di pari nome : ti crea problemi. 
Se un campo carattere diventa
numerico o viceversa devi cancellare dalla vecchia struttura prima il nome 
altrimenti ti crea problemi.
Ciao Alessandro.

 ha scritto nel
messaggio news:wawwd.528286$35.22...@news4.tin.it...
