kann mir mal bitte jemand einen kleinen Anschub verpassen ?
Ich habe mir diese Funktion geschrieben, in die ich Arrays schieben kann, welche dort geleert werden sollen. Ursprünglich wird das Array mit den Feldern
eines Datensatzes gefüllt und enthält somit z.B. die Kommastellen einen N-Feldes.
Ganz einfach - dachte ich bis zum ersten Absturz
Es geht um den nummerischen Teil. Wenn ich das so mache, kann ich in der weiteren Verarbeitung keine Dezimalstellen in das Arrayelement eingeben.
Es gibt einen Absturz, sobald ich die Kommataste drücke.
Ich müsste also statt 0 den Wert 0.00 reinpacken. Oder auch 0.000 wenn vorher 3 Kommastellen im Array-Element standen.
Könnte in dieser Funktion ja alles passieren.
Also wäre es gut zu wissen, wie viele Kommastellen das übergeben Arrayelement hat. Oder gibt es dazu eine Funktion ?
Mir fällt im Moment dazu nichts mehr ein.
Hat jemand einen Tip für mich ?
Danke
Ewald
Code: Alles auswählen
function arrleer(xa,xlist)
for i = 1 to len(xa)
do case
case valtype(xa[i]) = "C"
xa[i] = space(len(xa[i]))
case valtype(xa[i]) = "D"
xa[i] = ctod("")
case valtype(xa[i]) = "N"
xa[i] = 0 // oder bei Bedarf 0.00
case valtype(xa[i]) = "L"
xa[i] = .f.
endcase
next
*dc_getrefresh(xlist)
return .t.