lugaralgum


   

22.4.02
Alexandre Villares:
{*******}
Procedure ContadorDeObjetos;
{*******}
VAR
Resultado : INTEGER;
objectName,objectClass : STRING;
ALHand : HANDLE;
objectHand, recordHand, wallHand: HANDLE;
{-------}
Procedure ContaObjeto (H:HANDLE);
{-------}
VAR
Flag1, Flag2 : BOOLEAN;
BEGIN
Flag1:=TRUE;
IF pNestaCamada AND (GetLayer(H)<>GetLayer(objectHand)) THEN Flag1:=FALSE;
Flag2:=TRUE;
IF pDestaClasse AND (GetClass(H)<>objectClass) THEN Flag2:=FALSE;
IF Flag1 AND Flag2 THEN Resultado:=Resultado+1;
{--------}
END;
{--------}
BEGIN
ALHand:=ActLayer; {Guarda Layer ativa}
IF GetCustomObjectInfo(objectName, objectHand, recordHand, wallHand) THEN BEGIN
IF GetLayer(objectHand)<>NIL THEN BEGIN {Se descobrir em que Layer está o objeto: }
Layer(GetLName(GetLayer(objectHand))); {Torne ativa a Layer deste objeto }
END;
END;
Symbol(pNomeDoSimbolo,0,0,0); {desenha exemplar do símbolo a ser contado}
Resultado:=0; {inicializa variável de contagem}
ForEachObject ( ContaObjeto, ((S= pNomeDoSimbolo) & (NOT (R IN [objectName]))) ); {testa com a função ContaObjeto (à qual é passado um "handle") cada objeto do desenho satisfazendo os critérios S e R }
BeginText;
Concat(Resultado)
EndText;
Layer(GetLName(ALHAnd));
{*******}
END;
{*******}
Run(ContadorDeObjetos);
topo
 
 
Alexandre pw ww
Alcides w m
Décio m
Eduardo w
Hellz w
Lins
MaGioZal w
Mario w
Michelle
Patamoma w
Pedro
Sandra w
Ricardo A. w
Zé Geraldo w
Zigmeister w