Tenha uma nova experiência ao navegar no Fórum pelo computador de forma integrada ao portal principal. Acesse o seguinte link: https://www.autolisp.com.br/board/. Entretanto para dispositivos móveis recomendamos acessar este outro link: https://www.autolisp.com.br/forum/

Slide dinâmico

Dúvidas sobre VB para AutoCAD...

Moderador: Moderadores

Responder
Avatar do usuário
lucash
Concreto
Concreto
Mensagens: 27
Registrado em: Seg 05 Mar 2007 12:00:00 am

Slide dinâmico

Mensagem por lucash » Sex 06 Jul 2007 12:32:27 pm

Caros Colegas da Lista:
Certa vez eu vi uma rotina rodando no autocad com uma espécie de slide dinâmico.
Conforme o usuário preenchia os edit_box o slide se atualizava em função do edit_box preenchido. Qual a linguagem utilizada para obter esse efeito?

Avatar do usuário
neyton
Master
Master
Mensagens: 1668
Registrado em: Qui 25 Dez 2003 11:00:00 pm
Contato:

Mensagem por neyton » Sex 06 Jul 2007 6:27:58 pm

autolisp....


veja o help do autolisp para as funções

start_image

vector_image, fill_image

end_image

alem é claro do dcl...
vc precisa saber incluir uma image ou image_button no seu dcl
como que usa o html daqui?
visite o meu blog: http://tbn2.blogspot.com
lisps exclusivas pra download!!

Avatar do usuário
nuelss
Bronze 3/3
Bronze 3/3
Mensagens: 386
Registrado em: Qui 05 Ago 2004 12:00:00 am
Localização: São Simão - SP

Mensagem por nuelss » Ter 10 Jul 2007 12:07:52 pm

Lucash, vou te dar uma idéia de como funciona ...

Voce cria os slides em nome mais ou menos sequencial ... (Por exemplo, se são 3 EDIT BOX a preencher, crie 3 Slides com nome "SLD1", "SLD2" e "SLD3" ... e alem desses, cria um outro slide chamado simplesmente "SLD" ...

Então podemos fazer a rotina ...:

[lsp](defun blablabla ()[/lsp]

.... depois disso, temos o desenrolar da rotina, incliusive a parte que trata das DCL's ...

[lsp] (setq
load_farrj (findfile (strcat fortpath "c:\\fortselos\\fortselos.dcl"))
load_farrj (load_dialog load_farrj)
)
(new_dialog "load_farrj" load_farrj)[/lsp]

... e chegamos no seguinte ponto:

[lsp](defun timg () ;|Rotininha interna para ser executada nos "ACTION's TILES"|;
(start_image "fimgarr")
(setq XI (dimx_tile "fimgarr") YI (dimy_tile "fimgarr"))
(fill_image 0 0 XI YI -2)
(slide_image 0 0 XI YI (strcat "c:\\fortselos\\" "SLD" nomesld)) ;|Por enquamto, a imagem exibida será da figura SLD, visto que a variavel nomesld esta definida como ""|;
(end_image)
)[/lsp]

Definimos a funçãozinha ... e agora vamos executá-la :
[lsp](timg) ;|Executa tambem na utilização da rotina pela primeira vez ...|;[/lsp]

Aqui vem os set_tile's, etc ...

Aqui vem os action_tile's, e é aqui que chegamos no seguinte ponto:

[lsp](action_tile "EDIT_BOX1" "(setq fimgarr \"1\") (timg)")
(action_tile "EDIT_BOX2" "(setq fimgarr \"2\") (timg)")
(action_tile "EDIT_BOX3" "(setq fimgarr \"3\") (timg)")[/lsp]

Viu ??? Afgora a funçãozinha interna TIMG vai concatenar a palavra SLD com a variavel fimgarr, que nesta caso será "1", "2" ou "3", ficando SLD1, SLD2 ou SLD3, que é os nomes dos slides que voce definiu ...

Aqui vem o start_dialog,

Aqui vem o unload_dialog ...

Acho que é mais ou menos isso ... pelo menos os meus eu faço mais ou menos dessa maneira ...

Deu pra entender ???


Flw ...
"É a verdade o que assombra, o descaso que condena,
a estupidez o que destrói eu vejo tudo que se foi e que
não existe mais" (Metal Contra as Nuvens - Legião Urbana)

Abraço,
Emanuel 8)

Avatar do usuário
nuelss
Bronze 3/3
Bronze 3/3
Mensagens: 386
Registrado em: Qui 05 Ago 2004 12:00:00 am
Localização: São Simão - SP

Mensagem por nuelss » Ter 10 Jul 2007 12:36:19 pm

:)

OOps ... uma pequena correção na funçãozinha interna timg:

[lsp](defun timg () ;|Rotininha interna para ser executada nos "ACTION's TILES"|;
(if (null nomesld) (setq nomesld "")) ;| Acrescentei esta linha|;
(start_image "fimgarr")
(setq XI (dimx_tile "fimgarr") YI (dimy_tile "fimgarr"))
(fill_image 0 0 XI YI -2)
(slide_image 0 0 XI YI (strcat "c:\\fortselos\\" "SLD" nomesld)) ;|Por enquamto, a imagem exibida será da figura SLD, visto que a variavel nomesld esta definida como ""|;
(end_image)
)[/lsp]

E agora nos action_tile's (Troquei as bolas ...) O correto seria:

[lsp](action_tile "EDIT_BOX1" "(setq nomesld \"1\") (timg)")
(action_tile "EDIT_BOX2" "(setq nomesld \"2\") (timg)")
(action_tile "EDIT_BOX3" "(setq nomesld \"3\") (timg)") [/lsp]
O nome correto da variavel é nomesld , e não fimgarr



Flw ...
"É a verdade o que assombra, o descaso que condena,
a estupidez o que destrói eu vejo tudo que se foi e que
não existe mais" (Metal Contra as Nuvens - Legião Urbana)

Abraço,
Emanuel 8)

Avatar do usuário
lucash
Concreto
Concreto
Mensagens: 27
Registrado em: Seg 05 Mar 2007 12:00:00 am

Mensagem por lucash » Ter 10 Jul 2007 1:42:18 pm

Caros Neyton e Nuelss, obrigado pelas dicas. Vou estudá-las e adaptá-las para o meu uso.

Responder