ASCAN me devuelve mal o no lo estoy entendiendo...

ASCAN me devuelve mal o no lo estoy entendiendo...

Postby goosfancito » Wed Jan 17, 2024 2:48 pm

Tengo un array:
Code: Select all  Expand view
  LOCAL aNumeros :=  ;
                     { ;
                       "ZERO", ;
                       "UNO", ;
                       "DUE", ;
                       "TRE", ;
                       "QUATTRO", ;
                       "CINQUE", ;
                       "SEI", ;
                       "SETTE", ;
                       "OTTO", ;
                       "NOVE", ;
                       "DIECI", ;
                       "UNDICI", ;
                       "DODICI", ;
                       "TREDICI", ;
                       "QUATTORDICI", ;
                       "QUINDICI", ;
                       "SEDICI", ;
                       "DICIASSETTE", ;
                       "DICIOTTO", ;
                       "DICIANNOVE", ;
                       "VENTI", ;
                       "VENTUNO", ;
                       "VENTIDUE", ;
                       "VENTITRÉ", ;
                       "VENTIQUATTRO", ;
                       "VENTICINQUE", ;
                       "VENTISEI", ;
                       "VENTISETTE", ;
                       "VENTOTTO", ;
                       "VENTINOVE", ;
                       "TRENTA", ;
                       "TRENTUNO", ;
                       "TRENTADUE", ;
                       "TRENTATRÉ", ;
                       "TRENTAQUATTRO", ;
                       "TRENTACINQUE", ;
                       "TRENTASEI", ;
                       "TRENTASETTE", ;
                       "TRENTOTTO", ;
                       "TRENTANOVE", ;
                       "QUARANTA", ;
                       "QUARANTUNO", ;
                       "QUARANTADUE", ;
                       "QUARANTATRÉ", ;
                       "QUARANTAQUATTRO", ;
                       "QUARANTACINQUE", ;
                       "QUARANTASEI", ;
                       "QUARANTASETTE", ;
                       "QUARANTOTTO", ;
                       "QUARANTANOVE", ;
                       "CINQUANTA", ;
                       "CINQUANTUNO", ;
                       "CINQUANTADUE", ;
                       "CINQUANTATRÉ", ;
                       "CINQUANTAQUATTRO", ;
                       "CINQUANTACINQUE", ;
                       "CINQUANTASEI", ;
                       "CINQUANTASETTE", ;
                       "CINQUANTOTTO", ;
                       "CINQUANTANOVE", ;
                       "SESSANTA", ;
                       "SESSANTUNO", ;
                       "SESSANTADUE", ;
                       "SESSANTATRÉ", ;
                       "SESSANTAQUATTRO", ;
                       "SESSANTACINQUE", ;
                       "SESSANTASEI", ;
                       "SESSANTASETTE", ;
                       "SESSANTOTTO", ;
                       "SESSANTANOVE", ;
                       "SETTANTA", ;
                       "SETTANTUNO", ;
                       "SETTANTADUE", ;
                       "SETTANTATRÉ", ;
                       "SETTANTAQUATTRO", ;
                       "SETTANTACINQUE", ;
                       "SETTANTASEI", ;
                       "SETTANTASETTE", ;
                       "SETTANTOTTO", ;
                       "SETTANTANOVE", ;
                       "OTTANTA", ;
                       "OTTANTUNO", ;
                       "OTTANTADUE", ;
                       "OTTANTATRÉ", ;
                       "OTTANTAQUATTRO", ;
                       "OTTANTACINQUE", ;
                       "OTTANTASEI", ;
                       "OTTANTASETTE", ;
                       "OTTANTOTTO", ;
                       "OTTANTANOVE", ;
                       "NOVANTA", ;
                       "NOVANTUNO", ;
                       "NOVANTADUE", ;
                       "NOVANTATRÉ", ;
                       "NOVANTAQUATTRO", ;
                       "NOVANTACINQUE", ;
                       "NOVANTASEI", ;
                       "NOVANTASETTE", ;
                       "NOVANTOTTO", ;
                       "NOVANTANOVE", ;
                       "CENTO" ;
                     }


y cuando hago lo siguiente me devuelve un valor 10, que debería de no devolver ningún valor ya que "DI" no existe en el array

Code: Select all  Expand view
  fwdbg AScan(aNumeros, "DI"), AScan(aNumeros, "DI",,,.t.)


Lo que estoy buscando es que me devuelva la posición solo cuando es "DIECI" no "DI"
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: ASCAN me devuelve mal o no lo estoy entendiendo...

Postby karinha » Wed Jan 17, 2024 3:55 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7804
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: ASCAN me devuelve mal o no lo estoy entendiendo...

Postby sysctrl2 » Wed Jan 17, 2024 4:26 pm

Code: Select all  Expand view

   aNumeros :=  ;
                     { ;
                       "ZERO", ;
                       "UNO", ;
                       "DUE", ;
                       "TRE", ;
                       "QUATTRO", ;
                       "CINQUE", ;
                       "SEI", ;
                       "SETTE", ;
                       "OTTO", ;
                       "NOVE", ;
                       "DIECI", ;
                       "UNDICI" }

   nAt := 0
   Ascan( aNumeros, { |c,nPos| IIF( c=="DI", nAt := nPos , 0 )  } )
   ? nAt

 
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 1020
Joined: Mon Feb 05, 2007 7:15 pm

Re: ASCAN me devuelve mal o no lo estoy entendiendo...

Postby goosfancito » Wed Jan 17, 2024 5:40 pm

es posible que tenga mal yo el help del harbour? porque siempre use ascan como lo he utilizado hoy.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: ASCAN me devuelve mal o no lo estoy entendiendo...

Postby sysctrl2 » Wed Jan 17, 2024 7:54 pm

en xharbour existe
igual y exactamente igual

c=="DI" //para validar mejor la condición yo siempre uso exactamente igual ==

saludos
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 1020
Joined: Mon Feb 05, 2007 7:15 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 59 guests