Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Fujitsu COBOL
Fujitsu COBOL Sub-Foro dedicado a Compiladores e IDE-s de Fujitsu.
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Sintaxis] Búsqueda nombre en ComboBox jmeza Fujitsu COBOL 1 10 de septiembre de 2020 19:22
[Noticia] Límites de longitud para ComboBox Nitzer PowerCOBOL (ActiveX, v4 - v11) 2 28 de diciembre de 2019 21:30
[Componente] Filtro de búsqueda en Combobox jmeza PowerCOBOL (ActiveX, v4 - v11) 6 2 de junio de 2017 14:40
[Sintaxis] Color en Lineas Del ComboBox Hrmcobol PowerCOBOL (ActiveX, v4 - v11) 3 17 de enero de 2016 21:44
[Componente] Problema con ComboBox Josber PowerCOBOL (ActiveX, v4 - v11) 3 3 de marzo de 2015 21:18

Respuesta

  #1
Antiguo 5 de diciembre de 2023, 00:14
jmeza
Forero Senior
Última Actividad 23.05.2026 02:04
Posts Posts: 106
Likes enviados Enviados: 26
Likes recibidos Recibidos: 4
Predeterminado Busqueda Combobox
0 Inactivo Inactivo

Hola, consulta en un combobox de pawercobov9 como podría programar la búsqueda que coincida con una parte del nombre que este en cualquier posición a lo largo de la escritura Ej: nombre de clientes.
Si alguien me puede ayudar con la rutina como hacerlo
Se lo agradezco
Saludos
jmeza is offline   Responder Con Cita
  #2
Antiguo 5 de diciembre de 2023, 21:31
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

@jmeza, mira a ver, no lo he probado casi pero algo así debes hacer. Lo mismo tienes que ajustar algo:

Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  01  idx-1       pic 9(4).
  5.  01  idx-2       pic 9(4) comp-5.
  6.  
  7.  01  max         pic 9(4) comp-5.
  8.  
  9.  01  sw-enontr   pic x.
  10.      88  sw-enontr-si       value 's'.
  11.      88  sw-enontr-no       value 'n'.
  12.  
  13.  01  lineaCombo  pic x(20).
  14.  
  15.  01  buscar      pic x(20).
  16.  01  buscLength  pic 9(4) comp-5 value 0.
  17.  
  18.  
  19.  01  msg         pic x(100).
  20.  
  21.  PROCEDURE       DIVISION.
  22.  
  23.      move 'de5' to buscar
  24.      
  25.      compute buscLength = function stored-char-length(buscar)
  26.      
  27.      move 1 to idx-1
  28.      move "ListCount" OF CmCombo1 to max
  29.      
  30.      set sw-enontr-no to true
  31.      
  32.      perform until idx-1 > max or sw-enontr-si
  33.          move "ListString"(idx-1) OF CmCombo1 to lineaCombo
  34.          
  35.          move 1 to idx-2
  36.          
  37.          perform until idx-2 + buscLength > length of buscar or sw-enontr-si
  38.              if  lineaCombo(idx-2:buscLength) = buscar(1:buscLength)
  39.                  set sw-enontr-si to true
  40.              end-if
  41.              
  42.              add 1 to idx-2
  43.          end-perform
  44.          
  45.          if  sw-enontr-no
  46.              add 1 to idx-1
  47.          end-if
  48.      end-perform
  49.      
  50.      if  sw-enontr-si
  51.          move idx-1 to "ListIndex" OF CmCombo1
  52.          
  53.          string "Encontrado en la línea " idx-1 " del combo."
  54.              delimited by size into msg
  55.          
  56.          INVOKE pow-self "DisplayMessage" USING msg 64
  57.      
  58.      else
  59.          INVOKE pow-self "DisplayMessage" USING "No encontrado." 64
  60.      end-if
  61.      



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #3
Antiguo 6 de diciembre de 2023, 11:05
Fito
Guardián del Foro
Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros Guardián del Foro: Guardián del espíritu y clima del Foro - Issue reason: Por el Avatar Activista del Foro: Activista del Foro - Issue reason: Por aportar ideas 
Última Actividad 19.09.2026 13:19
Posts Posts: 458
Likes enviados Enviados: 267
Likes recibidos Recibidos: 243

Hola.

Acá te paso un ejemplo simple para buscar un string dentro de otro. Podés correrlo, está funcional...

Saludos

Fito...
Archivos Adjuntos
Tipo de Archivo: rar Prueba-Buscombo.rar (5,1 KB)Descargas: 54
Fito is offline   Responder Con Cita
  #4
Antiguo 23 de junio de 2024, 01:23
jmeza
Forero Senior
Última Actividad 23.05.2026 02:04
Posts Posts: 106
Likes enviados Enviados: 26
Likes recibidos Recibidos: 4
Predeterminado Programa Ejemplo
0 Inactivo Inactivo

Citación del post de Fito Ver Mensaje
Hola.

Acá te paso un ejemplo simple para buscar un string dentro de otro. Podés correrlo, está funcional...

Saludos

Fito...
Hola Fito
El ejemplo enviado falta un archivo que esta en el call,
da error

Código COBOL:
  1.  comienzo.
  2.      call "prgbuscar" cancel "prgBuscar".
jmeza is offline   Responder Con Cita
  #5
Antiguo 23 de junio de 2024, 18:46
fastpho
El Foro es mi casa
Innovación: Por aportar innovaciones - Issue reason: SQLite + OO Cobol class Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Issue reason: Acceso a datos Cobol vía web 
Última Actividad 21.08.2026 18:08
Posts Posts: 365
Likes enviados Enviados: 252
Likes recibidos Recibidos: 243

@jmeza , en el ejemplo que subio @Fito , esta el prgbuscar como un script
Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  
  5.  01  palabra     pic x(20).
  6.  01  linea       pic x(100).
  7.  
  8.  01  wlen        pic s9(5) comp-5.
  9.  
  10.  01  i           pic 9(8).
  11.  01  h           pic 9(8).
  12.  01  si          pic 9(8).
  13.  
  14.  PROCEDURE       DIVISION.
  15.  
  16.  comienzo.    
  17.      move "Text" of txtPalabra        to palabra.
  18.      
  19.      compute wlen = function stored-char-length(palabra).
  20.      
  21.      move "ListCount" of cmbDatos     to h.
  22.  
  23.      move zeros                       to "ListIndex" of cmbDatos.
  24.      
  25.      move zeros                       to si.
  26.      perform varying i from 1 by 1 until i > h
  27.         move "ListString"(i) of cmbDatos    to linea
  28.        
  29.         move function upper-case(linea)     to linea
  30.         inspect linea tallying si for all palabra(1:wlen)
  31.        
  32.         if si not = zeros
  33.            move i                     to "ListIndex" of cmbDatos
  34.            exit perform
  35.         end-if
  36.      end-perform.
  37.      
  38.      exit program.
  39.      
Saludos...
fastpho is offline   Responder Con Cita
Respuesta


Herramientas

Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 16:03.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.