__EnumLast()

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

__EnumLast()

Mensagem por JoséQuintas »

Estou tentando usar e dá erro.

Alguém pode testar se também dá erro no 3.2

Código: Selecionar todos


procedure Main
LOCAL oElement
   SetMode(25,80)
   SetColor("W/B")
   CLS
   FOR EACH oElement IN { 1, 2, 3, 4 }
      ? oElement:__EnumIndex()
      ? oElement:__EnumLast()
   NEXT
   Inkey(0)

   RETURN
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1298
Registrado em: 06 Jul 2004 00:44
Contato:

__EnumLast()

Mensagem por ANDRIL »

José, testei aqui e deu erro.
1
Error BASE/1005 No exported variable: _ENUMLAST
Called from __ENUMLAST(0)
Called from MAIN(8)
Uso Harbour 3.2.0dev (r1502201040)
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

__EnumLast()

Mensagem por JoséQuintas »

Será que o erro é nesse nome dentro da função?
tem um traço a menos.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

__EnumLast()

Mensagem por alxsts »

Olá!
JoséQuintas escreveu:Será que o erro é nesse nome dentro da função? tem um traço a menos.
Não... testei com 1,2,3 e sem traço e o erro é o mesmo citado acima...

Já estes abaixo funcionam...

Código: Selecionar todos

      hVal := { "ABC" => 123, "ASD" => 456, "ZXC" => 789 }
      
      FOR EACH x IN hVal
         ? x:__enumIndex(), ":", x:__enumKey(), "=>", x:__enumValue(), ;
           "=>", x:__enumBase()[ x:__enumKey() ]
           ? oElement:__enumStart(), oElement:__enumStop(), oElement:__enumSkip() 
      NEXT

      FOR EACH x IN { "ABC" => 123, "ASD" => 456, "ZXC" => 789 }
         ? x, "@", x:__enumKey()
      NEXT
Harbour 3.2.0dev (r1612161005)
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

__EnumLast()

Mensagem por Itamar M. Lins Jr. »

Olá!
Na minha opinião é um BUG do Harbour 3.2
No 3.4 funciona ?

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

__EnumLast()

Mensagem por JoséQuintas »

Nenhum.
Coloquei pra procurar enumlast em tudo que é arquivo do harbour 3.2 e 3.4
Só encontra isto no changelog.txt de 2014.01.21

Código: Selecionar todos

    % use :__enumFirst() / :__enumLast()
Nada em nenhum outro lugar.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

__EnumLast()

Mensagem por alxsts »

Olá!

Conforme respondido no grupo Harbour Users, há um erro de digitação no changelog. O nome correto das propriedades é __enumIsFirst e __enumIsLast.

Vejam: For...Each...Next
[]´s
Alexandre Santos (AlxSts)
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

__EnumLast()

Mensagem por Kapiaba »

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

__EnumLast()

Mensagem por JoséQuintas »

É que seria algo muito útil, e como encontrei no changelog, achei que existia.

Por exemplo:

Código: Selecionar todos

FOR EACH aItem IN FuncaoRetornaArray()
   GrafTempo( atual, ultimo??? )
NEXT
Acaba sendo necessário atribuir a uma variável primeiro.
E o retorno vai ser "grandão". por isso o gráfico de tempo, que também poderia ser uma progressbar.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder