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.
Trabalhar os valores no LSP
Moderador: Moderadores
- rogeriomota
- Concreto
- Mensagens: 82
- Registrado em: Qui 10 Jul 2008 12:00:00 am
- Localização: Sarzedo-MG
- rogeriomota
- Concreto
- Mensagens: 82
- Registrado em: Qui 10 Jul 2008 12:00:00 am
- Localização: Sarzedo-MG
Re: Trabalhar os valores no LSP
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
(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
- cracksther
- Diamante
- Mensagens: 1072
- Registrado em: Seg 13 Dez 2004 11:00:00 pm
Re: Trabalhar os valores no LSP
Marcelo Silva - Cascavel - PR
[email protected]
[email protected]