Página 1 de 1

SelectString

Publicado: Dom Oct 22, 2006 10:52 am
por jrcpoli
Saludos:
Podéis hacer el favor de revisar este trozo de código haber lo que hago
mal según la documentación dice que devuelve la posición o menos uno si
hay error.
METHOD FormShow( oSender ) CLASS FormCensosNew
LOCAL nPos
** Si el ComboBox no está vacio y si estamos añadiendo
IF Len(::oDBCBPais:aItems) > 0 .AND. ::lAnadir
IF nPos := (::oDBCBPais:SelectString( "ESP ", 1) > 0)
::oDBCBPais:nIndex := nPos
ENDIF
ENDIF
RETURN Nil
Vale pues me selecciona el registro que tiene las iniciales de España
"ESP" pero me suelta este error.
***************************** Registro de errores
*****************************
Fecha: 22/10/2006
Hora: 10:38:23
Memoria libre: 206896
Area actual: 5
------------------------- Información del compilador
--------------------------
Versión Xailer: Xailer 1.1.0 Version 1.1
Compilador: xHarbour build 0.99.61 Intl. (SimpLex) PCode Version: 7
Compilador C/C++: Borland C++ 5.5.1
Plataforma: Windows XP Professional 5.01.2600 Service Pack 2
----------------------- Información detallada del error
-----------------------
Subsistema: BASE
Código de error: 1082
Estado: .F.
Descripción: Error de argumento
Operación: -
Argumentos: [ 1] = Tipo: L Valor: .T. [ 2] = Tipo: N Valor:
1
Fichero:
Código error SO: 0
Pila de llamadas:
(b)XCOMBOBOX:XCOMBOBOX (109)
TDBCOMBOBOX:SETCURSEL (0)
TDBCOMBOBOX:_NINDEX (374)
FORMCENSOSNEW:FORMSHOW (90)
FORMCENSOSNEW:ONSHOW (0)
TSCROLLINGWINCONTROL:SHOW (589)
FORMCENSOSNEW:SHOW (436)
FORMCENSOSNEW:SHOWMODAL (0)
TFORMCENSOS:ADDNEW (316)
(b)TFORMCENSOS:CREATEFORM (333)
TTOOLBUTTON:ONCLICK (0)
(b)XTOOLBUTTON:XTOOLBUTTON (45)
TTOOLBUTTON:CLICK (0)
TTOOLBAR:COMMAND (327)
TSCROLLINGWINCONTROL:WMCOMMAND (258)
TFORMCENSOS:WMCOMMAND (879)
TFORMCENSOS:SHOWMODAL (0)
TFORMMENU:CENSOS (304)
(b)TFORMMENU:INICIALIZAFORM (88)
TMENUITEM:ONCLICK (0)
TMENU:DOACTION (213)
TMENU:DOACTION (218)
TMENU:DOACTION (218)
TFORMMENU:WMCOMMAND (872)
RUNFORM (0)
TAPPLICATION:RUN (206)
MAIN (35)
------------------ Información detallada de áreas de trabajo
------------------
Area: 1
Alias: CLUB
Registro: 1
Filtro:
Relación:
Orden del í­ndice: 1
Clave activa: 1
Area: 2
Alias: CONCURSA
Registro: 113
Filtro:
Relación:
Orden del í­ndice: 1
Clave activa: 1
Area: 3
Alias: CENSOS
Registro: 27
Filtro:
Relación:
Orden del í­ndice: 4
Clave activa: 4
Area: 4
Alias: TCENSOS
Registro: 1
Filtro:
Relación:
Orden del í­ndice: 1
Clave activa: 1
Area: 5
Alias: COUNTRY
Registro: 1
Filtro:
Relación:
Orden del í­ndice: 4
Clave activa: 4

SelectString

Publicado: Dom Oct 22, 2006 12:06 pm
por jlalin
José Ramón,
> Podéis hacer el favor de revisar este trozo de código haber lo que
> hago mal según la documentación dice que devuelve la posición o menos
> uno si hay error.
creo que tienes mal puestos los paréntesis.
> IF nPos := (::oDBCBPais:SelectString( "ESP ", 1) > 0)
Tal como está, estás asignando un valor lógico a nPos ( ... > 0 ). Si he
entendido bien lo que quieres hacer, deberí­a ser así­:
IF ( nPos := ::oDBCBPais:SelectString( "ESP ", 1 ) ) > 0
Saludos,
José Lalí­n

SelectString

Publicado: Dom Oct 22, 2006 2:39 pm
por jrcpoli
Gracias a veces un paréntesis da mucha lata he evaluado y claro me daba
que nPos era un valor lógico y en cambio en el formulario se posicionaba
en el sitio correcto, en fin suponí­a que algo hací­a mal pero no lo veí­a.
José Ramón Castro.
José Lalí­n escribió:
>
> José Ramón,
>
>> Podéis hacer el favor de revisar este trozo de código haber lo que
>> hago mal según la documentación dice que devuelve la posición o menos
>> uno si hay error.
>
> creo que tienes mal puestos los paréntesis.
>
>> IF nPos := (::oDBCBPais:SelectString( "ESP ", 1) > 0)
>
> Tal como está, estás asignando un valor lógico a nPos ( ... > 0 ). Si he
> entendido bien lo que quieres hacer, deberí­a ser así­:
>
> IF ( nPos := ::oDBCBPais:SelectString( "ESP ", 1 ) ) > 0
>
> Saludos,
> José Lalí­n