RE:como cuento las repetidas de una cadena
* Creas una función que cuente las veces que se repite una letra en la cadena:
1. File/New/PB Object/Function
2. La funcion se llama f_cuenta_char y devuelve Integer, tiene dos argumentos:
string(as_cadena)
character(as_letra)
El script de la función es:
int li_pos
int ncuenta=0
li_pos = Pos (as_cadena, as_letra, 1)
do while li_pos > 0
ncuenta+=1
as_cadena = Left (as_cadena, li_pos - 1) + &
Right (as_cadena, Len (as_cadena) - li_pos)
li_pos = Pos (as_cadena, as_letra, 1)
loop
return ncuenta
* En tu ventana pegas los controles: sle_1, st_1y st_2
El script del botón es:
string ls_cadena,ls_letra,ls_letramasrepetida
Int li_cuenta,li_longitud,li_mayor,i
//Cadena a leer
ls_cadena=string(sle_1.text)
//Longitud de la cadena
li_longitud=Len(ls_cadena)
li_mayor=0
for i=1 to li_longitud
//Leemos letra por letra
ls_letra=Mid(ls_cadena,i,1)
//Contamos con la función, las veces que se repite la letra en la cadena
li_cuenta=f_cuenta_char(ls_cadena,ls_letra)
//Hallamos el número mayor y su correspondiente letra
If li_cuenta>li_mayor then
li_mayor=li_cuenta
ls_letramasrepetida=ls_letra
end if
Next
//Mostramos los resultados
st_1.Text=string(li_mayor)
st_2.text=string(ls_letramasrepetida)
Nota: Si dos letras se repiten en la misma cantidad, te muestra sólo de la primera. Ejemplo: nono, te muestra: 2 y n.