Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Reposicionar Casualmente Los Carácteres De Una Cadena Con La Función Exte...
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Reposicionar Casualmente Los Carácteres De Una Cadena Con La Función Externa Strfry() 
 
La función externa strfry( ), declarada en el archivo de sistema "/usr/include/string.h", reposiciona  de manera aleatoria los carácteres de una cadena.

Exemplum codicis:
Library "libc:6"

' char *strfry (char *__string)
' Sautee STRING briskly.
Private Extern strfry(__string As String) As String


Public Sub Main()

  Dim s, rep As String
  
    s = "123456"
    
    rep = strfry(s)
    
    Print rep

End

 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Reposicionar Casualmente Los Carácteres De Una Cadena Con La Función Externa Strfry() 
 
Vaya, voy a tener que aprender a usar funciones externas de Python con gambas.  bandit
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Reposicionar Casualmente Los Carácteres De Una Cadena Con La Función Externa Strfry() 
 
Shell escribió: [Ver mensaje]
..... usar funciones externas de Python con Gambas.


No creo que a Extern le gusta Python !   windows
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Reposicionar Casualmente Los Carácteres De Una Cadena Con La Función Externa Strfry() 
 
La función puede parecer mas complicada, pero prefiero usar gambas directamente si puedo.
Al menos sé lo que hay dentro.  computer3

Public Sub Main()
  
  Randomize    
  Print DesordenarCadena("Hola")
 
End

Public Function DesordenarCadena(cadena As String) As String
  
  Dim letras As New String[]
  'Dim tmp As String
  Dim i As Integer  
  Dim longcadena As Integer
  Dim lugardestino As Integer
    
  longcadena = Len(cadena)
  
  'Añadir letras al array  
  For i = 1 To longcadena
    letras.Add(Mid(cadena, i, 1))      
  Next
  
  'Desordenar el array
  For i = 0 To letras.Max - 1
    lugardestino = Rnd(0, letras.Count)
    Swap letras[i], letras[lugardestino]
    'tmp = letras[i]
    'letras[i] = letras[lugardestino]
    'letras[lugardestino] = tmp
  Next
  
  'Retornar el array como una cadena
  Return letras.Join("")
  
End
 


Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Domingo, 24 Julio 2016, 21:37; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Reposicionar Casualmente Los Carácteres De Una Cadena Con La Función Externa Strfry() 
 
Vuott:

Esta es la forma que se puede hacer en Python.

#!/usr/bin/env python3
from random import shuffle

# Reposicionar letras de una cadena

def desordenar(cadena):
        letras = list(cadena)
        shuffle(letras)
        print (letras)

def main():
        desordenar('Hola')

if __name__=='__main__': main()
 


Vaya, cuanta tabulación tiene el código.  
Lo he pegado desde SublimeText.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Domingo, 24 Julio 2016, 21:36; editado 2 veces 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Reposicionar Casualmente Los Carácteres De Una Cadena Con La Función Externa Strfry() 
 
al margen de la simpática función que nos presenta Voutt, siempre me he preguntado que es mejor:

-investigar hasta encontrar una función externa que haga lo que necesitamos

-escribirla


siempre suponiendo que es algo medianamente simple y que corremos el riesgo de tardar mas buscándola que escribiéndola
 



 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Reposicionar Casualmente Los Carácteres De Una Cadena Con La Función Externa Strfry() 
 
tercoIDE:

Escribiéndola se comprende y se plasma en un código lo que pretende hacer la función.
Según programador, conocimiento y experiencia. La función sera mejor, mas rápida,
más lenta. Todas llegando a la misma conclusión. Realizar su función.

Con el paso del tiempo y la lectura encontraremos que existía una función que
nos hacia ese trabajo.

Si queremos buscar cada función que realiza algo determinado, se va en parte la labor
del programador, la creación y desarrollo de la misma.

Creo que por lo menos deberíamos intentarlo a nuestra manera, subir a la comunidad X,
y "esperar"..   que a lo mejooor, nos digan, pues existe una función que hacía esa
labor.

No queda otra que tambien leer y buscar. No podemos pretender que nos lo den todo
hecho. Me parece que al final, le acaban saliendo telarañas al cerebro, si es que nos queda
aun algo, con tanta radiación diaria.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron