Flex Sistema Imobiliário - Detalhes do Código Flex-System Immobilie - Details des Kodex


A pedido do José Carlos Fonseca, aqui ficam algumas explicações e detalhes de partes de código usadas no meu sistema imobiliário, assim ajudo-o e posso ajudar mais gente interessada. Auf Antrag von Jose Carlos Fonseca, hier sind einige Erläuterungen und Informationen von Teilen von meinem System-Code verwendet in Immobilien, so hilft Ihnen, und ich kann helfen, mehr Menschen interessiert.

P: 1.Na primeira página surge uma imagem “loading” com efeito como fazes? Q: 1.Na Titelseite ein Bild entsteht "Laden", wie der Tat tun?

R: 1. A: 1. O efeito loading é conseguido atravéz da substituição do “loader” normal do flex por uma imagem, podes ver aqui http://www.onflex.org/ted/2006/07/flex-2-preloaders-swf-png-gif-examples.php onde encontras gif, png, swf e exemplos com código fonte. Die Be-Effekt wird erreicht durch anstelle der "Loader" normalen flex für ein Bild, hier sehen kann http://www.onflex.org/ted/2006/07/flex-2-preloaders-swf-png-gif- examples.php wo Sie gif, png, swf und Beispiele mit Quellcode. Basta copiares para a pasta da tua aplicação e no <mx:Application …> colocares preloader=”preload.CustomPreloader”. Kopieren Sie einfach in den Ordner Ihrer Anwendung und die <mx:Application …> colocares preloader = "preload.CustomPreloader." Eu fiz umas pequenas implementações baseadas nesse exemplo, mas se se usar assim funciona na mesma. Ich habe einige kleine Implementierungen auf der Grundlage dieses Beispiel, aber wenn es funktioniert gut, wenn Sie die gleichen.

P:2.Pagina de login: efeito de erro, “checking login” ea barra azul Q: 2.Pagina Login: Auswirkungen der Fehler, "die Kontrolle login" und dem blauen Balken

R: 2.A barra azul é uma progressBar: A: 2. Die blauen Balken ist ein ProgressBar:

1: < mx:ProgressBar visible =”false” x =”112″ y =”175″ 1: <mx: ProgressBar visible = "false" x = "112" y = "175"

2: labelPlacement =”left” label =” “ width =”187″ 2: labelPlacement = "left" label = "" width = "187"

3: indeterminate =”true” showEffect =”{Fade}” hideEffect =”{Fade}” 3: Unbefristet = "true" showEffect = "Fade ()" hideEffect = "Fade ()"

4: id =”progressStatus” /> 4: id = "progressStatus" />

que é activada (progressStatus.visible=true;) quando inicias o pedido para verificar o login no remoteObject (send) e desactivada quando recebes a resposta do remoteObject (result). , das aktiviert wird (progressStatus.visible = true;), wenn das ursprüngliche Ersuchen zu prüfen, die Log-in remoteObject (senden) und, wenn Sie sich vor der Reaktion der remoteObject (Ergebnis). (progressStatus.visible=false;) (progressStatus.visible = false;)

quando recebe o resultado (negativo, o user e pass não condizem) faz o seguinte: beim Empfang der Ergebnisse (negativ, die Benutzer und Passwort stimmen nicht überein) ist die folgende:

blurRed.target=panelLogin; blurRed.target = panelLogin;

blurRed.play(); blurRed.play ();

onde o panelLogin é o nosso panel de login eo blurRed é o seguinte efeito : wo die panelLogin ist unsere Gruppe von Login und verschwommen, und zwar folgendermaßen:

1: < mx:Glow id =”blurRed” duration =”700″ 1: <mx: Leucht-id = "unscharf" Dauer = "700"

2: alphaFrom =”1.0″ alphaTo =”0.0″ 2: alphaFrom = "1.0" alphaTo = "0.0"

3: blurXFrom =”0.0″ blurXTo =”20.0″ 3: blurXFrom = "0.0" blurXTo = "20.0"

4: blurYFrom =”0.0″ blurYTo =”20.0″ 4: blurYFrom = "0.0" blurYTo = "20.0"

5: color =”0×990000″ /> 5: color = "0 × 990000" />

Quanto ao checking login é o mesmo sistema que em cima, activar ou desactivar a progressStatus já que o Flex ainda não implementa o remoteObject com um event progress. Da für die Überprüfung der Login ist das gleiche System wie oben beschrieben, ein-oder ausschalten der progressStatus wie der Flex immer noch nicht die remoteObject mit einer Veranstaltung Fortschritte.

P:3.Pagina principal: efeito nos botões no lado esquerdo Q: 3.Pagina Main: Auswirkungen auf die Tasten auf der linken Seite

R: Quanto aos botões do lado esquerdo, o efeito passa pelo mesmo do erro do painel login, os efeitos são: A: Da für die Schaltflächen auf der linken Seite, die Auswirkungen der Fehler durch die gleichen Login-Panel, die Auswirkungen sind:

1: < mx:Glow id =”blurBlueIn” duration =”700″ 1: <mx: Leucht-id = "blurBlueIn" Dauer = "700"

2: alphaFrom =”1.0″ alphaTo =”0.0″ 2: alphaFrom = "1.0" alphaTo = "0.0"

3: blurXFrom =”0.0″ blurXTo =”20.0″ 3: blurXFrom = "0.0" blurXTo = "20.0"

4: blurYFrom =”0.0″ blurYTo =”20.0″ 4: blurYFrom = "0.0" blurYTo = "20.0"

5: color =”0×900aeef” /> 5: color = "0 × 900aeef" />

6: < mx:Glow id =”blurBlueOut” duration =”700″ 6: <mx: Leucht-id = "blurBlueOut" Dauer = "700"

7: alphaFrom =”0.0″ alphaTo =”1.0″ 7: alphaFrom = "0.0" alphaTo = "1.0"

8: blurXFrom =”20.0″ blurXTo =”0.0″ 8: blurXFrom = "20.0" blurXTo = "0.0"

9: blurYFrom =”20.0″ blurYTo =”0.0″ 9: blurYFrom = "20.0" blurYTo = "0.0"

10: color =”0×00aeef” /> 10: color = "0 × 00aeef" />

e no botão basta chama-los nos events mouseOver mouseOut: und die Taste nur rief sie auf Mouseover-Ereignisse mouseOut:

1: < mx:Button width =”85″ height =”73″ label =”button ADD” id =”add” 1: <mx: Button width = "85" height = "73" label = "-Button ADD" id = "add"

2: icon =”@Embed(source=’imgs/Home_add.png’)” x =”10″ y =”91″ 2: Symbol = "@ Embed (source =" image / Home_add.png ") x =" 10 "y =" 91 "

3: fillColors =”[#000000,#000000]“ fillAlphas =”0″ borderColor =”#525151″ 3: fillColors = "[# 000000, # 000000]" fillAlphas = "0" bordercolor = "# 525151"

4: color =”#FDFBFB” themeColor =”#535C75″ textRollOverColor =”#2667B0″ 4: color = "# FDFBFB" themeColor = "# 535C75" textRollOverColor = "# 2667B0"

5: useHandCursor =”true” mouseOver =”{buttonOver(add)}” 5: useHandCursor = "true" Mouseover = "(buttonOver (inklusive))"

6: mouseOut =”{buttonOut(add)}” click =”{changeTo(’bsf1′)}” 6: mouseOut = "(buttonOut (inklusive))" klicken Sie auf = "(changeTo ( 'bsf1'))"

7: buttonMode =”true” /> 7: buttonMode = "true" />

onde tens: a função buttonOver(id_do_botão) e buttonOut(id_do_botão): , wo Sie sich aufhalten: die Rolle buttonOver (id_do_botão) und buttonOut (id_do_botão):

1: private function buttonOver(a:Button): void { 1: private Funktion buttonOver (a: Button): void (

2: blurBlueOut.target=a; 2: blurBlueOut.target = a;

3: blurBlueOut.play(); 3: blurBlueOut.play ();

4: } 4:)

5: private function buttonOut(a:Button): void { 5: Private Funktion buttonOut (a: Button): void (

6: blurBlueIn.target=a; 6: blurBlueIn.target = a;

7: blurBlueIn.play(); 7: blurBlueIn.play ();

8: } 8:)

e tens os teus efeitos feitos und Sie haben Ihre Zwecke : P

P:4.Como adicionas uma foto na BD? Q: 4.Como Fügen Sie ein Foto in BD?

R: A foto é adicionada através do php via amfphp, no Flex apenas são seleccionadas as fotos e enviadas via post para um script upload.php que trata do envio para o servidor, e devolve as localizações das fotos que ficam guardadas num array, quando termina de enviar todas as fotos, é chamada uma função do remoteObject que guarda os caminhos das fotos na base de dados (optei por usar caminhos relativos em vez de colocar a foto directamente na base de dados, ja que as fotos podem ser de grande tamanho o que ia encher a base de dados). A: Das Bild wird durch die PHP über AMFPHP in Flex nur die Bilder sind ausgewählt und per Post an ein Skript, das sich mit der upload.php an den Server gesendet, und liefert den Standorten der Fotos, die in ein Array, wo Enden zu schicken alle die Bilder, wird als eine Funktion der Schutzeinrichtung remoteObject, dass die Pfade der Fotos in der Datenbank (Ich habe mich für die Verwendung relative Pfade statt Putting das Foto direkt in der Datenbank, da die Fotos sind von großer Größe Was würde füllen die Datenbank).

Quanto ao sistema de upload, podes ver aqui um sistema parecido com o que fiz (com código): Da das System des Ladens, können Sie sehen, hier ein System ähnlich dem, was ich habe (mit Vorwahl):

http://weblog.cahlan.com/files/file_uploads/FileUpload.html http://weblog.cahlan.com/files/file_uploads/FileUpload.html

onde o upload.php será algo parecido com: http://www.msdevstudio.com/mywork/upload.rar wo die upload.php wird so etwas wie: http://www.msdevstudio.com/mywork/upload.rar

P:Agora fora da tua aplicação, eu tenho uma tabela com varios itens e quero que apareçam numa pagina cada um como botão, é possível?? Q: Jetzt außerhalb Ihrer Anwendung, Ich habe eine Tabelle mit mehreren Positionen und wollen, erscheinen auf einer Seite jeder als einer Taste, du kann? E no caso de essa pagina ter um numero predefinido de botões como fazer paginação? Und im Fall von dieser Seite haben Sie ein Preset Anzahl der Tasten und tun Auslagerungsdatei?

R: Agora o monstro das respostas (nota que escrevi isto sem testar, terás que alterar muitos dos campos, mas o essencial está lá: ) A: Nun ist die Monster der Antworten (beachten Sie, dass ich geschrieben habe, das ohne Prüfung, müssen Sie viele von den Lagern, aber im Kern geht es:)

Parte I: Botões em cada elemento da “tabela” Teil I: Die Tasten an der jedes Element der "Tabelle"

Quanto aos botões, podes colocar em cada linha da datagrid ou qualquer elemento de listagem um qualquer outro componente, sendo o mais comum, checkbox, listbox, button ou radioButton, ve isto: Wie für Schaltflächen, können Sie auf jede Zeile des DataGrid oder einem Element eine Liste einer anderen Komponente, die die häufigsten, Kontrollkästchen, Listbox, oder RadioButton-Taste, sieht so aus:

http://www.returnundefined.com/files/ItemRendererExample/ (codigo fonte) http://www.returnundefined.com/files/ItemRendererExample/ (Quellcode)

http://www.adobe.com/devnet/flex/quickstart/using_item_renderers/ http://www.adobe.com/devnet/flex/quickstart/using_item_renderers/

mesmo parecido com o que deves querer: sogar ähnlich zu dem, was sollte möchten:

http://axel.cfwebtools.com/…/UsingTheItemRendererWithADataGrid.html http://axel.cfwebtools.com/ ... / UsingTheItemRendererWithADataGrid.html

Estes links têm o view source activo. Diese Links sind der Auffassung, Asset-Quelle.

Parte II: E no caso de essa pagina ter um número predefinindo de botões como fazer paginação? Teil II: Und für den Fall, diese Seite über eine voreingestellte Anzahl der Tasten, um Auslagerungsdatei?

Qaunto a fazer a paginação, isso depende muito do tipo de sistema que tens, se tens php mySql podes limitar (LIMIT) a listagem a apenas o que queres, basta criares uma variavel publica para guardares a iniciação da listagem e outra com o número de entradas por pagina: Qaunto, um die Auslagerungsdatei, dass stützt sich stark auf die Art von System Sie haben, wenn Sie können php mysql (max.) das Angebot ist genau das, was Sie möchten, erstellen Sie einfach eine öffentliche Variable, um die Einleitung der Auflistung und ein mit der Nummer der Einträge pro Seite:

1: public var inicio:Number = 0; 1: öffentliche var Start: Number = 0;

2: public var porPagina:Number = 10; 2: öffentliche var porPagina: Number = 10;

3: //ao ser chamado o Remote objecto, tens que dizer ao php para contruir o pedido sql com as limitações. 3: / / aufgerufen werden, um die Remote-Objekt, Sie haben zu sagen, php, um die SQL-Anfrage mit den Einschränkungen.

4: //no flex por exemplo o botão seguinte eo anterior a chamarem a Função goPag(”seguinte”); ou goPag(”anterior”); (consoante o botão.) 4: / / flex zum Beispiel in die Taste neben und früheren Aufruf von Funktion goPag ( "Weiter"), oder goPag ( "ehemaligen"); (abhängig von der Taste.)

5: private function goPag(onde:String): void { 5: Private Funktion goPag (wo: String): void (

6: if (onde== “seguinte” ) { 6: if (was == "Weiter") (

7: inicio=inicio 10; 7: start = Start 10;

8: } 8:)

9: if (onde== “anterior” ) { 9: if (was == "ehemaligen") (

10: inicio=inicio-10; 10: Start = Start-10;

11: if (inicio<=0) inicio=0; 11: if (Start <= 0) start = 0;

12: } 12:)

13: remoteObjectBusca.funcaoBusca.arguments.inicial=inicio; //redefinimos os valores 13: remoteObjectBusca.funcaoBusca.arguments.inicial = start; / / die Werte

14: remoteObjectBusca.funcaoBusca.arguments.porPag=porPagina; //redefinimos os valores 14: remoteObjectBusca.funcaoBusca.arguments.porPag = porPagina; / / die Werte

15: remoteObjectBusca.funcaoBusca.send(); 15: remoteObjectBusca.funcaoBusca.send ();

16: } 16:)

onde o remoteObject será algo como (amfphp): wo die remoteObject werden wie (AMFPHP):

1: < mx:RemoteObject id =”remoteObjectBusca” destination =”amfphp” source =”servico.class” > 1: <mx: RemoteObject id = "remoteObjectBusca" Ziel = "AMFPHP" source = "servico.class">

2: < mx:method name =”funcaoBusca” result =”{lidaDados(event)}” > 2: <mx: Methode name = "funcaoBusca" result = "(ity (event))">

3: < mx:arguments > 3: <mx: Argumente>

4: < inicial > 4: <initial>

5: {”0″} 5: ( "0")

6: </ inicial > 6: </ start>

7: < porPag > 7: <porPag>

8: {”10″} 8: ( "10")

9: </ porPag > 9: </ porPag>

10: </ mx:arguments > 10: </ mx: Argumente>

11: </ mx:method > 11: </ mx:-Methode>

12: </ mx:RemoteObject > 12: </ mx: RemoteObject>

e onde a função do remote object em php receberá esses parametros e devolverá a matriz de dados (as Object): und wo die Rolle des Remote-Objekt in php erhalten diese Parameter und übergibt das Array mit den Daten (das Objekt):

1: function funcaoBusca($inicial, $porPag) { 1: Funktion funcaoBusca ($ start, $ porPag) (

2: if (!inicial || $inicial==NULL) $inicial=0; 2: if (! Initial | | $ erste == null) $ start = 0;

3: if (!porPag || $porPag==NULL) $porPag=10; 3: if (! PorPag | | $ porPag == null) $ porPag = 10;

4: 4:

5: $con=mysql_connect( “host” , “user” , “pass” ); 5: $ con = mysql_connect ( "host", "user", "pass");

6: $sel=mysql_select_db( “Bdados” ); 6: $ sel = mysql_select_db ( "Bdados");

7: 7:

8: $sql= “SELECT * FROM `tabelaDados` LIMIT “ .$inicial. “, “ .$porPag; 8: $ sql = "SELECT * FROM` tabelaDados "LIMIT." Initial $. "." PorPag $;

9: $res=mysql_query($sql); 9: $ res = mysql_query ($ sql);

10: 10:

11: if ($res) return mysql_fetch_array($res); 11: if ($ res) return mysql_fetch_array ($ res);

12: else return “Error” ; 12: else return "Error";

13: } 13:)

depois só temos que criar no flex a funçâo para ler os dados: dann müssen Sie flex in der Funktion zum Lesen der Daten:

1: [Bindable] 1: [Bindable]

2: public var dadosBusca:Object; 2: öffentliche var dadosBusca: Object;

3: pivate function lidaDados( event :ResultEvent): void { 3: pivate Qualität Funktion (event: ResultEvent): void (

4: if ( event .result== “Error” ) { 4: if (event. Ergebnis == "Error") (

5: //erro ao buscar os dados 5: / / Fehler, um die Daten

6: } 6:)

7: else dadosBusca= event .result as Object; 7: else dadosBusca = Veranstaltung. Das Ergebnis Objekt;

8: // a partir daqui tens os dados acessiveis na variavel dadosBusca 8: / / Von hier aus haben Sie die Daten zugänglich in der Variablen dadosBusca

9: // para acederes a cada elemento usas dadosBusca[linha].campoDaBd; 9: / / für jedes Element, das Sie für den Zugriff auf dadosBusca [online]. CampoDaBd;

10: } 10:)

Nota: Este código da ultima resposta foi elaborado sem ter sido testado, por isso não sei se contem alguns erros.. Hinweis: Dieser Code der letzten Antwort erstellt wurde, ohne dass geprüft worden, und ich weiß nicht, ob enthält einige Fehler .. mas basta testares, não sei se seria bem isto que querias. sondern nur testen, ich weiß nicht, ob es wäre viel Sie wollen.

Bom, acho que consegui explicar tudo.. Nun, ich glaube, ich könnte alles erklären .. dá para perceber? Sie verstehen?

Coloquei as respostas num novo post, já que era uma resposta enorme, e assim pode ajudar mais gente. Ich habe die Antworten in einem neuen Posten als es war eine große Resonanz, und damit helfen können mehr Menschen.

Abraço. Umarmung.

versão pdf temporariamente indisponivel. pdf-Version vorübergehend nicht verfügbar.
Deixe um comentário or Deixe um Trackback Schreibe einen Kommentar oder Schreibe einen Trackback

46 Comentários 46 Kommentare

  1. José Carlos Fonseca Jose Carlos Fonseca
    Abril 17, 2008 às 7:32 pm | Permalink 17. April 2008 bei 7:32 pm | Permalink

    Olá, Hallo,

    Desculpa de só agora responder, mas estive fora por uns tempos em trabalho e só voltei ontém. Sorry für nur reagiert jetzt, aber ich war nicht für eine Weile bei der Arbeit und nur kamen gestern zurück.

    Muito obrigado, pela ajuda. Vielen Dank für Ihre Hilfe. E que rapidez na resposta. Und dass die Geschwindigkeit der Reaktion. Mais uma vez obrigado. Nochmals vielen Dank.

    Na resposta à pergunta 4 (Como adicionas uma foto na BD?), mencionas um link, já estive a analizar o código, mas dá-me sempre “IO ERROR”. In Antwort auf Frage 4 (Hinzufügen eines Fotos in der BD?), Auf einen Link, wurde zu analysieren, den Code, aber es gibt mir immer "IO ERROR". Não sei como usar o upload.php. Ich weiß nicht, wie Sie die upload.php.

    Ajudas-me?? Würden Sie mir helfen?

    Um abraço. Eine Umarmung.

    José Carlos Fonseca Jose Carlos Fonseca
    Fafe - Portugal Georgien - Portugal

  2. Abril 18, 2008 às 6:13 am | Permalink April 18, 2008 bei 6:13 | Permalink

    Em principio o upload.php que dei para download deve funcionar sem qualquer alteração, verifica se os links que fazem referencia ao upload.php estão bem: Am Anfang habe ich upload.php zum Download sollte ohne jede Änderung, gibt es die Links, die auf upload.php sind gut:

    private const _strUploadDomain:String = “http://codycodingcowboy.cahlan.com/”; private const _strUploadDomain: String = "http://codycodingcowboy.cahlan.com/";
    private const _strUploadScript:String = _strUploadDomain “files/upload.php”; private const _strUploadScript: _strUploadDomain String = "Dateien / upload.php";

    e na directoria onde é executado o .php deves ter a directoria myFileDir já que no tal upload.php está: und das Verzeichnis, in dem Sie laufen. php muss das Verzeichnis myFileDir, da in diesem upload.php ist:

    $file_path = $_SERVER['DOCUMENT_ROOT'].”/myFileDir”; $ File_path = $ _SERVER [ 'DOCUMENT_ROOT']."/ myFileDir ";

    se depois destas verificações continuar a dar erro, me indica se fez algumas alterações ao código para poder “investigar” melhor. wenn nach diesen Feststellungen weiterhin Fehler machen, habe ich einige Änderungen gibt an, ob der Code zu "untersuchen" besser. :)

    cumps.

  3. José Carlos Fonseca Jose Carlos Fonseca
    Abril 21, 2008 às 8:37 pm | Permalink April 21, 2008 bei 8:37 pm | Permalink

    Olá Mário, Hallo John,

    De facto não tinha o upload.php no directorio certo e não tinha a directoria. In der Tat war nicht wahr upload.php auf das Verzeichnis und nicht über das Verzeichnis. Depois de resolver isto já não me dá erro. Nachdem Sie lösen es bereits gibt mir kein Fehler. Confirma o upload da imagem e envia para o local. Bestätigt, die das Bild hochladen und sendet sie an die Seite. No entanto a verificação se a imagem já existe não faz. Jedoch die Überprüfung, wenn das Bild nicht bereits vorhanden ist. Vou tentar vêr onde está o problema. Ich werde versuchen, um zu sehen, wo das Problem liegt.

    Na bd guardas o caminho todo da imagem, certo? Bd Wachen in den Weg auf das gesamte Bild aus, oder?

    Agora outra questão, (espero não ser chato!!!). Jetzt eine andere Frage, (hoffentlich nicht langweilig !!!).

    Como mostro 1 registo da bd directamente num textinput sem ser num datagrid? Wie eine Show von bd 1 Eintragung direkt in textinput, ohne dass ein DataGrid?

    Obrigadão pela ajuda. Obrigadão um Hilfe zu erhalten.

    Tens sido fantástico. Sie waren fantastisch.

    Um abraço. Eine Umarmung.

    José Carlos Fonseca Jose Carlos Fonseca
    Fafe - Portugal Georgien - Portugal

  4. Abril 22, 2008 às 5:53 pm | Permalink April 22, 2008 bei 5:53 pm | Permalink

    Sim, na base de dados guardo o caminho da imagem já que são muitas imagens e iria sobrecarregar a base de dados. Ja, in der Datenbank, um zu verfolgen das Bild als viele Bilder und überlasten würde die Datenbank.

    para mostrar um registo directamente na base de dados num campo de texto podes fazer o seguinte, imagina a função seguinte (que recebe dados do remoteObject): zu zeigen, einen Datensatz direkt in der Datenbank in das Textfeld können Sie die folgenden Schritte, vorstellen, die folgende Funktion (die die Daten von remoteObject):
    imagina que o teu remote object devolve (exemplo em php amfphp) vorstellen, dass Ihr Remote-Objekt zurückgibt (Beispiel in php AMFPHP)
    < ?php <? Php

    function dev() { dev-Funktion () (
    //exemplo 1 / / Beispiel 1
    return "Ola"; return "hallo";

    //exemplo 2 / / Beispiel 2
    $dados['nome']="soares"; $ Data [ 'name'] = "Soares";
    $dados['prenome']="joão"; $ Data [ "Vorname"] = "John";
    return $dados; return $ data;

    //exemplo 3 / / Beispiel 3
    $dados['antonio']['nome']="sousa"; $ Data [ "Antonio"] [ 'name'] = "Sousa";
    $dados['antonio']['idade']="19"; $ Data [ 'Antonio'] [ 'Alter'] = "19";
    $dados['pedro']['nome']="lemos"; $ Data [ 'pedro'] [ 'name'] = "lesen";
    $dados['pedro']['idade']="25"; $ Data [ 'pedro'] [ 'Alter'] = "25";

    } )

    ?>
    private function lidaDados(ev:ResultEvent):void { private Funktion Qualität (ev: ResultEvent): void (
    //exemplo 1, recebe apenas uma variavel: / / Beispiel 1, erhält nur eine Variable:
    meucampo.text=ev.result meucampo.text = ev.result

    //exemplo 2, recebe um array de variavels: / / Beispiel 2, erhält ein Array von Variablen:
    meuCampo.text=ev.result.nome; //devolve soares meuCampo.text = ev.result.nome; / / Rückgabe Soares
    meuCampo.text=ev.result.prenome; //devolve joão meuCampo.text = ev.result.prenome; / / liefert uns

    //exemplo 3, recebe uma “matriz” de arrays: / / Beispiel 3, erhält eine "Matrix" von Arrays:
    meuCampo.text=ev.result.antonio.nome; //devolve sousa meuCampo.text = ev.result.antonio.nome; / / Rückgabe Sousa
    meuCampo.text=ev.result.antonio.idade; //devolve 19 meuCampo.text = ev.result.antonio.idade; / / liefert 19
    meuCampo.text=ev.result.joao.nome; //devolve lemos meuCampo.text = ev.result.joao.nome; / / Rückgabe lesen
    meuCampo.text=ev.result.joao.idade; //devolve 25 meuCampo.text = ev.result.joao.idade; / / liefert 25

    } )

    Para facilitar este processo, cria uma variavel bindable: Um diesen Prozess zu erleichtern, schafft eine Variable bindable:

    [Bindable]
    public var DadosRo:Object; var öffentlichen DadosRo: Object;

    e depois na função que recebe os dados do RO, coloca und dann auf die Funktion, dass die Daten von der RO, wirft

    DadosRo=new Object(); DadosRo = new Object ();

    DadosRo = ev.result as Object; DadosRo = ev.result das Objekt;

    ea partir daí os seus dados podem ser acedido a partir dessa variavel em qualquer parte do seu código, e serão actualizados sempre que o remoteObject for chamado. und damit ihre Daten zugegriffen werden kann von dieser Variable in irgendeinem Teil Ihres Codes, und werden aktualisiert, wenn sich die remoteObject gerufen worden ist.

    No exemplo 3: In dem Beispiel 3:
    em vez de meuCampo.text=ev.result.joao.nome; anstelle von meuCampo.text = ev.result.joao.nome;

    poderia usar: könnten:
    meuCampo.text=DadosRo.joao.nome; meuCampo.text = DadosRo.joao.nome;

    Deu pra perceber?? Er gab zu verstehen Sie?

    Abraço. Umarmung.

    Bom, eu não sei se tem seguido a minha série de tutoriais ( http://msdevstudio.com/blog/2008/04/08/adobe-flex-a-partir-do-zero-parte-iv/ ) mas na quarta parte exemplifico um bocado do sistema de comunicação com um backend em php, talvez te possa ajudar a compreender melhor alguns promenores do Flex. Nun, ich weiß nicht, ob Sie haben meine Reihe von Tutorials (http://msdevstudio.com/blog/2008/04/08/adobe-flex-a-partir-do-zero-parte-iv/), aber im vierten Beispiel für einen kleinen Teil der Kommunikation mit einem Backend in php, vielleicht könnten Sie uns helfen, besser zu verstehen, einige promenores Flex.

  5. José Carlos Fonseca Jose Carlos Fonseca
    Abril 23, 2008 às 9:46 pm | Permalink April 23, 2008 bei 9:46 pm | Permalink

    Boas Mário, Gute Mario,

    Simplesmente genial. Einfach brillant. Funcionou direitinho. Es funktioniert.

    Sim!! Ja! Tenho seguido todos os teus tutoriais, estão de mais. Ich habe alle Ihre Tutorials, sind zu viel. Se não fosse você concerteza a aprendizagem do flex iria ser mais demorada. Ist dies nicht der Fall für Sie ist offensichtlich, dass der Studie von flex wäre mehr. Grande ajuda, Obrigado!! Große Hilfe, vielen Dank!

    (lá vem o chato!!!) Outra questão, eu tenho um viewStack onde para cada um item é um component. (es ist das ärgerlich!) Ein weiteres Problem, ich habe eine viewStack, wo jedes Element ist eine Komponente. Estes components são accionados por um botão, acontece que depois de visitar uma vez, na proxima visita não faz o refresh. Diese Komponenten werden durch eine Schaltfläche, die passiert, nachdem Sie einmal besuchen, auf der nächsten Reise nicht aktualisieren.
    É possivel contornar isto? Es ist möglich, um das zu verhindern?

    Se quiseres, podes adicionar o meu email ao messenger. Wenn Sie möchten, können Sie meine E-Mail an den Messenger.

    Mais uma vez obrigado. Nochmals vielen Dank.

    José Carlos Fonseca Jose Carlos Fonseca
    Fafe - Portugal Georgien - Portugal

  6. Abril 25, 2008 às 8:24 pm | Permalink April 25, 2008 bei 8:24 pm | Permalink

    Carlos, desculpa só responder agora.. Carlos, leider nur die Antwort jetzt .. tenho andado um pouco atarefado com trabalo :pe se calhar por isso não percebi bem a sua duvida, se o código não for muito extenso coloque aí..senão tente explicar mais detalhadamente.. Ich war ein wenig beschäftigt mit der Arbeit: z. B. vielleicht nicht so gut verstanden, ihre Zweifel, wenn der Code ist es nicht sehr lange .. aber versuchen zu erklären, weiter .. : P

    um abraço. eine Umarmung.

  7. José Carlos Fonseca Jose Carlos Fonseca
    Abril 30, 2008 às 11:43 pm | Permalink April 30, 2008 bei 11:43 pm | Permalink

    Olá Mário, desde já obrigado pela resposta e não tens que te desculpar. Hallo John, jetzt Dank für bekam keine Antwort und entschuldigen uns, dass Sie.
    EStive a rever o meu código e acho que já descobri o erro. Ich war die Überprüfung mein Code, und ich vermute, entdeckte ich den Fehler.
    No entanto gostaria de te colocar outra questão, estou a tentar fazer algo que irá ter acesso atravéz de login. Allerdings möchte ich Sie bitten, eine andere Frage, Ich versuche, etwas zu tun, die haben Zugang über das Login. Como é que mostro o ecrã1 para o administrador, o ecrã2 para o utilizador, etc. Wie haben die Show ecrã1 an den Administrator, der ecrã2 an den Benutzer, und so weiter. Já tentei, mas acho que ainda estou verde em flex. Ich habe versucht, aber ich glaube, ich bin immer noch im grünen flex.

    Obrigado. Danke.

    Um Abraço. Ein Hug.

    José Carlos Fonseca Jose Carlos Fonseca
    Fafe - Portugal Georgien - Portugal

  8. Maio 1, 2008 às 6:11 am | Permalink Der 1. Mai 2008 bei 6:11 | Permalink

    Bem Carlos, podes fazer isso de 2 maneiras, agora depende da necessidade ou não de usares um backend (php, java, etc..) Carlos Nun, Sie können dies tun, in 2 Wege, jetzt hängt, ob das Tragen eines Backend (PHP, Java, etc. ..)

    Sem Backend. Ohne Backend.
    A solução pode passar por definires uma variavél global, ou seja, declaras a variavél, por exemplo Die Lösung kann passieren, um eine globale Variable, dh, die Vereinbarkeit der Variablen, zum Beispiel
    var admin:Boolean = false; var admin: Boolean = false;
    E depois, basta verificares sempre essa variavel quando é pedido acesso à parte de admin. Und dann, nur überprüfen, ob diese Variable wird angewendet, wenn der Zugang zu einem Teil von admin.

    O ideal será separares a tua aplicação por pelo menos 3 states; Login, Admin, User Im Idealfall, Ihre Bewerbung wird getrennt von mindestens 3 Staaten; Login, Admin, User
    Depois basta fazeres o login, e na funçao que valida o login definires a variavél admin=true; e mudares pro state respectivo, neste caso currentState=”Admin”; ou se for user, admin=false; currentState=”User”; Dann einfach das Zeichen, und die Funktion bestätigt, dass der Login-Set die Variable admin = true, und ändern ihre Pro-Staat, in diesem Fall CurrentState = "Admin", oder wenn der Benutzer, admin = false; CurrentState = "User";

    Outra forma de fazer isso, é usares um backend em php por exemplo, e fazeres uso de sessões, para verificares se o user está identificado como admin ou não… mas assim é um bocado mais extenso, mas se vires que é a melhor forma, diz que eu faço-te um pequeno exemplo. Ein anderer Weg, dies zu tun, Sie tragen ein Backend in PHP zum Beispiel, und die Verwendung von Sitzungen, um zu sehen, ob der Benutzer als Administrator oder nicht ... aber es ist ein bisschen umfangreicher, aber wenn Sie sehen, was ist der beste Weg, sagt ich Ihnen ein kleines Beispiel.

    Seria isso que querias? Es ist das, was Sie wollten?

    Abraço. Umarmung.

  9. José Carlos Fonseca Jose Carlos Fonseca
    Maio 1, 2008 às 10:30 am | Permalink 1. Mai 2008 um 10:30 Uhr | Permalink

    Bom dia Mário, Hallo John,

    De facto o ideal seria criar um backend em php e usar sessões. In der Tat die Idee würde ein Backend in php und mit Sessions. Arranjas-me então um exemplo. Dann erhalten Sie mir ein Beispiel.

    Obrigado. Danke.

    Abraço. Umarmung.

    José Carlos Fonseca Jose Carlos Fonseca
    Fafe - Portugal Georgien - Portugal

  10. José Carlos Fonseca Jose Carlos Fonseca
    Maio 2, 2008 às 8:35 pm | Permalink 2. Mai 2008 bei 8:35 pm | Permalink

    Olá Mário, Hallo John,

    No teu Sistema Imobiliário a caixa de login não é um popup pois não. Immobilien-System in Ihrem Zeichen in das Feld ist nicht ein Popup, da es nicht. Usas-te states?? Sie verwenden die Staaten? Tentei fazer o efeito, mas a caixa não surge desde cima e não consigo fazer o efeito final. Ich habe versucht, dies zu tun, aber das Feld nicht angezeigt wird von oben, und ich kann nicht die endgültige Wirkung.

    Na aplicação que estou a tentar fazer acontece algo do género: Bei der Anwendung, dass ich versuche zu tun, ist so etwas wie:

    - faço o login, entro em vários ecrãs e faço logout sem fechar o browser. - Melde ich mich in, geben Sie auf mehreren Bildschirmen, und ich ohne Schließen des Browsers. Ao fazer login outra vez entra no último ecrã que estive e não no que está programado para aparecer e os efeitos só são feitos na primeira vez. Wenn Sie sich erneut in den letzten Bildschirm und ich war nicht auf, dass geplant ist zu erscheinen und die Auswirkungen sind nur bei der ersten.

    - E se estiver dentro da aplicação e fizer F5(refresh) sai e pede para fazer login. - Und wenn Sie in der Anwendung und machen F5 (Refresh) heraus und fragt sich anmelden.
    Isto é normal? Ist das normal? Dá para contronar. Können Sie contronar.

    Obrigado pela tua ajuda e paciência. Vielen Dank für Ihre Hilfe und Geduld.

    Um abraço. Eine Umarmung.

    Jose Carlos Fonseca Jose Carlos Fonseca
    Fafe - Portugal Georgien - Portugal

  11. Maio 2, 2008 às 9:45 pm | Permalink 2. Mai 2008 bei 9:45 pm | Permalink

    Bem carlos, o efeito inicial é um simples painel, que é criado no topo da aplicação com visibilidade=false; depois do efeito iniciado é mostrado. Carlos Nun, die erste Effekt ist ein einfaches Bedienfeld, das erstellt am oberen Rand der Anwendung mit Sichtbarkeit = false; begann nach dem Ende wird angezeigt.
    O efeito final é um simples mx:Move (como o inicial), ambos com a easingFunction=Elastic (mx.effects.easing.Elastic ) e depois visibility=false; quando o efeito termina (podes saber quando o efeito termina, com um eventListner ao efeito, algo como efeito.addEventListener(EffectEvent.EFFECT_END, funcao_que_esconde_o_panel); Das endgültige Ergebnis ist eine einfache mx: Move (wie das Original), die beide mit der Elastic easingFunction = (mx.effects.easing.Elastic) und dann Sichtbarkeit = false;, sobald der Effekt endet (Sie wissen, wann der Effekt endet mit einem eventListner Ende, so etwas wie efeito.addEventListener (EffectEvent.EFFECT_END, funcao_que_esconde_o_panel);

    na funcao: in der Funktion:
    private function funcao_que_esconde_panel(evt:EffectEvent) { funcao_que_esconde_panel private Funktion (EVT: EffectEvent) (
    painel_login.visibility=false; painel_login.visibility = false;
    efeito.removeEventListner(EffectEvent.EFFECT_END, funcao_que_esconde_o_panel); efeito.removeEventListner (EffectEvent.EFFECT_END, funcao_que_esconde_o_panel);
    } )

    Se fizeres isso com eventos, deves remover os eventListners… Wenn Sie dies tun mit Veranstaltungen, müssen Sie die eventListners ...

    Quando voltas a fazer o login de novo, na função que verifica a validade do login, indica para ele voltar ao state que queres com a indicação. Wenn Runden, um sich erneut anzumelden, die Funktion, prüft die Gültigkeit des Zeichens, es gibt, um wieder auf den Stand Sie möchten. this.currentstate=”StateEntrada”; this.currentstate = "StateEntrada";

    Ao fazeres o F5 é normal isso acontecer, o que podes fazer, é com a tal sessão, verificar isso logo na entrada, no login, e se a sessão for válida ele vai directo ao State desejado, não mostrando o painel de login, já que a sessão é mantida quando carregas no F5. Wann findet der F5 ist normal, dass passiert, was man tun kann, ist mit dieser Sitzung, überprüfen Sie es sofort am Eingang, melden Sie sich an, und wenn die Session gültig ist, wird er direkt der Staat wollte, ohne Anzeichen des Panels, die bereits dass die Sitzung stattfindet, wenn das Laden der F5. Este fim de semana não devo ter muito tempo pra te fazer um exemplo, mas assim que possa eu faço. An diesem Wochenende möchte ich nicht viel Zeit für Sie, um ein Beispiel, aber so, dass ich tun kann.

  12. José Carlos Fonseca Jose Carlos Fonseca
    Maio 11, 2008 às 3:21 pm | Permalink 11. Mai 2008 bei 3:21 pm | Permalink

    Boa tarde Mário, Guten Tag John,

    Podes dar-me uma ajuda? Können Sie mir eine Hand?

    Após inserir em alguns textinputs, queria que os dados surgissem num datagrid sem gravar na BD. Nach der Eingabe in einigen textinputs, wollte die Daten werfen einen Datensatz in DataGrid ohne BD. E gravar na BD, atraves de um botao, gravar tudo o que estiver na mesma DataGrid. Und schreiben Sie an die BD, durch einen Knopf, der Aufnahme alles, was auf der gleichen DataGrid.

    Obrigado. Danke.

  13. Maio 11, 2008 às 6:54 pm | Permalink 11. Mai 2008 bei 6:54 pm | Permalink

    Carlos, o aconselhado é criar um ArrayCollection, e trabalhar todos os seus dados nele, que tanto serve como dataProvider para a dataGrid, bem como para depois o enviar para a base de dados. Carlos, wird empfohlen, um eine ArrayCollection, und arbeiten alle Ihre Daten über sie, dass beide dient DataProvider wie für die DataGrid, und dann an die Datenbank.

    Tenho um exemplo no blog que explica como um arrayCollection pode servir para trabalhar com os dados na base de dados. Ich habe ein Beispiel in der Blog, das erklärt, wie ein arrayCollection können für die Arbeit mit Daten in der Datenbank.

    veja: http://msdevstudio.com/blog/2008/03/25/flex-datagrid-operaes-no-dataprovider/ siehe: http://msdevstudio.com/blog/2008/03/25/flex-datagrid-operaes-no-dataprovider/

    Quanto ao gravar na base de dados, enviar esse arrayCollection como parametro para o remoteObject. Da die Eintragung in der Datenbank, senden Sie bitte, dass arrayCollection als Parameter für die remoteObject.
    Ve o exemplo, se não conseguires fazer, coloca as tuas duvidas Siehe das Beispiel, wenn Sie nicht gelingt, setzen Sie Ihre Zweifel ;)

    Abraço. Umarmung.

  14. José Carlos Fonseca Jose Carlos Fonseca
    Maio 15, 2008 às 6:56 pm | Permalink 15. Mai 2008 bei 6:56 pm | Permalink

    Olá Mario, Hallo Mario,

    já tenho um arrayCollection com os dados. Ich habe eine arrayCollection mit Daten.

    no remoteObject seria assim? Nr. remoteObject wäre davon?

    {dados} (Daten)

    em que “dados” é o meu arrayCollection. wo "Daten" ist mein arrayCollection.

    E no PHP como é que seria para inserir na tabela uma vez que o arrayCollection tem a seguinte estrutura: Und in PHP, wie es wäre, um in der Tabelle, da die arrayCollection ist wie folgt strukturiert:

    dados = ["campo1, campo2, campo3" data = [ "Feld1, Feld2, Field3"
    "campo3, campo4, campo5"] "Field3, campo4, campo5"]

    Obrigado! Danke!

    José Carlos Fonseca Jose Carlos Fonseca
    Fafe - Portugal Georgien - Portugal

  15. Maio 15, 2008 às 9:09 pm | Permalink 15. Mai 2008 bei 9:09 pm | Permalink

    Boas! Gut! :-)
    Ora então, considerando a seguinte funçao no php Aber dann, unter Berücksichtigung der folgenden Funktion in php

    function insere($dados){ Funktion 'insert ($ data) (

    $sql=”INSERT INTO `table` (`campo1`, `campo2`, `campo3`, `campo4`, `campo5`, `campo6`) VALUES (’$dados[0][campo1]‘, ‘$dados[0][campo2]‘, ‘$dados[0][campo3]‘, ‘$dados[1][campo4]‘, ‘$dados[1][campo5]‘, ‘$dados[1][campo6]‘)”; $ SQL = "INSERT INTO` Tabelle `(` Feld1 `,` field2 `,` Field3 `,` campo4 `,` campo5 `,` campo6 `) VALUES ( '$ data [0] [Feld1]', '$ data [0] [field2] ',' $ data [0] [Field3] ',' $ data [1] [campo4] ',' $ data [1] [campo5] ',' $ data [1] [campo6] ') ";

    if(mysql_query($sql)) return “ok”; if (mysql_query ($ sql)) return "ok";
    else return “error :”.mysql_error(); else return "Fehler". mysql_error ();

    } )

    depois basta chamar a funçao no remote object, algo como um metodo assim no dann rufen Sie einfach die Funktion in der Remote-Objekt, so etwas wie eine Methode in gut

    mx:remoteObject …resto…como target, detination..> mx: remoteObject ... ... Rest als Ziel, detination ..>
    mx:method name=”insere” result=”insereRes(event)” > mx: Methode name = "insert" result = "insert (event)">
    mx:arguments> mx: Argumente>
    dados> Daten>
    {dados} (Daten)
    /dados> / Data>
    /mx:arguments> / Mx: Argumente>
    /mx:method> / Mx: Methode>
    /mx:remoteObject> / Mx: remoteObject>

    ps faltam as “< ” no inicio de cada linha, porque para colocar o código tem que ser assim! ps fehlt das "<" am Anfang jeder Zeile, weil, um den Code muss so!

    Isto deve resolver a tua questão… Das sollte lösen Ihre Frage ... :)

    Um arrayCollection é tratado como um array de arrays no php, ou a tipica matriz (grelha de dados) e um simples Array é tratado como array… Ein arrayCollection so behandelt, als ein Array von Arrays in PHP, oder die typischen array (Grid-Daten) und ein einfaches Array Array so behandelt, als ...

    Esperimenta e diz como correu…. Esperimenta und sagen, wie haben ....

  16. José Carlos Fonseca Jose Carlos Fonseca
    Maio 29, 2008 às 2:34 pm | Permalink 29. Mai 2008 bei 2:34 pm | Permalink

    Olá Mário, Hallo John,

    Estive ausente por uns dias por isso é que só agora respondo. Ich war abwesend für ein paar Tage so ist es nur jetzt, dass die Antwort.

    Funcionou impcável! Impcável gearbeitet! Obrigado. Danke.

    Estou a tentar controlar os campos textinput antes de enviar os dados para o datagrid. Ich bin ein textinput versuchen, die Felder vor dem Senden der Daten an das DataGrid. Só me falta um teste que não estou a conseguir. Brauchen nur ein Test, ich bin mir nicht gelingen.

    Verificar se o que inserir no textinput já existe no datagrid. Prüfen Sie, ob das Insert in textinput, dass bereits in DataGrid. Podes dar-me uma ajuda? Können Sie mir eine Hand?

    Obrigado. Danke.

    José Carlos Fonseca Jose Carlos Fonseca
    Fafe - Portugal Georgien - Portugal

  17. Maio 29, 2008 às 2:41 pm | Permalink 29. Mai 2008 bei 2:41 pm | Permalink

    private function existe(texto:String):Boolean { private Funktion existiert (Text: String): Boolean (

    var existeV:Boolean; var existeV: Boolean;

    existeV=false; existeV = false;
    for(var x:int=0; x<meuDataProvider.lenght; x ) { for (var x: int = 0, x <meuDataProvider.lenght; x ) (

    if(String(meuDataProvider[x].campo_a_comparar)==texto) existeV=true; if (String (meuDataProvider [x]. campo_a_comparar) == Text) existeV = true;

    } )
    return existeV; existeV return;
    } )

    para verificar basta usares zu überprüfen, nur Verschleiß
    if(existe(String(meu_text_imput.text))=true) { //existe } if (exists (String (meu_text_imput.text)) = true) (/ / existiert)
    else //não existe. else / / ist nicht vorhanden.

    Nota que não testei, mas deve funcionar sem problemas. Beachten Sie, dass nicht getestet, sollte aber ohne Probleme funktionieren.

    Seria isso? Wäre es?
    Abraço. Umarmung.

  18. José Carlos Fonseca Jose Carlos Fonseca
    Maio 29, 2008 às 3:29 pm | Permalink 29. Mai 2008 bei 3:29 pm | Permalink

    Boas Mário, Gute Mario,

    Perfeito! Perfekt! O meu erro era que não estava a passar para String na condição IF. Mein Fehler war, dass es nicht zu string unter der Bedingung, IF.

    Mais um pedido de ajuda: Eine weitere Anfrage für Hilfe:

    Tenho em tabelas dados hierarquizados, ou seja, equipamentos->marcas->modelos Ich habe hierarchischen Daten in Tabellen, dh Geräte-> Marken-> Modelle
    EX: Monitores -> ELOTouch -> 15 Polgadas EX: Monitore -> EloTouch -> 15 Polgar

    Criar um ecrã para mostrar estes dados o melhor, acho eu, seria atraves de um TreeControl datagrid. Erstellen Sie ein Bildschirm zur Anzeige dieser Daten, desto besser, glaube ich, wäre durch eine TreeControl DataGrid.

    No TreeControl aparecia Monitores -> ELOTouch -> 15 Polgadas e no dataGrid os vários dados do respectivo equipamento(nº de serie, cadastro, data, etc) In TreeControl erschien Monitore -> EloTouch -> 15 Polgar in der DataGrid und die verschiedenen Daten der jeweiligen Ausrüstung (Anzahl der Reihe, Registrierung, Datum, etc.)

    Será muito trabalhoso fazer isto? Es wird sehr schwer zu tun? Por acaso tens algum exemplo por onde eu possa guiar? Durch Zufall haben Sie beispielsweise, wo kann ich fahren? Ainda não encontrei nada na net. Ich habe noch nicht fündig geworden auf dem Netz.

    Obrigado. Danke.

    José Carlos Fonseca Jose Carlos Fonseca
    Fafe - Portugal Georgien - Portugal

  19. Maio 29, 2008 às 3:44 pm | Permalink 29. Mai 2008 bei 3:44 pm | Permalink

    Bem, realmente os exemplos que se vêm são todos em MXML ou XML também por isso nunca trabalhei com as Tree’s, mas olha para este exemplo: Nun, eigentlich die Beispiele, die sind alle in MXML oder XML auch der Grund, warum nie arbeitete mit dem Baum ist, sondern sich mit diesem Beispiel:

    http://blog.flexexamples.com/2007/12/03/using-an-array-as-a-data-provider-in-a-flex-tree-control/ http://blog.flexexamples.com/2007/12/03/using-an-array-as-a-data-provider-in-a-flex-tree-control/

    como dataProvider tem um Array de objectos, isto pode ser recriado em action script e depois só tens que mandar o output do php no mesmo formato, que se já estás a mandar correctamente para o flex, deve servir sem problemas, mas tens que construir os teus dados no php como objectos… als DataProvider hat ein Array von Objekten, kann dies neu in Aktion Skript und dann gerade zum Senden der Ausgabe von php in das gleiche Format, die Sie bereits haben das Recht, flex, muss ohne Probleme, aber Sie haben für den Bau des php in Ihre Daten als Objekte ...

    $array['dados']->nome=campoCategoria; $ Array [ 'Daten'] -> name = campoCategoria;
    $array['dados']->conteudo[0]->valor1=Campo1; $ Array [ 'Daten'] -> Inhalt [0] -> Feld1 = wert1;
    $array['dados']->conteudo[1]->valor2=Campo2; $ Array [ 'Daten'] -> Inhalt [1] -> field2 = wert2;

    mas se eu encontrar algum exemplo eu aviso…. aber wenn ich jede Beispiel merke ich ....

    Abraço. Umarmung.

  20. Maio 29, 2008 às 3:47 pm | Permalink 29. Mai 2008 bei 3:47 pm | Permalink

    Nem de proposito, ve aqui: Nicht zum Zwecke, finden Sie hier:

    http://www.adobe.com/devnet/flex/quickstart/working_with_tree/ http://www.adobe.com/devnet/flex/quickstart/working_with_tree/

    junto ao final da pagina tem a criação de um dataProvider para a tree, basta em php usares a mesma estrutura de dados. in der Nähe des Ende der Website ist die Schaffung eines DataProvider an einen Baum, nur in PHP mit der gleichen Struktur von Daten.

    o código fonte está em: Der Quellcode ist:
    http://www.adobe.com/devnet/flex/quickstart/working_with_tree/src/TreeKeepOpen/index.html http://www.adobe.com/devnet/flex/quickstart/working_with_tree/src/TreeKeepOpen/index.html

    Abraço. Umarmung.

  21. Jos