und schon hab ich auch mein erstes Problem.Im Untern Code liegt wohl irgendwo mein Fehler, denn nach der Umwandelung aus der Datenbank bekomm ich mein aInclude Array fehlerhaft zurück. Verringer ich aber die länge des zweiten elements ( in diesem Fall 'C:\Program Files\*.*') um ein Zeichen funktioniert es ohne Probleme. Weiß jemand wieso das so ist ?
Danke schon mal für die Antworten.
Code: Alles auswählen
//Struktur der Datenbank
::aStructJob := { ;
{ 'unique_id', 'C', 21,0 } , ;
{ 'nInterval', 'N', 7, 0 } , ; //Reicht für viele Jahre in Minuten :D
{ 'aExclude' , 'M', 1, 0 } , ; //Blobfelder mit binvar| var bin
{ 'aInclude' , 'M', 1, 0 } , ; //Blobfelder mit binvar| var bin
{ 'dStart' , 'D', 8, 0 } , ; //StartDatum des Auftrages
{ 'dEnd', 'D', 8, 0 } , ; //Enddatum des Auftrages
{ 'cSZeit', 'C', 8, 0} , ; // hh:mm:ss
{ 'cEZeit', 'C', 8, 0 } , ; // hh:mm:ss
{ 'cZielPfad', 'C', 8, 0 } , ; // Ziel für Lokal
{ 'cAuftrArt', 'C', 3, 0 } , ; // DVD CD USB HDD
{ 'cAdresse', 'C', 64, 0 } , ; // FTP Adresse
{ 'cUser', 'C', 25, 0 } , ; // FTP User
{ 'cPassword', 'C', 64, 0 } ; // FTP Adresse
}
::aStructLog :={ ;
{ 'unique_id' , 'C', 21,0 } , ; // bezug auf den auftrag
{ 'cStartzeit', 'C', 8,0 } , ; // Startzeit des auftrags
{ 'dStarttag' , 'D', 8,0 } , ; // Starttag des auftrags
{ 'cEndZeit' , 'C', 8,0 } , ; // Endzeit des auftrags
{ 'dEndtag' , 'D', 8,0 } , ; // Endtag des auftrags
{ 'nSize' , 'N', 21,0} , ; // Größe des auftrags
{ 'Notiz' , 'M', 1,0 } ;
}
// Daten erfassen umwandeln und in Datenbank schreiben
aInclude:={'C:\tmp\*.*','C:\Program Files\*.*'}
cIn:=Var2Bin(aInclude)
DbUseArea(.T.,NIL,'Job.dbf','JOB',NIL,NIL)
JOB->(FieldPut(4,cIn) )
JOB->(DbCloseArea())
// Daten werden nun in andere Klasse wieder ausglesen
DbUseArea(.T.,NIL,'Job.dbf','JOB',NIL,NIL)
::aInclude:=Bin2Var(JOB->(AEXCLUDE))
JOB->(DbCloseArea())
//Ergebniss ist das entweder das letzte zeichen in der Var. aInclude fehlt oder durch ein anderes Zeichen ersetzt wurde.