Você chegou ler aquele post sobre a dimensão dos slides? Cosneguiu usar pra alguma coisa? espero que sim, hehehe
Agora suponha que tenhamos uma biblioteca de slides (*.SLB), e queremos mostrar alguns deles... você sabe os nomes dos slides que que compõe a biblioteca? Se sabe, ótimo, se não sabe, bem, use esta lisp:
;extrai a lista de slides de uma biblioteca de slides SLB
(defun slb2list (filename / file lst str)
(setq file (open filename "r")) ;abre o arquivo para leitura
(repeat 31 (read-char file)) ;pula a informação da SLB
;enquanto nao lê caractere zero:
(while (/= 0 (setq char (read-char file)))
;leu um caractere diferente de zero:
(setq str (chr char))
;lê mais 31 então, para formar o nome completo:
(repeat 31
(setq str (strcat str (chr (read-char file)))))
;pula o lixo:
(repeat 4 (read-char file))
;armazena o nome criado na lista:
(setq lst (cons str lst)))
;fecha o arquivo:
(close file)
;devolve a lista:
(reverse lst))
Para usar é simples:
(slb2list "F:/autocad/drenagem e esgoto/Drenagem/de_fonts.slb")
Deverá retornar uma lista parecida com isso:
("65" "66" "teste" "slide")
Agora suponha que tenhamos uma biblioteca de slides (*.SLB), e queremos mostrar alguns deles... você sabe os nomes dos slides que que compõe a biblioteca? Se sabe, ótimo, se não sabe, bem, use esta lisp:
;extrai a lista de slides de uma biblioteca de slides SLB
(defun slb2list (filename / file lst str)
(setq file (open filename "r")) ;abre o arquivo para leitura
(repeat 31 (read-char file)) ;pula a informação da SLB
;enquanto nao lê caractere zero:
(while (/= 0 (setq char (read-char file)))
;leu um caractere diferente de zero:
(setq str (chr char))
;lê mais 31 então, para formar o nome completo:
(repeat 31
(setq str (strcat str (chr (read-char file)))))
;pula o lixo:
(repeat 4 (read-char file))
;armazena o nome criado na lista:
(setq lst (cons str lst)))
;fecha o arquivo:
(close file)
;devolve a lista:
(reverse lst))
Para usar é simples:
(slb2list "F:/autocad/drenagem e esgoto/Drenagem/de_fonts.slb")
Deverá retornar uma lista parecida com isso:
("65" "66" "teste" "slide")
Nenhum comentário:
Postar um comentário