Shell 23-06-2023, 14:27
Buenas!.

Smile

Fijaros, tengo este árbol de proyecto.

[Imagen: bHGBps0.png]

Veis que el directorio de Imágenes está abierto y muestra todo su contenido.
Hago esto:

- Cierro o contraigo la carpeta imágenes para que no me muestre las imágenes.
- Grabo el proyecto, por si tiene un setting el editor de este.

- Abro de nuevo y se vuelve a mostrar abierta la carpeta imágenes con todo su contenido.

¿ Eso es normal ?. ¿ Dónde puede estar el problema ?. ¿ En el setting del proyecto ?.
Por ejemplo, ¿ aquí ?.
 
Cita:[OpenFile]
File[1]=".src/FMain.form"
File[2]=".src/Animal.class:0.19"
Active=2
File[3]=".src/FMain.class:3.130"
File[4]="Imagenes/04_hippopotamus.png"
File[5]="Imagenes/01_cat.png"
File[6]="Imagenes/02_pig.png"
Count=6

Como no sea alguna opción de preferencias del menú del editor.

Saludos
Grandamakulo 23-06-2023, 12:47
Pues eso, compañeros, ¿cómo obtener el texto plano de un RichText —HTML—, similar a WebPage.ToString, pero sin cargar este componente? Quiero decir, que si hay alguna función de cadena que mi natural torpeza me haya impedido ver.
De momento, me apaño así —las ReGex las he ido encontrando por ahí y adaptándolas al algo corto PCRE de gambas3—:

Código:
Public Function HTMLaTexto(sTexto As String) As String
  ' **** Obtener texto plano de un RichText (HTML).
  ' <<<< sPaso : Devuelve una cadena con texto plano.
  ' >>>> sTexto: Texto formato HTML.
  '' ╔═════════════════════════════════════════════════════════════╗
  '' ║ Atención: PCRE sólo admite texto ASCII extendido, no UTF-8. ║
  '' ║     Los valores obtenidos pueden no ser correctos.          ║
  '' ╚═════════════════════════════════════════════════════════════╝

  Dim sPaso As String
  
  ' Eliminar CSS y JS
  sPaso = RegExp.Replace(sTexto, "<(script|style)[^>]*>(.*?)<.(script|style)>", "", RegExp.Caseless + RegExp.DotAll)
  ' Eliminar comentarios
  sPaso = RegExp.Replace(sPaso, "<!--.*?-->", "", RegExp.DotAll)
  ' Eliminar etiquetas
  sPaso = RegExp.Replace(sPaso, "<(.|\n)*?>", "", RegExp.Greedy)
  ' Eliminar caracteres de edición antes y después
  sPaso = Trim(sPaso)
  Return sPaso

End

Gracias de antemano.
Shell 23-06-2023, 00:17
Buenas!.

Es un juego infantil que hice para resolver una duda que tengo con los sonidos.
A ver si podeís ayudarme.

[Imagen: q817Q94.png]

- Se hace clic en el botón de reproducir el sonido y luego se hace clic en el animal que crees que hace ese sonido.

Como es lógico para un adulto no tiene problema. Ok, cuando se acierta se escucharán los aplausos.
Y ahora viene la pregunta.  Si le doy a reproducir sonido de animal, escucharé dos sonidos a la vez.
Los aplausos y el del animal.

¿ Cómo se podría hacer para que los aplausos cesasen y solo se escuchase el sonido del animal ?.

En realidad hice este ejemplo con la escusa de resolver esta duda. Lo necesito para otro ejemplo. Smile

El código fuente:

FMain:

Código:
' Gambas class file

Const MENSAJE As String = "Haz clic en la imagen del animal que hace ese soindo"

Private canimales As New Collection
Private rutaimagenes As String
Private rutasonidos As String

Private sonidoerror As Sound
Private aplausos As Sound
Private adivinaanimal As String

Public Sub Form_Open()

  Label1.text = MENSAJE
  Me.Text = "Adivina el animal"
 
  rutaimagenes = Application.Path &/ "Imagenes/"
  rutasonidos = Application.Path &/ "Sonidos/"
  sonidoerror = Sound.Load(Application.Path &/ "Sonidos/error.ogg")
  aplausos = Sound.Load(Application.Path &/ "Sonidos/aplausosfin.ogg")
  CreaAnimales()

  Randomize
  DistribuirAnimales

  Timer1.Delay = 3000
  Panel1.Enabled = False

End

Public Sub CreaAnimales()

  CreaObjetoAnimal(rutasonidos, rutaimagenes, "01_cat.png", "gato.wav", "gato")
  CreaObjetoAnimal(rutasonidos, rutaimagenes, "02_pig.png", "cerdo.ogg", "cerdo")
  CreaObjetoAnimal(rutasonidos, rutaimagenes, "04_hippopotamus.png", "hipopotamo.ogg", "hipopotamo")
  CreaObjetoAnimal(rutasonidos, rutaimagenes, "10_chicken.png", "gallina.ogg", "gallina")

End

Public Sub CreaObjetoAnimal(rutasonidos As String, rutaimagenes As String, dibujo As String, sonido As String, nombre As String)

  Dim animal As New Animal

  With animal
    .dibujo = Picture.Load(rutaimagenes & dibujo)
    .sonido = rutasonidos & sonido
    .nombre = nombre
  End With

  canimales.Add(animal, animal.nombre)

End

Public Function DevolverListaNombres(clista As Collection) As String[]

  Dim lista As New String[]
  Dim animal As Animal

  For Each animal In clista
    lista.Add(animal.nombre)
  Next
  Return lista

End

Public Sub DistribuirAnimales()

  Dim unpicturebox As PictureBox
  Dim aanimales As String[]
  Dim azar As Integer
  Dim fondo As Integer[] = [Color.red, Color.green, Color.Blue, Color.Yellow]

  aanimales = DevolverListaNombres(canimales)

  For Each unpicturebox In Panel1.Children
    If unpicturebox Is PictureBox Then
      azar = Rand(aanimales.Max)
      With unpicturebox
        .Mode = PictureBox.Fill
        .Tag = aanimales[azar]
        .Picture = canimales[aanimales[azar]].dibujo
        .Background = fondo[azar]
      End With
      aanimales.Remove(azar)
      fondo.Remove(azar)
    Endif
  Next

  Panel1.Enabled = False
 
End

Public Sub ImagenesDeAnimales_MouseDown()

  If Last.tag = adivinaanimal Then
    Label1.Text = "Correcto!"
    aplausos.Play()
  Else
    Label1.Text = "Incorrecto!"
    sonidoerror.Play()
  Endif
  Panel1.Enabled = False
  Timer1.Start()
   
End

Public Sub btnReproduce_Click()

  Dim lista As String[]
  Dim azar As Integer

  Panel1.Enabled = True  
  lista = DevolverListaNombres(canimales)

  azar = Rand(lista.Max)
  adivinaanimal = lista[azar]
  canimales[adivinaanimal].ReproducirSonido()

End

Public Sub Timer1_Timer()

  Label1.Text = MENSAJE
  DistribuirAnimales()
  Timer1.Stop

End

Clase Animal:

Código:
Property nombre As String Use $nombre
Property sonido As String Use $sonido
Property dibujo As Picture Use $dibujo


Public Sub ReproducirSonido()
 
  Dim ssonido As Sound
 
  ssonido = Sound.Load(Me.sonido)
  ssonido.Play()
 
End

Os subo el ejemplo del juego de los sonidos.

¿ Qué me podéis aconsejar cuando trabaje con sonidos y uso el componente gb.sdl2.audio ?.

Saludos
Páginas (564):    1 164 165 166 167 168 564   
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.
Recordarme?
Miembros: 292
Último miembro: DarkWolf
Temas del foro: 1,742
Mensajes del foro: 9,031
Últimos temas
Ordenar en un TableView
Foro: General
Último mensaje por: guizans, Ayer, 23:26
Respuestas: 5 - Vistas: 135
Odio a gb.Report
Foro: General
Último mensaje por: guizans, 02-11-2025, 13:36
Respuestas: 9 - Vistas: 1,572
Reportes de Gambas
Foro: Aplicaciones/Fragmentos de Código
Último mensaje por: Alberto59, 27-10-2025, 16:34
Respuestas: 2 - Vistas: 1,337
Ordenando las carpetas
Foro: Programación en otros lenguajes
Último mensaje por: tercoide, 22-10-2025, 15:57
Respuestas: 0 - Vistas: 117
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.