Slider mais lento

4 respostas
G
[color="red"] Olá pessoal!!! Estou postando um exemplo bem simples de um slider que estou usando num projeto... [/color]
<?xml version="1.0" encoding="UTF-8" ?>
<canvas width="500" height="200">

      <slider x="100" y="150" width="300" value="0" minvalue="0" maxvalue="100" id="slidergeid" name="sliderge">
      
    <method name="moveWindow" args="">


     var originalX = this.getAttribute('value');
     var max = this.getAttribute('maxvalue');
     var newX = originalX + 1;

     while (originalX != max)
     {
           this.setAttribute('value', newX);
           var originalX = this.getAttribute('value');
           var newX = originalX + 1;
     }
     
     
    </method>
    </slider>

  
  <window x="20" y="20" width="210"
      title="Simple Window">
    <simplelayout axis="x" spacing="4"/>

    <button text="Move Right"
            onclick="slidergeid.moveWindow()"/>
  </window>
</canvas>

[color="red"]
Qdo clicar no botão, o slider vai andando até o final... porém eu gostaria que ele fosse mais lento... tentei mudar o incremento dele de 1 para 0.5, ou 0.1, porém dá um erro... alguém sabe como fazer isso???
Obrigada [/color] :oops:

4 Respostas

R

Bom… eu ainda não tentei fazer isto, mais não é possível programar um timer para somar este 1 na posição da view ?

Pois dai você definiria o intervalo de tempo em que a soma é feita, dai da pra deixar mais devagar.

mais é como eu disse, ainda não usei timer no laszlo =[, mais em DHTML eu fazia assim…

E

o problema é o While em qq linguagem ele vai executar rapidamente
o laço de execução...

segue o código adaptado para acredito eu pelo que entendi
o que tu queria fazer :roll:

<canvas width="500" height="200">

    <slider x="100" y="150" width="300" value="0" minvalue="0" maxvalue="100" id="slidergeid" name="sliderge">
    
    <attribute name="sliderDelegate" />
    <attribute name="timeWait" value="200" type="number" />
 
    <method name="acao"><![CDATA[
       this.sliderDelegate = new LzDelegate( this, "verificaValor" );
       this.verificaValor(); 
    ]]></method>

    <method name="verificaValor"><![CDATA[
       if( this.getAttribute('value') < this.getAttribute('maxvalue') ) {
          var valorAtual = this.getAttribute('value');
          this.setAttribute('value', valorAtual + 1 );
       }
       LzTimer.addTimer( this.sliderDelegate, this.timeWait );
    ]]></method>

    </slider>

 
  <window x="20" y="20" width="210"
    title="Simple Window">
    <simplelayout axis="x" spacing="4"/>
    <button text="Move Right" onclick="slidergeid.acao()"/>
  </window>
</canvas>

:wink:

G

Era isso mesmo que eu precisava!!!
Obrigada!!! :grin: :grin: :grin:

G

[color="red"]Só para vcs entenderem o que eu queria fazer...
estou postando o meu código :)
Qdo clico no botão NOVO, ele vai até ao banco e me retorna o último código de atendimento cadastrado + 1, e além disso, o slider começa a funcionar, informando ao usuário qtos minutos ele vai levar para responder ao atendimento que ele acabou de abrir (em segundos).

Valeu de novo pessoal!!! [/color]

[color="#444444"][/color]Laszlo:

<canvas height="500">
  <class name="mybutton" extends="button">
    <attribute name="myattr" type="string" value=""/>
  </class>

  <dataset name="menu" src="http://10.96.168.4/novo_chamado.php" request="true"/>


  
  <mybutton id="b1" name="b" x="198" y="72" text="Novo" datapath="menu:/tabela/novo_chamado"
  myattr="$path{'cod_chamado/text()'}" onclick="b1.novoChamado()">

  <method name="novoChamado" args="">
     var valorbutton = this.getAttribute('myattr');
     t.setAttribute('text', valorbutton);
     slidergeid.acao();
   </method>
   
  </mybutton>

  <edittext width="80" x="111" y="72" bgcolor="0xa0a0a0" id="t" />
  
  <slider x="30" y="250" width="300" value="0" minvalue="0" maxvalue="300" id="slidergeid" name="sliderge">

    <attribute name="sliderDelegate" />
    <attribute name="timeWait" value="1000" type="number" />

    <method name="acao"><![CDATA[
       this.sliderDelegate = new LzDelegate( this, "verificaValor" );
       this.verificaValor();
    ]]></method>

    <method name="verificaValor"><![CDATA[
       if( this.getAttribute('value') < this.getAttribute('maxvalue') ) {
          var valorAtual = this.getAttribute('value');
          this.setAttribute('value', valorAtual + 1 );
       }
       LzTimer.addTimer( this.sliderDelegate, this.timeWait );
    ]]></method>

    </slider>
    
</canvas>

[color="#444444"][/color]Conexão com o banco: (PostgreSQL)

<?php


$cod_empresa = 1 ;

    $conex1 = pg_connect("dbname=postgres port=5432 host=localhost user=postgres password=postgres");

     if ($conex1) {
        //Caso queira Imprimir na Tela a mensagem, retirar o comentário
        //echo "Conectado com: " . pg_host($conex1) . "<br/> ";
     }
     else {
          echo pg_last_error($conex1);
          exit;
     }

      $result = pg_exec ($conex1, "select max(seq_atendimento) + 1 as novo_atendimento from hdk_instituicao
where cod_empresa = $cod_empresa");


     echo "<tabela>\n";

         $novo_atendimento = pg_result ($result, 0, 0);

         echo "<novo_chamado>\n";
         echo "<cod_chamado>".$novo_atendimento."</cod_chamado>\n";
         echo "</novo_chamado>\n";

      echo "</tabela>\n";


     pg_close ($conex1);

?>
Criado 1 de fevereiro de 2007
Ultima resposta 2 de fev. de 2007
Respostas 4
Participantes 3