condense

  handlers to export or print object properties
object properties




  object properties
on condense me
  -- erzeuge eine Lp aller Prop:Val paare eines obj
  if objectP(me) then
    dLp = [:]
    anz = count(me)
    repeat with i=1 to anz
      dProp = me.getPropat (i)
      dVal = me.getaprop(dProp)
      dLp.addProp(dProp,dVal)
    end repeat
    
    return dLp
  end if 
end


on define me
  set erg=value(void)
  if objectP(me) then
    put RETURN & me & RETURN into erg
    repeat with i=1 to count(me)
      set prop to getPropat (me,i)
      set valu to getaprop(me, prop)
      put fv2s(me,prop) & ":" && fv2s(me,valu)  & RETURN after erg
    end repeat
    -- uncomment next line if you want ancestor info, too
    -- if objectP(getaprop(me, #ancestor)) then put define (the ancestor of me) after erg
    set erg = erg & RETURN
    return erg
  end if
end

---------------
-- helps the above one formatting the output

on fv2s me,dVal
  -- formatVal2String
  -- macht daten "doAble"
  -- rettet #symbol und #string vor der automatischen Typkonvertierung
  set dTxt=""
  set dIlk = ilk(dVal)
  case dIlk of
    #symbol:
      set dTxt = "#" & string(dVal)
    #string:
      set dTxt = QUOTE & string(dVal) & QUOTE
    #void:
      set dTxt = "VOID"
    otherwise
      set dTxt = string(dVal)
  end case
  
  return dtxt
end

Home shock + cgi Bits 'n pieces Director Lingo Shocklets Contact