tincho 07-12-2022, 13:14
Hola Amigos.
Hace tiempo que siento curiosidad por las opciones de comunicación disponibles en gambas, y pensando en como establecer un canal de comunicación entre dos programas gambas para lo del tablero de puntaje de TercoIDE no se me ocurre como hacerlo de la forma mas eficiente.

En definitiva, como un programa gambas puede "decir" a otro cierra contacto 4 o "dime" temperatura 1 etc. etc. 

Desde el punto de vista de las comunicaciones hay dos grupos:
  • Gambas<PROTOCOLO>Gambas
  • Gambas<PROTOCOLO>OTRA-COSA
¿Que protocolos se pueden usar? y... ¿Hay ejemplos de estos?
Shell 06-12-2022, 01:18
Buenas!

A que suenan muy parecidos, casi como los sobrinos del pato Donald.

¿Qué diferencia existe entre los comandos grep, egrep y fgrep?

Saludos
Shell 05-12-2022, 15:59
Buenas!.

Hace un tiempo creé un ejemplo y no había forma de recordar su nombre. ( Rebuscado que soy a veces ).
Imaginar le puse "distancias" como nombre Big Grin , como para saber que es eso con ese nombre. Tongue

Como era un proyecto gráfico la solución más simple era encontrar la palabra "Paint" dentro de muchos archivos y proyectos de Gambas.
Como no sé si es posible hacerlo con Gambas directamente, me apoyé en el comando grep de bash.

Cuando uso la instrucción grep, este me devuelve el nombre de la ruta, ":" y donde se encuentra, ejemplo:
 
Cita: /home/miusuario/Programacion/PracticasGambas/PracticaTemporal/EjemploMultipleTemporal/.src/Cuadrado.class:    Paint.LineWidth = 2

Con eso sabemos que el separador es ":"

¿ Qué nos podemos encontrar ?. Que la palabra Paint se repita muchas veces "por ejemplo" en el archivo Cuadrado.class
Entonces voy descalificando nombres de archivos repetidos para que solo me lo muestre una vez.

Esa es la función principal. No he usado reloj para que el usuario se enfade. (Cuando el proceso tarda y no sabemos que se ha colgado la aplicación). Es que no se lo añadí. Rolleyes

Código:
Public Sub EncontrarCadenaRecursivamenteEnArchivosDeUnDirectorio(ruta As String, palabra As String, Optional separador As String = ":") As String[]
 
  Dim archivo As String
  Dim partesdeunaruta As String[]
  Dim slista As String
  Dim arepes As New String[]
  Dim asinrepes As New String[]
  Dim pos As Integer
 
  Shell "grep" & " -ir " & palabra & " " & ruta To slista
 
  For Each archivo In Split(slista, "\n")
    pos = InStr(archivo, separador)
    If pos > 0 Then arepes.Add(Left(archivo, pos - 1))
  Next
 
  For Each archivo In arepes
    partesdeunaruta = Split(archivo, "/", "'", True)    
    If Not asinrepes.Exist(partesdeunaruta[partesdeunaruta.Max - 2]) Then asinrepes.Add(partesdeunaruta[partesdeunaruta.Max - 2])    
  Next
 
  Return asinrepes.Sort()
 
End

Me he centrado en buscar solo archivos que contengan "Paint".

Y esto es el código del botón que llama a esa función.
Como son cosas de probar rápido he usado un Textarea. Smile

El nombre del proyecto por defecto lo encuentro, dos pasos más atrás de la ruta completa comenzando por la derecha.
El array partesdeunaruta contiene cada elemento una parte de la ruta como dice su nombre. Con este averiguo el nombre del proyecto.
Todo muy simple.

Código:
Public Sub btnBuscar_Click()
 
  Dim lista As New String[]
  Dim nombre As String
  Dim ruta As String = "ruta_a_tus_proyectos_Gambas"
 
  TextArea1.text = ""
 
  lista = EncontrarCadenaRecursivamenteEnArchivosDeUnDirectorio(ruta, "Paint")
 
  For Each nombre In lista
    TextArea1.Text &= nombre & gb.NewLine  
  Next
 
End

Moraleja: Pon un buen nombre a tus proyectos y usa las dos cajas de texto.

Soy requerido en la cocina...

Saludos
Archivos adjuntos
.gz
BuscarCoincidencias2-0.0.1.tar.gz (Tamaño: 12.11 KB Descargas: 2)
Páginas (557):    1 233 234 235 236 237 557   
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.
Recordarme?
Miembros: 286
Último miembro: Emilio Uribe
Temas del foro: 1,720
Mensajes del foro: 8,934
Últimos temas
Archivos .ods
Foro: General
Último mensaje por: tincho, 01-07-2025, 18:54
Respuestas: 8 - Vistas: 256
Publicidad
Foro: Sobre gambas-es.org
Último mensaje por: tincho, 01-07-2025, 18:48
Respuestas: 6 - Vistas: 330
Web con gambas, a ver si ...
Foro: WebApp/WebForms
Último mensaje por: tincho, 01-07-2025, 17:47
Respuestas: 41 - Vistas: 32,585
Un sistema de ayudas cont...
Foro: Videotutoriales
Último mensaje por: guizans, 22-06-2025, 19:55
Respuestas: 3 - Vistas: 307
Crear una aplicación para...
Foro: Bases de Datos
Último mensaje por: Shell, 29-05-2025, 20:11
Respuestas: 11 - Vistas: 1,489
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.