Ir para conteúdo
Fórum Script Brasil
  • 0

Preciso De Codigos


ramon

Pergunta

Eu to fazendo um album de fotografia

Bem simples com dois botoes um para ir para a proxima foto e outro para retornar

Qual código usar nos botões para realizar essa função

alguém pode me enviar este codigo para fazer o botão ir para a proxima foto e outro botão para voltar

Eu to usando um picturebox e dois botões

Gostaria tambem de armazenar essas fotos numa pasta local pois de banco de dados eu não entendo nada

Será que alguém pode me dar um exemplo de como fazer unsure.gif

Link para o comentário
Compartilhar em outros sites

25 respostass a esta questão

Posts Recomendados

  • 0

Não existe um "código" pronto para isso (até porque isso é algo bem abstrato). Além disso, existem dezenas de maneiras diferentes de fazer uma mesma coisa. Uma idéia possível seria (essa pergunta já foi colocada antes, não?) guardar os arquivos de uma pasta em um vetor (para pegar os arquivos de uma determinada pasta utiliza-se a função Dir()) e manter uma variável que servirá de índice para o vetor. Portanto, para ir para a próxima foto bastaria somar +1 a esta variável, pegar o arquivo correspondente no vetor e exibir o arquivo em uma picturebox (para carregar a imagem na picturebox usa-se a função LoadPicture()). Para a foto anterior basta somar -1 à variável e realizar os mesmos dois passos seguintes.

ok?

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Criando um vetor:

Dim vetor(5) as string

Isso cria um vetor de 6 elementos (0 a 5), que podem ser preenchidos da seguinte forma:

vetor(0) = "arquivo1"

vetor(1) = "arquivo2"

vetor(2) = "arquivo3"

vetor(3) = "arquivo4"

vetor(4) = "arquivo5"

vetor(5) = "arquivo6"

É claro que você fará isso dentro de um loop, já que será interessante que o programa preencha isso sozinho sem que você tenha que especificar um por um.

Para o caso do path (não é correção ou curativo e sim caminho ou trilha), a rotina ChDir() permite que você troque o diretório de trabalho. Porém acredito que seja mais simples e prático usar o caminho completo, mas aí é só uma questão de gosto.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

infelizmente não consigui entender pois sou um novato em VB

Aonde eu coloco esses codigos

Eu crie dois botoes e um picture box

Por onde eu começo

Se não for pedir muito será que você não poderia colocar um exemplo completo de cada evento.

No evento dos botões vai o que

E no picturebox

E no Load do form

Eu sei que eu deveria estudar mais o Vb mas acredite já li varios tutorias mas só consigo fazer algo na pratica e se possivel com exemplo.

Sera que você pode criar um exemplo completo para cada evento sad.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Então vamos lá. Coloque uma picturebox e dois botões no form. Depois, coloque isso no General Declarations (lá no topo da janela de código do formulário):

Dim vetor() As String
Dim atual As Integer
Coloque isso no evento Load do form:
    Dim pasta As String
    Dim n As Integer
    
    n = 0
    pasta = "c:\arq\images\"
    arq = Dir(pasta, vbArchive)
    Do While arq <> vbNullString
        ReDim Preserve vetor(n)
        vetor(n) = pasta & arq
        n = n + 1
        arq = Dir
    Loop
Coloque isso no evento Click do botão Próximo:
    atual = atual + 1
    Picture1.Picture = LoadPicture(vetor(atual))
Coloque isso no evento Click do botão Anterior:
    atual = atual - 1
    Picture1.Picture = LoadPicture(vetor(atual))

E pronto. É claro que não está completo (se você chegar na última foto e pressionar "Próximo", ou se estiver na primeira e pressionar "Anterior, vai ocorrer um erro), mas aí é contigo. Qualquer dúvida, 'stamos aí.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Valeu Graymalkin

Mas ainda não consigui resolver aquele erro que você especificou (se você chegar na última foto e pressionar "Próximo", ou se estiver na primeira e pressionar "Anterior, vai ocorrer um erro) A mensagen de erro é Subscript out of range (Error 9)

Como eu faço para resolver esse problema?? huh.gif

E tambem gostaria saber se tem algum geito de as fotos aparecer no picturebox em ordem crescente conforme o nome da figura

1.gif

2.gif

3.gif

4.gif

Espero que você possa me ajudar e desde já agradeço a sua atenção

Link para o comentário
Compartilhar em outros sites

  • 0

Para o caso do erro, vou te dar uma dica: LBound(vetor) e UBound(vetor) retornam o primeiro e o último índices, respectivamente. Para o caso da ordem das figuras, basta que você ordene os elementos do vetor. A técnica de ordenação bolha (bubble sort) é a mais fácil e intuitiva. Existe ainda um tópico do fórum de C++ sobre outros métodos de ordenação.

Qualquer dúvida, 'stamos aí.

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

To começando a pegar a manha mas confesso, tá demorado!!! biggrin.gif

Bom consigui resolver o erro do botão

Acrescentei no:

General Declarations

Dim valor As Integer
No Click do botão Próximo
If atual < valor - 1 Then
    atual = atual + 1
End If
No Click do botão Voltar
If atual > 0 Then
    atual = atual - 1
End If
E no load do form
valor = n

Pronto funciona perfeitamente

Par entender melhor o funcionamento sad.gif

Gostaria de saber se em vez de fazer o vetor dentro de um loop, não daria para eu definir um por um com o nome de cada arquivo.

Quais as alterações que tenho que fazer?

Se der coloque um exemplo com os codigos especificando aonde eles vão:

No evento dos botões vai o que?

Load do form vai o que?

Link para o comentário
Compartilhar em outros sites

  • 0

Esse jeito que você fez, para o caso dos botões, também é uma boa alternativa.

Gostaria de saber se em vez de fazer o vetor dentro de um loop, não daria para eu definir um por um com o nome de cada arquivo.

Você quer dizer, pegar arquivo por arquivo na hora que os botões são pressionados? Só que tem um problema em relação a isso. A função Dir() pega os arquivos um a um na ordem que estão no disco. A cada chamada ela retorna um arquivo por vez, e quando acabam os arquivos do diretório ela retorna uma string nula. Até aí tudo bem, desde que você só use o botão 'Próximo'. Aqui entra o problema, como fazer o botão 'Anterior'? Para o botão 'Anterior' temos que ir na ordem inversa, mas a função Dir() não funciona assim (até porque não vejo um único motivo para que ela funcionasse desse jeito...). Daí o porquê de ser muito melhor guardar num vetor e depois percorrê-lo. Além disso, por uma questão de organização, os arquivos estarão em uma unidade mais coesa. Imagine, por exemplo, que você queira copiar ou mover todos os arquivos que possuem a extensão ".bmp". No caso acima, você teria que percorrer todos os arquivos usando a função Dir(). Com o vetor isso seria muito mais fácil, já que os arquivos já se encontram nele. Você não precisaria ficar gastando tempo e processamento lendo os arquivos do disco o tempo todo.

ok?

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Então tá pessoal. biggrin.gif

Agora me diz uma coisa esse projeto teria como tambem puxar outros arquivos como .html

Só que na picturebox não daria né, então qual comando que se usaria? unsure.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Não usaria comando algum... Você pode usar o componente Microsoft Internet Controls (que pode ser marcado na opção Components do menu Project). Daí, você coloca um controle WebBrowser no form (ele aparecerá junto com os outros controles, do lado esquerdo da tela) e use o seguinte código (pode ser no evento Click de um botão):

WebBrowser1.Navigate "c:\teste.html"

Onde "c:\teste.html" deverá ser substituído pelo arquivo HTML que você quiser.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Bah cara eu errei na pergunta, me desculpe wink.gif

O que eu queria saber é se não tem um jeito de se carregar o Form2 dentro do Form1

Pois o Form2.Show carrega o form 2 em outra janela separada e eu quero saber se dá para carregar na mesma.

Isso é possivel? sad.gif

Se é como eu faço

Link para o comentário
Compartilhar em outros sites

  • 0

Sim, é possível, desde que o form1 seja um form MDI (Multiple Document Interface). Adicione um MDI Form e defina a propriedade MDIChild do form2 como True.

Seria isso ?

Você quer que tenha uma janela atrás e seus outros form's venha a aparecer na frente dele ? Tipo o Word ?

Se for isso...

É a resposta do brother Graymalkin que entendeu direitinho a sua dúvida. Já eu não entendi bem ao certo cara !

Pois o Form2.Show carrega o form 2 em outra janela separada e eu quero saber se dá para carregar na mesma.

huh.gif

Pelo que eu entendi, você quer que carrege conteúdos diferentes na mesma janela (mesmo form)

Mas acho que não seria isso !!!

Desculpa por não ter entendido a sua dúvida !

Abraços,

William Rodrigues

Link para o comentário
Compartilhar em outros sites

  • 0
Pelo que eu entendi, você quer que carrege conteúdos diferentes na mesma janela (mesmo form)

É assim.

Pode parecer estranho mas eu quero fazer assim

No form 1 eu tenho um memu e uma descrição e criei mais 3 forms contendo conteudo escrito, fotos e tal

então eu quero carregar atraves do menu do form1 os outros 3 forms atraves de um menu e que els apareçam no form1

Exemplo

Seria tipo um site que usa frames ou iframe

Temho um pagina principal (vamos denominar de form1)que usa um menu com links e um frame

Então na pagina form1 clico no link ele puxa a pagima form 2 o que vai acontecer a pagina form2 vai aparecer na pagina form 1 clico no link seguinte vai aparecer a pagina form 3 e assim por diante

este exemplo é só para entender no caso é em html

Então é isso que eu quero fazer no VB definir um local do form 1 que quando eu clica no menu do mesmo form 1 apareca o form 2, form 3 e assim por diante num local definido por um frame ,quadro ou sei la o que

É isso que eu quero saber como puxar os outros forms para dentro do form1

Qual componente usar? sad.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Por padrão, não existe isso no VB. Tem como fazer isso "na mão", prendendo os demais forms numa determinada área... mas iria dar um trabalho danado e seria falho. Aconselho usar abas (ou guias) como o William recomendou (é claro que você não pode colocar um "form" dentro de uma aba, mas, ao invés disso, poderá colocar todos os componentes que estão no form), ou usar uma interface de múltiplos documentos (igual ao Word, Excel, e centenas de outros programas por aí) como eu já havia dito.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      652k
×
×
  • Criar Novo...