Exibição de imagens em loop

Boa tarde,

Sou bem novo no desenvolvimento com elipse, mas tenho alguns anos de estrada no desenvolvimento de software.
Preciso exibir na tela uma lista de imagens que estão salvas em uma pasta. Essa exibição deverá acontecer em forma de loop infinito, a imagem exibida deve ficar durante alguns segundos na tela e depois deverá ser trocada por outra. Apenas deverá sair da exibição quando receber instrução para executar outro processo.

Já consegui fazer toda as outras partes do supervisório, apenas não consegui achar uma solução a exibição das imagens em formato de ciclo.

Qualquer contribuição já é de grande valia.

Oi amigo, estou sem o E3 aqui agora, mas dando um chute por cima:
De repente você adiciona as imagens como recursos, adiciona um objeto picture na tela, e um tag timer, e então no evento do tag timer você vai trocando a propriedade do objeto picture que indica a imagem a ser exibida.

Olá João,

Obrigado pelo retorno,

Então essa seria uma boa opção, mas não sei se informei na descrição inicial do problema, mas a lista é dinâmica; ou seja as imagens serão salvas em uma pasta pelo próprio processo e no final deverá apresentar essas imagens em loop.
Terei ciclos que irão gerar imagens, e de cada ciclo, algumas serão separadas em uma pasta e estas devem ser apresentadas na tela, onde cada imagem apresentada deverá permanecer durante alguns segundos na tela e após trocar para a próxima, e assim sucessivamente até iniciar o próximo ciclo.
Encontrar as imagens na pasta já consegui fazer, mostrar na tela também. Meu problema é fazer as imagens serem apresentadas de forma dinâmica na tela onde cada imagem permaneça por alguns segundos e depois passe para a próxima e assim sucessivamente.

Um CounterTag pode ser uma boa solução:

Sub Timer_OnPreset()
	Dim dict
	Dim sPath
	Dim oFolder
	Dim oFile
	
	Set dict = CreateObject("Scripting.Dictionary")
	
	' Nome da pasta com as imagens.
	GetFolderPath sPath, "Images"
    Set oFso = CreateObject("Scripting.FileSystemObject")

    Set oFolder = oFso.GetFolder( sPath )

	For Each oFile In oFolder.Files
		' TODO: verificar formato 
		' e.g.: .png, .jpeg, .bmp, ...
		dict.Add oFile.Path, Nothing
	Next
    
    If (i > dict.Count - 1) Then
    	i = 0
    End If 
    
    ' Salva caminho da imagem a ser usada.
    Parent.Item("ImageFilePath").WriteEx dict.Keys()(i)
	
	i = i + 1
End Sub

Public i : i = 0

Private Sub GetFolderPath(ByRef sPath, ByVal sFolderName)
	With CreateObject("Scripting.FileSystemObject")
		sPath = .BuildPath( .GetAbsolutePathName("."), sFolderName )
	End With	
End Sub

:running_man: Pra economizar script, uma ideia é chamar essa mesma função no OnStartRunning.

Sub Timer_OnStartRunning()
	Call Timer_OnPreset()	
End Sub

Link para download.

2 Likes