Trabalhar os valores no LSP

Tirar duvidas sobre o curso de DCL

Moderador: Moderadores

Responder
Avatar do usuário
rogeriomota
Concreto
Concreto
Mensagens: 82
Registrado em: Qui 10 Jul 2008 12:00:00 am
Localização: Sarzedo-MG

Trabalhar os valores no LSP

Mensagem por rogeriomota » Ter 21 Mai 2013 4:46:51 pm

Pessoal criei um exemplo mas não consigo entender como funciona as caixas de DCL ai vai

sapata : dialog {
label="SAPATA - Rogério Mota dos Santos";
:boxed_row {
label = "Base: ";
:edit_box { key = "BT1"; label="X :";
value=100;
edit_width=5;}

:edit_box { key = "BT2"; label="Y :";
value=150;
edit_width=5;}

:edit_box { key = "BT3"; label="Z :";
value=20;
edit_width=5;}
}
}

para trabalhar as informações da caixa eu coloquei assim

(setq dcl_id (load_dialog "SAPATA.DCL"));ler oficheiro
(IF(NOT(new_dialog "sapata" dcl_id)) (exit));verificar se ele existe se não fecha
(action_tile "BT1" "(setq BX $value)");carregar o valor do botão BT1 na variavel BX
(action_tile "BT2" "(setq BY $value)");carregar o valor do botão BT2 na variavel BY
(action_tile "BT3" "(setq BZ $value)");carregar o valor do botão BT3 na variavel BZ
(start_dialog);mostrar a caixa

(SETQ BASE (LIST BX BY BZ));aqui eu queria fazer uma lista com as variaveis BX,BY e BZ mas não funciona.

não to conseguindo entender como estrair os valores da caixa DCL para usar no meu programa se alguem puder ajudar.

Avatar do usuário
rogeriomota
Concreto
Concreto
Mensagens: 82
Registrado em: Qui 10 Jul 2008 12:00:00 am
Localização: Sarzedo-MG

Re: Trabalhar os valores no LSP

Mensagem por rogeriomota » Qua 22 Mai 2013 2:20:05 pm

pessoal se alguém puder ajudar quando eu dou um click no "ok" da caixa de dialogo sem mudar os valores definidos fica tudo certo mas se eu digito eles não funciona, descobri que os valores definidos estão vindo como números reais e quando eu entro com as informações não sei o porque eles vem como "strings" coloquei um if para transformalos em reais, só que quando eu inspeciono ponto a ponto do programa funciona mas quando eu carrego ele não funciona, já tentei de tudo mas não consegui nada se alguem puder me ajudar.

(DEFUN SPT ()
(setq dcl_id (load_dialog "SAPATA.DCL"))
(IF(NOT(new_dialog "SAPATA" dcl_id)) (exit))

(set_tile "BT1" "100")
(set_tile "BT2" "150")
(set_tile "BT3" "20")
(set_tile "BT4" "30")
(set_tile "BT5" "35")
(set_tile "BT6" "75")
(set_tile "BT7" "0")
(set_tile "BT8" "11")
(set_tile "BT9" "12")
(set_tile "BT10" "13")

(DEFUN MARCA ()
;;QUANDO ATIVA TOGGLE
(IF (= BT7 "1")
(PROGN
(mode_tile "BT8" 1) (mode_tile "BT9" 1) (mode_tile "BT10" 1) ))
;;QUANDO DESATIVA TOGGLE
(IF (= BT7 "0")
(PROGN
(mode_tile "BT8" 0) (mode_tile "BT9" 0) (mode_tile "BT10" 0) ))
)

(action_tile "BT1" "(SETQ BT1 $VALUE)")
(action_tile "BT2" "(SETQ BT2 $VALUE)")
(action_tile "BT3" "(SETQ BT3 $VALUE)")
(action_tile "BT4" "(SETQ BT4 $VALUE)")
(action_tile "BT5" "(SETQ BT5 $VALUE)")
(action_tile "BT6" "(SETQ BT6 $VALUE)")
(action_tile "BT7" "(SETQ BT7 $VALUE)(MARCA)")
(action_tile "BT8" "(SETQ BT8 $VALUE)")
(action_tile "BT9" "(SETQ BT9 $VALUE)")
(action_tile "BT10" "(SETQ BT10 $VALUE)")

(if (=(get_tile "BT1") numberp) (setq BT1 (get_tile "BT1")) (setq BT1(atof(get_tile "BT1"))))
(if (=(get_tile "BT2") numberp) (setq BT2 (get_tile "BT2")) (setq BT2(atof(get_tile "BT2"))))
(if (=(get_tile "BT3") numberp) (setq BT3 (get_tile "BT3")) (setq BT3(atof(get_tile "BT3"))))
(if (=(get_tile "BT4") numberp) (setq BT4 (get_tile "BT4")) (setq BT4(atof(get_tile "BT4"))))
(if (=(get_tile "BT5") numberp) (setq BT5 (get_tile "BT5")) (setq BT5(atof(get_tile "BT5"))))
(if (=(get_tile "BT6") numberp) (setq BT6 (get_tile "BT6")) (setq BT6(atof(get_tile "BT6"))))
(setq BT7 (get_tile "BT7"))
(if (=(get_tile "BT8") numberp) (setq BT8 (get_tile "BT8")) (setq BT8(atof(get_tile "BT8"))))
(if (=(get_tile "BT9") numberp) (setq BT9 (get_tile "BT9")) (setq BT9(atof(get_tile "BT9"))))
(if (=(get_tile "BT10") numberp) (setq BT10 (get_tile "BT10")) (setq BT10(atof(get_tile "BT10"))))


(start_dialog)

(unload_dialog dcl_id)
)


obrigado

Avatar do usuário
cracksther
Diamante
Diamante
Mensagens: 1064
Registrado em: Seg 13 Dez 2004 11:00:00 pm

Re: Trabalhar os valores no LSP

Mensagem por cracksther » Sáb 25 Mai 2013 4:47:31 pm

Marcelo Silva - Cascavel - PR
cracksther@gmail.com

Responder