Flex

18 respostas
M

Bom Dia!
Eu tenho uma função ActionScript 3.0 que á a seguinte:

package br.com.shalon.ActionScript
{
       import flash.events.TimerEvent;
       import flash.utils.Timer;
       public class datahora
       {
           public function datahora()
           {
               private var dh:Timer; 
               public function data_hora()
               {
                     dh = new Timer(1000); 
                     dh.addEventListener(TimerEvent.TIMER, atualizar_data_hora);
                     dh.start();
               } 
               public function atualizar_data_hora(event:Event):void
               {
                    var dh:Date = new Date(); 
                    lbl_data_hora.text = "Data: " + dh.getDate().toString()
                                                               + "/" + (dh.getMonth()+1).toString()
                                                               + "/" + dh.getFullYear().toString()
                                                               + " Hora: " + dh.getHours().toString()
                                                               + ":" + dh.getMinutes()
                                                               + ":" + dh.getSeconds();
                }
          }
     }
}

E na MXML eu tenho :

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" backgroundImage="imagens/aquagraphite.jpg"
layout="absolute">

<!-- ApplicationControlBar SUPERIOR(TOPO) -->
<mx:ApplicationControlBar x="0" width="100%" height="50" fillAlphas="[2.0, 0.0]" top="0"/>

<!-- ApplicationControlBar INFERIOR(RODAPÉ) -->
<mx:ApplicationControlBar x="0" width="100%" bottom="0" fillAlphas="[2.0, 0.0]" height="30">
<!-- LABEL DE DATA E HORAO NO ROPÉ -->
<mx:Label id="lbl_data_hora" fontSize="12" width="220" textAlign="left" fontWeight="normal"/>
</mx:ApplicationControlBar>
</mx:Application>

Eu tenho como descito acima o label(<!-- LABEL DE DATA E HORAO NO ROPÉ --> <mx:Label id=“lbl_data_hora” fontSize=“12” width=“220” textAlign=“left” fontWeight=“normal”/> e este label esta dentro de um ApplicationControlBar.) EU QUERO MOSTRAR A DATA E A HORA ATUALIZADAS DENTRO DESTE LABEL … MAS NÃO SEI COMO CHAMAR A FUNÇÃO QUE EU CRIEI NO ARQUIVO data_hora.as.

PERGUNTA: Como faço para chamar a função e fazer a mesma funcionar.
Obrigado!

18 Respostas

Diabo_Loiro
ponha o codigo na tag "code"

ponha o codigo na tag “code”

M

Diabo Loiro:
codigo

ponha o codigo na tag “code”

Era isso que era para fazer?
Alex

rmendes08

Não, ele está dizendo para usar as tags code para você formatar o seu código, caso contrário fica impossível de ler. Ajude-nos a te ajudar!

M

M

Meu amigo me perdoe pela enorme ignorância minha mas eu não consegui formatar o post.
Saberia me dizer onde encontro no forum um tutorial que me mostre como fazer a formatação???
Obrigado!
E mais uma vez me perdoe.
ps.: Vou continuar procurando.
Aleke

M

Consegui … Valeu!
Se agora vc puder me ajudar eu agradeço.
Aleke

rmendes08

Esse código ao menos compila ?

M

Ele compila sim …
O que não sei fazer é a ligação entre um arquivo externo ActionScript e o arquivo MXML.
Se eu colocar a função AS dentro do MXML ele traz a hora e a data automaticamente.
Mas quando eu separo os dois para um boa pratica de programação.
Ai é que eu me enrosco, pois neste caso não existe um botão por exemplo pra que eu chame a função no evento click.
Eu acho que é no evento createcomplete do Application … mais não sei como fazer e nem achei nenhum exemplo de como fazer.
Aleke

R

Você deve fazer um include do seu arquivo actionscript no MXML.
Assim é como se ele estivesse dentro, mas está fora.

Exemplo: http://www.actionscript.org/forums/showthread.php3?t=189049

M

RafaelViana:
Você deve fazer um include do seu arquivo actionscript no MXML.
Assim é como se ele estivesse dentro, mas está fora.

Exemplo: http://www.actionscript.org/forums/showthread.php3?t=189049

Isso eu sei … o que não sei é como fazer …
Eu agradeço mas o tutorial não me ajudou.

Obrigado!
Alex

V

coloca essa tag aqui

no source vc direciona onde está o seu .as e é só
ele busca e vai funcinar.
:-o

M

vitoryudi:
coloca essa tag aqui

no source vc direciona onde está o seu .as e é só
ele busca e vai funcinar.
:-o

Meu amigo tentei fazer da forma que você falou e não deu certo.

<mx:Script source=“br.com.shalon.ActionScript.datahora.as”/>
Ele informa o seguinte erro: Problem finding external file: br.com.shalon.ActionScript.datahora

Pelo que andei lendo e pesquisando  Tentei também fazer o scrip abaixo:

PORÉM O QUE AINDA NÃO ESTOU CONSEGUINDO É COMO REFERENCIAR O LABEL PARA RECEBER A FUNÇÃO.

<mx:Script>

<![CDATA[

import br.com.shalon.ActionScript.datahora;

public function retornadh():void

{

lbl_data_hora.text = XXXXXXXXXXXXXX;
}
	]]&gt;
&lt;/mx:Script&gt;

Por que como o label pode receber alguma coisa sem que seja informado a ele o que receber.
Espero que eu tenha sido claro e me desculpem a minha ignorância.
ps.: Mas quando eu conseguir fazer isso vou dar um jeito de criar um posto sobre o assunto e postar aqui … por que creio que não é difícil. Mas a falta de experiência e conhecimento tem pesado bastante.
Obrigado!
Aleke

V

uma dúvida…

qual a pasta que está seu arquivo mxml?
e qual pasta está o seu arquivo .as?

M

vitoryudi:
uma dúvida…

qual a pasta que está seu arquivo mxml?
e qual pasta está o seu arquivo .as?

o arquivo index.mxml esta na raiz do src
e o arquivo ActionScript(datahora.as) esta na pasta src com a seguinte estrutura:
>src
>br
>com
>shalon
>ActionScript
(dentro da pasta ActionScript esta o arquivo datahora.as)
index.mxml
ps.: o Sina > siguinifica Pasta.
Obrigado!
Aleke

V

no lugar de “.” coloca “/”

ve o q q dá
:slight_smile:

M

vitoryudi:
no lugar de “.” coloca “/”

ve o q q dá
:)

Meu amigo quando troco o “.” ponto pela "/"barra dá o seguinte erro:
Severity and Description Path Resource Location Creation Time Id
1037: Packages cannot be nested. shalon/src/br/com/shalon/ActionScript datahora.as line 2 1295461827847 1223

Gravidade e descrição caminho do recurso de Criação Localização Id
1114: O atributo público só pode ser usado dentro de um pacote. Shalon/br/src/com/Shalon/ActionScript linha datahora.as 17 1295460864390 1222

E quando volto ao “.” volta a dar o mesmo erro que antes. Que saco!
Severity and Description Path Resource Location Creation Time Id
Problem finding external file: br.com.shalon.ActionScript.datahora.as shalon/src index.mxml line 15 1295462460048 1224

Gravidade e descrição caminho do recurso de Criação Localização Id
Problema de arquivo encontrar externo: Shalon br.com.shalon.ActionScript.datahora.as / linha src index.mxml 15 1295462460048 1224

V
então está correto com a /

e tira do seu codigo .as

p package{

e o }

no final

ve o q .
M
<blockquote><div class="quote-author">vitoryudi:</div>então está correto com a /

e tira do seu codigo .as

p package{

e o }

no final

ve o q dá.

Desta forma (que esta no index.mxml)

<mx:Script source=“br/com/shalon/ActionScript/datahora”/>

dá o seguinte erro: Problem finding external file: br/com/shalon/ActionScript/datahora shalon/src index.mxml(Problemas para encontrar um arquivo externo: br / com / Shalon / ActionScript Shalon datahora / src index.mxml)

Desta forma (que esta no index.mxml)

<mx:Script source=“br/com/shalon/ActionScript/datahora.as”/>

dá o seguinte erro: Packages cannot be nested. shalon/src/br/com/shalon/ActionScript datahora.as(Os pacotes não podem ser aninhados. Sharon / br / src com.br / / Shalon datahora.as / ActionScript) SÓ QUE NESTE CASO O ERRO ESTA NO datahora.as

Desta forma (que esta no index.mxml)

<mx:Script source="{br/com/shalon/ActionScript/datahora}"/>

dá o seguinte erro: Data binding expressions not supported with attributes processed at compile time. shalon/src (Expressões de ligação de dados não suportados com atributos transformados em tempo de compilação. Shalon / src

Veio to me sentindo muito burro e muito cego por não estar entendendo ou enxergando o erro.
Obrigado pela força.
Aleke

Criado 18 de janeiro de 2011
Ultima resposta 19 de jan. de 2011
Respostas 18
Participantes 5