• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

vpess

Problema ao carregar imagem de uma directoria

4 mensagens neste tópico

Boas,

Pessoal preciso da vossa ajuda. Estou com problemas ao carregar imagens de uma directoria.

Ou seja, eu tenho uma tabela de sócios em que relaciono o sócio á imagem pelo campo nº sócio, até ai tudo bem.

O problema está quando eu na form chamo o sócio e ele não encontra imagem na directoria. Dá erro a dizer que não encontra a imagem. Eu queria era colocar uma função em que se não encontrasse a imagem ignorava o erro e definia uma outra imagem.

Do género:

if (!LoadPicture(c:\1.jpg))
img.Picture = LoadPicture(c:\semfoto.jpg)
else
img.Picture = LoadPicture(c:\1.jpg)
end if

Eu optei por relacionar as fotos pelo nº de sócio por pensar ser mais fácil, mas já  agora se alguém souber de uma maneira melhor, tipo guardar o caminho/nomeimagem na tabela, agradecia.

Muito Obrigado, Abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Public Function FileExists(sFullPath As String) As Boolean
    Dim oFile As New Scripting.FileSystemObject
    FileExists = oFile.FileExists(sFullPath)
End Function

Teu código:

if fileexists("c:\" & nomesocio & ".jpg") then
      img.Picture = LoadPicture(c:\" & nomesocio & ".jpg)
else
      if fileexists("c:\semsocio.jpg") then
             img.Picture = LoadPicture(c:\semsocio.jpg)
      else
             Msgbox("Imagem Indisponível")
      end if
end if

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Public Function FileExists(sFullPath As String) As Boolean
    Dim oFile As New Scripting.FileSystemObject
    FileExists = oFile.FileExists(sFullPath)
End Function

Teu código:

if fileexists("c:\" & nomesocio & ".jpg") then
      img.Picture = LoadPicture(c:\" & nomesocio & ".jpg)
else
      if fileexists("c:\semsocio.jpg") then
             img.Picture = LoadPicture(c:\semsocio.jpg)
      else
             Msgbox("Imagem Indisponível")
      end if
end if

Boas,

Desde já muito obrigado pelo ajuda.

Eu tentei implementar o seu codigo mas sem sucesso. Da erro na função.

Compile error:

User-definid type not definid

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Já consegui resolver o erro, mas agora surge outra questão.

Ou seja eu tenho o seguinte código para preencher o datareport, mas falha nas imagens. O que queria fazer, como já disse em cima, era relacionar o nº socio com a imagem.

        With impcartoesgrid
            
            Set .DataSource = Nothing
                .DataMember = ""
            Set .DataSource = rsdyn.DataSource
                With .Sections("Section1").Controls
                    For i = 1 To .Count
                        If TypeOf .Item(i) Is RptTextBox Then
                            'O datamember deverá sempre ser enquanto estiver criando relatorios dinamicos
                            .Item(i).DataMember = ""
                            .Item(i).DataField = rsdyn.Fields(i - 1).Name
                        'ElseIf TypeOf .Item(i) Is RptImage Then
                         End If
                         
                            If FileExists("c:\" & i & ".gif") Then
                                Set impcartoesgrid.Sections("section1").Controls("imgA").Picture = LoadPicture("c:\" & rsdyn(0) & ".gif")
                            Else
                                If FileExists("c:\sem.gif") Then
                                    Set impcartoesgrid.Sections("section1").Controls("imgA").Picture = LoadPicture("c:\sem.gif ")
                                Else
                                MsgBox ("Imagem Indisponível")
                                End If
                            End If
                        'End If
                        MsgBox (i)
                    Next i
                End With
               .Show
       End With

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora