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

ber0x88

[VB 6.0] renomear arquivos existentes

8 mensagens neste tópico

olá pessoal!!!

antes de fazer a minha pergunta relacionada com a programação... onde está o geshi!?!?

e quanto a minha duvida é a seguinte...

estou a tentar criar um programa que renomei-e as imagens, mas não está a funcionar... espero que alguém me possa ajudar... o programa é o seguinte...

Private Sub guardarcmd_Click()
If Dir("c:\pic.bmp") = "pic.bmp" Then
GoTo p1
Else
GoTo fim
End If

p1:
If Dir("c:\pic1.bmp") = "pic1.bmp" Then
GoTo p2
Else
Name "c:\pic.bmp" As "c:\pic1.bmp"
GoTo fim
End If

p2:
If Dir("c:\pic2.bmp") = "pic2.bmp" Then
GoTo p3
Else
Name "c:\pic.bmp" As "c:\pic2.bmp"
GoTo fim
End If

p3:
If Dir("c:\pic3.bmp") = "pic3.bmp" Then
GoTo p4
Else
Name "c:\pic.bmp" As "c:\pic3.bmp"
GoTo fim
End If

p4:
If Dir("c:\pic4.bmp") = "pic4.bmp" Then
GoTo p2
Else
Name "c:\pic.bmp" As "c:\pic4.bmp"
GoTo fim
End If

p5:
If Dir("c:\pic5.bmp") = "pic5.bmp" Then
GoTo p6
Else
Name "c:\pic.bmp" As "c:\pic5.bmp"
GoTo fim
End If

p6:
If Dir("c:\pic6.bmp") = "pic6.bmp" Then
GoTo p2
Else
Name "c:\pic.bmp" As "c:\pic6.bmp"
GoTo fim
End If

p7:
If Dir("c:\pic7.bmp") = "pic7.bmp" Then
GoTo p8
Else
Name "c:\pic.bmp" As "c:\pic7.bmp"
GoTo fim
End If

p8:
If Dir("c:\pic8.bmp") = "pic8.bmp" Then
GoTo p9
Else
Name "c:\pic.bmp" As "c:\pic8.bmp"
GoTo fim
End If

p9:
If Dir("c:\pic9.bmp") = "pic9.bmp" Then
GoTo p10
Else
Name "c:\pic.bmp" As "c:\pic9.bmp"
GoTo fim
End If

p10:
If Dir("c:\pic10.bmp") = "pic10.bmp" Then
GoTo p11
Else
Name "c:\pic.bmp" As "c:\pic10.bmp"
GoTo fim
End If

p11:
MsgBox "Por favor apague algumas imagens... este programa só foi feito para guardar um maximo de 10 screenshots...", vbOKOnly, "Info"



fim:
SavePicture Clipboard.GetData, "c:\pic.bmp"
MsgBox "Imagem guardada em c:\pic.bmp", vbOKOnly, "info"
End Sub

não sei se serão os gotos que estão mal...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
antes de fazer a minha pergunta relacionada com a programação... onde está o gueshi!?!?

Andamos em fazes de remodelações, desculpem pelo incómodo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

No meu esta a funcionar!

O que é que dizes que nao funciona?

Já agora, podes melhorar esse código. Envez de andares aos "saltos" pelo código com os Goto, podes utilizar um ciclo For ou um While, e assim reduzes esse código para meia duzia de linhas  :D

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Diablo, usar GoTos é má programação, permite código espargete e isso é muito mau.

No VB é um mal necessário por causa do mecanismo de erro (o que não é aqui o caso), mas, por exemplo, o código:

If Dir("c:\pic4.bmp") = "pic4.bmp" Then
GoTo p2
Else
Name "c:\pic.bmp" As "c:\pic4.bmp"
GoTo fim
End If

devia ser reescrito assim:

dim ok

ok = true

If not Dir("c:\pic1.bmp") = "pic1.bmp" Then
 Name "c:\pic.bmp" As "c:\pic1.bmp"
else if not Dir("c:\pic2.bmp") = "pic2.bmp" Then
...
else
 MsgBox "Por favor apague algumas imagens... este programa só foi feito para guardar um maximo de 10 screenshots...", vbOKOnly, "Info"
 ok = false
End If

if ok then

SavePicture Clipboard.GetData, "c:\pic.bmp"
 MsgBox "Imagem guardada em c:\pic.bmp", vbOKOnly, "info"
end if

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ok vou tentar modificar o código... obrigado pela ajuda!!! :D

De nada. :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Diablo, usar GoTos é má programação, permite código espargete e isso é muito mau.

No VB é um mal necessário por causa do mecanismo de erro (o que não é aqui o caso), mas, por exemplo, o código:

Isso nos VB's <= 6, porque a partir do .Net usa-se as estruturas Try .. Catch.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Diablo, usar GoTos é má programação, permite código espargete e isso é muito mau.

No VB é um mal necessário por causa do mecanismo de erro (o que não é aqui o caso), mas, por exemplo, o código:

Isso nos VB's <= 6, porque a partir do .Net usa-se as estruturas Try .. Catch.

Try Catch???

Já não era sem tempo... Estou maravilhado. :cheesygrin:

Demoraram uma década a chegar lá, gabo a paciência de quem esperou todo esse tempo...  :thumbsup::P:D

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