Asignar valores a un textbox

Hola sra. Alonso estoy comenzando en foxpro 9 y tengo un problemita que le explico a continuación: tengo 2 textbox, el primero capturo una variable 'D' que hace referencia al turno diurno y una variable 'T' que hace referenca al turno nocturno esto lo hago a través de un list. En el 2do. Tengo las secciones que se visualizaran de acuerdo a la opción elegida en el turno: el problema es que cuando selecciono 'D' me salen todas las secciones tanto durno como nocturno, y cuando selelecciono 'N' me sale todo otra vez sera que es posible una ayuda por esta vía, espero que si
Esto es lo que estoy haciendo: espero le sirva de algo para su ayuda:
PUBLIC VTURNOD
PUBLIC VTURNON
VTURNOD = (thisform.text100.VALUE)
VTURNON = (thisform.text100.VALUE)
VTURNOD = 'D'
VTURNON = 'N'
IF VTURNOD = 'D' THEN
Thisform.TEXT2. Additem('I-001-D')
Thisform.TEXT2. Additem('I-002-D')
Thisform.TEXT2. Additem('I-003-D')
Thisform.TEXT2. Additem('I-004-D')
Thisform.TEXT2. Additem('I-005-D')
Thisform.TEXT2. Additem('I-006-D')
Thisform.TEXT2. Additem('I-007-D')
Thisform.TEXT2. Additem('I-008-D')
Thisform.TEXT2. Additem('I-009-D')
Thisform.TEXT2. Additem('I-010-D')
Thisform.TEXT2. Additem('I-011-D')
Thisform.TEXT2. Additem('I-012-D')
Thisform.TEXT2. Additem('I-013-D')
Thisform.TEXT2. Additem('I-014-D')
Thisform.TEXT2. Additem('I-015-D')
Thisform.TEXT2. Additem('I-016-D')
Thisform.TEXT2. Additem('I-017-D')
Thisform.TEXT2. Additem('I-018-D')
Thisform.TEXT2. Additem('I-019-D')
Thisform.TEXT2. Additem('I-020-D')
ELSE
VTURNON = 'N'
*ENDIF
IF VTURNON = 'N' THEN
Thisform.TEXT2. Additem('I-001-N')
Thisform.TEXT2. Additem('I-002-N')
Thisform.TEXT2. Additem('I-003-N')
Thisform.TEXT2. Additem('I-004-N')
Thisform.TEXT2. Additem('I-005-N')
Thisform.TEXT2. Additem('I-006-N')
Thisform.TEXT2. Additem('I-007-N')
Thisform.TEXT2. Additem('I-008-N')
Thisform.TEXT2. Additem('I-009-N')
Thisform.TEXT2. Additem('I-010-N')
Thisform.TEXT2. Additem('I-011-N')
Thisform.TEXT2. Additem('I-012-N')
Thisform.TEXT2. Additem('I-013-N')
Thisform.TEXT2. Additem('I-014-N')
Thisform.TEXT2. Additem('I-015-N')
Thisform.TEXT2. Additem('I-016-N')
Thisform.TEXT2. Additem('I-017-N')
Thisform.TEXT2. Additem('I-018-N')
Thisform.TEXT2. Additem('I-019-N')
Thisform.TEXT2. Additem('I-020-N')
Endif
Endif
Gracias

1 respuesta

Respuesta
1
Primero que todo estoy seguro que me haz enviado un código erróneo, pues viéndolo por encima no más vi un gran error, el control textbox no utiliza el método AddItem, comenzando por ahí no más y por lo que pude apreciar imagino que si ingresas las letras DE o N es para llenar un control ListBox según la letra ingresada, entonces una posible solución sería esta:
Local lcTurno, lcItem
lcTurno = Alltrim Thisform.Text1.Value
If lcTurno == "D" Or lcTurno == "N"
  With Thisform
      .List1.Clear()
      For i = 1 To 20
          lcItem = Alltrim(Str(i))
          .List1.AddItem("l-" + Replicate("0", 3 - Len(lcItem)) + lcItem + "-" + lcTurno
      Endfor
   Endwith
Endif
Esto podría servirte de ayuda.
Estamos hablando.
Gracias por su pronta respuesta, pero le tengo varias preguntas del código que me envío
1. ¿El código que me envío es para visual fox pro 9?
2. ¿Dónde coloco el código que me envío?
3. Por desconocimiento coloque el código que me envío lo coloque en el evento load del formulario y me da un error de sintaxis en la linea 2, es decir es la siguiente linea:
lcTurno = Alltrim Thisform.Text1.Value
Gracias por su apoyo, esperando su respuesta, se despide Edison Salazar.
Es un error colocar ese código en el evento Load debido a que los datos de las tablas no se han cargado, puede ir en el evento init del formulario o en el evento clic de un botón de comando, o bien en un evento personalizado del formulario para llamarlo cuantas veces sea necesario.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas