dumme Frage...
Sehe gerade, dass ich in meinen Clipper-Sources eine Funktion blank verwende, um leere Datentype zu erzeugen (Datensatz-Felder leeren). Wo ist diese Funktion definiert, kann sie nirgends finden...
function blank
Moderator: Moderatoren
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2128
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: function blank
ich würde mal sagen das es eine "eigene" Function istWerner_Bayern hat geschrieben:dumme Frage...
Sehe gerade, dass ich in meinen Clipper-Sources eine Funktion blank verwende, um leere Datentype zu erzeugen (Datensatz-Felder leeren). Wo ist diese Funktion definiert, kann sie nirgends finden...
mittels DbStruct() und FieldPut() müsste das so gehen
Code: Alles auswählen
#include "Dbstruct.ch"
PROCEDURE Main
USE Kunden
// use Recno()
BLANK( Recno() )
CLOSE Kunden
RETURN
FUNCTION BLANK(nRec)
LOCAL aStructure := DbStruct() // Datei-Struktur einlesen
LOCAL i,imax
LOCAL xValue
LOCAL lRet := .F.
GOTO(nRec)
IF DbRLock(nRec)
imax := LEN(aStructure)
FOR i := 1 TO imax
DO CASE
CASE aStructure[i][DBS_TYPE] = "C" ; xValue := ""
CASE aStructure[i][DBS_TYPE] = "M" ; xValue := ""
CASE aStructure[i][DBS_TYPE] = "N" ; xValue := 0
CASE aStructure[i][DBS_TYPE] = "L" ; xValue := .F.
CASE aStructure[i][DBS_TYPE] = "D" ; xValue := CTOD("")
ENDCASE
FieldPut(i,xValue)
NEXT
DbRUnlock(nRec)
lRet := .T.
ENDIF
RETURN lRet
gruss by OHR
Jimmy
Jimmy
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2945
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2128
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: function blank
Danke, habe aber keine tools und eine eigene Funktion ist es auch nicht, evtl. undokumentiert?
Hab mir jetzt so geholfen, ist die für mich performanteste Lösung:
Hab mir jetzt so geholfen, ist die für mich performanteste Lösung:
Code: Alles auswählen
static function blank(xVal)
local xRueck := "", cType := valtype(xVal)
do case
case cType == "C"
xRueck := ""
case cType == "N"
xRueck := 0
case cType == "D"
xRueck := ctod(" . . ")
case cType == "L"
xRueck := .f.
endcase
return xRueck
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>