function blank

Still in use?

Moderator: Moderatoren

Antworten
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

function blank

Beitrag von Werner_Bayern »

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... :scratch:
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: function blank

Beitrag von AUGE_OHR »

Werner_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... :scratch:
ich würde mal sagen das es eine "eigene" Function ist ;)

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
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: function blank

Beitrag von Wolfgang Ciriack »

Ist in den XbTools vorhanden.
Viele Grüße
Wolfgang
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: function blank

Beitrag von Werner_Bayern »

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:

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!>
Antworten