fonte forum OpenLaszlo: [link: Cool Clock]
download do fonte: [host:primario] | [host:alternativo]



$XML = "<tag>á é í ó ú ç ã õ ... </tag>";
echo utf8_encode( $XML );String text = "<tag>á é í ó ú ç ã õ ... </tag>"; public static String toISO88591(String text) throws Exception{
byte p[] = text.getBytes("UTF-8");
return new String(p, 0, p.length, "ISO-8859-1");
} public static String toUTF8(String text) throws Exception{
byte p[] = text.getBytes("ISO-8859-1");
return new String(p, 0, p.length, "UTF-8");
}

<canvas
title="Exemplo de uso do relógio OpenLaszlo">
<!-- incluindo a classe -->
<include href="class/relogio"/>
<simplelayout axis="y" spacing="20"/>
<clock name="myclock" local="true" x="40" />
<text multiline="true">
Usando o relógio do Openlaszlo<br/>
dentro de uma outra aplicação<br/>
OpenLaszlo...
</text>
</canvas>
<pjonline>
<membros>?</membros>
<visitantes>?</visitantes>
<total>?</total>
</pjonline><list>
<item number="1" user="usuário A" />
<item number="2" user="usuário B" />
<item number="3" user="usuário c" />
<item number="4" user="usuário D" />
...
</list>
<canvas
title="Portal Java Who is Online"
width="200" proxied="false">
<attribute name="flag" value="true" type="boolean" />
<!-- dataset da aplicação -->
<dataset
name="ds"
src="http:whoisonline.php"
querytype="post"
request="false"
proxied="false"/>
<!-- trata o evento de recebimento de dados pelo dataset -->
<handler reference="ds" name="ondata"><![CDATA[
// verifica o tratamento de tempo para executar a cada 1 segundo
if( typeof this.del == "undefined" ) {
this.del = new LzDelegate( this, "atualizaInfo" );
LzTimer.addTimer( this.del, 1000 );
} else {
LzTimer.resetTimer( this.del, 1000 );
}
]]></handler>
<!-- método que trata a inicialização da aplicação -->
<method name="init"><![CDATA[
this.atualizaInfo();
]]></method>
<!-- método para atualizar -->
<method name="atualizaInfo"><![CDATA[
if( this.flag ) {
// requisita os dados para o servidor
this.ds.doRequest();
}
]]></method>
<!-- @BEGIN: definição visual -->
<simplelayout axis="y" spacing="5"/>
<text><u><b> Pessoas on-line: </b></u></text>
<view>
<text>Membros: </text>
<text x="65" datapath="ds:/pjonline/membros/text()"/>
</view>
<view>
<text>Visitantes: </text>
<text x="65" datapath="ds:/pjonline/visitantes/text()"/>
</view>
<view>
<text>Total: </text>
<text x="65" datapath="ds:/pjonline/total/text()"/>
</view>
<button x="20" name="btn" text="Parar">
<handler name="onclick"><![CDATA[
if( canvas.flag ) {
canvas.btn.setAttribute( "text", "Atualizar" );
canvas.flag = false;
} else {
canvas.btn.setAttribute( "text", "Parar" );
canvas.flag = true;
canvas.ds.doRequest();
}
]]></handler>
</button>
<!-- @END: definição visual -->
</canvas><pjonline><membros>4</membros><visitantes>185</visitantes><total>189</total></pjonline>
<canvas width="200">
<view width="115" height="20" bgcolor="gray">
<inputtext
name="field"
bgcolor="white"
x="1" y="1"
width="$once{parent.width-2}"
height="$once{parent.height-2}" maxlength="14">
<method name="init"><![CDATA[
super.init();
]]></method>
<method event="onkeydown" args="akeycode"><![CDATA[
Debug.write( String.fromCharCode(akeycode) + " : " + akeycode + " >> " + this.getText() );
// tecla backspace
if( akeycode != 8 ) {
switch( this.getText().length ) {
case 3:
this.addText( "." );
break;
case 7:
this.addText( "." );
break;
case 11:
this.addText( "-" );
break
}
var lastP = this.getText().length;
this.setSelection( lastP, (lastP+1) );
}
]]></method>
<!-- @END: métodos do inputtext -->
</inputtext>
</view>
</canvas>
<canvas>
<text>Hello World!</text>
</canvas><?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Text x="10" y="10" text="Hello World"/>
</mx:Application>