dataConvert method
Implementation
void dataConvert(
TField aField, TValueBuffer aSource, TValueBuffer aDest, bool aToNative) {
final dt = aField.dataType;
if (aToNative) {
switch (dt) {
case TFieldType.ftDate:
case TFieldType.ftTime:
case TFieldType.ftDateTime:
aDest.value =
dateTimeToDateTimeRec(dt, aSource.value as DateTime);
break;
case TFieldType.ftTimeStamp:
aDest.value = aSource.value;
break;
case TFieldType.ftBCD:
case TFieldType.ftFMTBcd:
aDest.value = aSource.value; // TBCD→double (convention 5), no conversion needed
break;
// ftBytes/ftVarBytes: see the mantis 8204 comment, left blank in the original source
case TFieldType.ftWideString:
aDest.value = aSource.value;
break;
default:
break;
}
} else {
switch (dt) {
case TFieldType.ftDate:
case TFieldType.ftTime:
case TFieldType.ftDateTime:
aDest.value =
dateTimeRecToDateTime(dt, aSource.value as TDateTimeRec);
break;
case TFieldType.ftTimeStamp:
aDest.value = aSource.value;
break;
case TFieldType.ftBCD:
case TFieldType.ftFMTBcd:
aDest.value = aSource.value;
break;
case TFieldType.ftWideString:
aDest.value = aSource.value;
break;
default:
break;
}
}
}