Eu Ventura 0 Denunciar post Postado Agosto 24, 2009 como somar os valores de cada nó de um xml?? exemplo: xml - <price>2,00</price> flash - for (var i = 0; i<total; i++){ var mc_val =_root.scroller.content_val.check_list.duplicateMovieClip("lista" + i,i,_root); var P$:Number = new Number(xmlNode.childNodes.childNodes[3].firstChild.nodeValue); mostra é um campo dinamico que printa o resultado. mostra = P$ + P$ ; /// Aqui não consigo fazer com que o flash retorne todos os nós somados ele me retorna apenas o ultimo. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Agosto 24, 2009 Puxe os dados todos de uma vez com o mesmo for... So que em vez de colocar em um Number os valores coloque dentro de um array depois some todos os valores Exemplo var myArr:Array = new Array(); var total:Number = new Number(); var xml:XML = new XML(); xml.ignoreWhite = true; xml.load("preços.xml"); xml.onLoad = function(ok){ if(ok){ for(i = 0; i < xml.firstChild.childNodes.length; i++){ myArr[i] = xml.firstChild.childNodes[i].childNodes[3].firstChild.nodeValue; total += parseInt(myArr[i]); } }else{ trace("deu erro"); } }; Acredito que assim deve funcionar Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Eu Ventura 0 Denunciar post Postado Agosto 25, 2009 Opa... berseck... baum demais brother... Seguinte eu fiz deferente saca só como eu fiz... stop(); #include "MC_tween2.as" System.useCodepage = true; var nomeXML:XML = new XML(); nomeXML.load("camisas/malhas.xml"); nomeXML.ignoreWhite = true; nomeXML.onload = function(ok) { if (ok) { xmlNode = this.firstChild; total = xmlNode.childNodes.length; monta_val(); // duplica os mcs e desitribui o valor deles } else { mensagem.text = "Erro ao Carregar o arquivo XML"; nome.text = ""; } }; function monta_val(){ // variaveis do espaçamento var linha:Number = 0; var coluna:Number = 0; var indice:Number = 0; // incrimentando esta váriavel mc_val.indice = indice; indice++ // eliminaod o mc origem da duplicação _root.scroller.content_val.check_list._visible=false; _root.scroller.content_val.check_list.enabled=false; //fazend a duplicação dos mcs for (var i = 0; i<total; i++){ var mc_val =_root.scroller.content_val.check_list.duplicateMovieClip("lista" + i,i,_root); mc_val.codigo.text = (xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue); mc_val.price.text = (xmlNode.childNodes[i].childNodes[3].firstChild.nodeValue);// puxa os preços e mostra eles dentro do mc duplicado var P$:Number = new Number(xmlNode.childNodes[i].childNodes[3].firstChild.nodeValue);// variavel que puxa os preços [color="#9acd32"]if(i != 0){ mostra = Number(mostra) + Number(P$); }else{ mostra = P$; }[/color] chk1 = _root.scroller.content_val.check_list.buy + 1; //chk1 = _root.scrollpane_mc.teste; boxList = new Object(); // click event handler boxList .click = function() { if (chk1.selected) { trace("You have checked the checkbox!"); } else { trace("You have unchecked the checkbox!"); } }; // register the event listener chk1.addEventListener("click", boxList ); Bom minha dúvida agora é a seguinte.... preciso que cada chec box duplicado armazeno um preço do xml daí... quando eu desabilita-lo.. ele irá somar ou subtrari um valorou objeto da tela pra mim.. Entendeu?? Nem eu... Se tu puder me dar uma forçinha. //espaçamento / deslocamento e fileira if (i % 0 == 1 && i != 0) { coluna = 0; linha++; } mc_val._y = coluna * 20; coluna++; } } //configurando o checklist // confirma = _root.scroller.content_val.check_list.buy; // // if( confirma.selected == true){ // // trace("Objeto selecionado"); // // // } Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Agosto 25, 2009 Bom Então o que você quer é somar os valores de um checkbox... Então faça um botão que contenha if e else... que verifique se o botão esta marcado ou não... tem essa opção no checkbox que é o .enable que fica = true ou false Ai com isso você pega o valor do checkbox através da instancia. valorTotal += instancia.value E pronto basta você fazer varios checkbox pegar todas as instancias e somar ao valorTotal Eu colocaria todas as intancias dentro de um array e criaria os checkbox dinamicamente... assim teria uma variavel pelo checkbox que posso dar loop nela em vez de fazer tudo manualmente... ficaria mto mais simples o código e mais rápido. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Eu Ventura 0 Denunciar post Postado Agosto 25, 2009 há.. sim... até entendi o seu raciocinio.. mas te confesso que estou apanhando.. seria pedir demais uma esplicação em código comentado/// daí eu entenderia masi rápido e masi fácil.. isso se não for pedir demais... Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Agosto 25, 2009 Tenta lá fazer amigo ;) Posta o que você tentou fazer caso não consiga Que ai alguem pode ajudar alem de mim :) Pois isso ai não é nenhum bixu de 7 cabeças é um for... que pega valores de checkbox Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Eu Ventura 0 Denunciar post Postado Agosto 29, 2009 Pois.. tentei isso mas não esta dando certo viu. Estou pensanod em usa um arrqy e concatenar o mcheckbox.... para ele.. ir puxando do xml e somando...tipo.. var check = "produto" + check ++; tipo. isto.. estou fritando.. aqui.... achando uma solução vou postar aqui... Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Agosto 29, 2009 Vou lhe dar a deixa heim... Crie um XML assim: <?xml version="1.0" encoding="utf-8"?> <valores> <valor>2.00</valor> <valor>5.00</valor> <valor>18.00</valor> <valor>6.00</valor> <valor>9.38</valor> <valor>15.00</valor> <valor>1.75</valor> <valor>2.40</valor> </valores> Chame esse xml de valores.xml Ai você vai pegar e arrastar dos componentes um checkbox para o palco e um button... Depois pode deletar eles... deixando só na biblioteca ;) E agora vem a mágica: import mx.controls.CheckBox; import mx.controls.Button; var xml:XML = new XML();//O xml xml.ignoreWhite = true; xml.load('valores.xml'); var cn:Array = new Array();//Array responsavel pelos nodes do XML var cb:Array = new Array();//Array responsavel pelos CheckBox var total:Number = new Number(); //Numero responsavel pelo valor total //Crio o campo de texto dinamicamente var texto:TextField = this.createTextField('texto', -2, 100, 50, 50, 20); xml.onLoad = function(ok){ if(ok){ cn = xml.firstChild.childNodes; for(var i = 0; i < cn.length; i++){ cb[i] = _root.createClassObject(CheckBox, 'myCB'+i, i, {_x:20, _y:20*i, label:cn[i].childNodes}); } }else{ trace("erro ao carregar o xml"); } } //Crio o botão dinamicamente var bt:Button = _root.createClassObject(Button, 'mybutton', -1, {_x:100, _y:20, label:'calcula'}); bt.onPress = function(){ total = 0; for(var i = 0; i < cb.length; i++){ if(cb[i].selected == true){ total += parseFloat(cb[i].label); } } texto.text = total.toString(); } E tadã!!! Ta pronto seu calculo :) Não era tão dificil era??? 2 for e algumas variaveis... e ta pronto Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Eu Ventura 0 Denunciar post Postado Agosto 30, 2009 Aí.. você falou...kkkkkkkkkkkkk Naum é tão dificil.. pra quem.. é fera né... o caminho que tu já passou... eu estou passando agora... Valeu.. demias meu brother... Deixa eu te perguntar?? Qual é o segredo.. hein.. eu estudo estudo.. mas esta osso... te confesso que sou um designer.. com vários estudos.. vários conhecimentos técnicos em impressão gráfica, flexografia, offset, ilustrator, corel, freehand, quax express e assim vai... devido à necessidade de nunca achar um bom desenvolvedor web para postar meus layout... acabei tendo que virar desenvolvedor.. e agora estou nesta luta saca... Tu tem alguma dica.. extra pra mim.. nunca masi ter que enxer seu saco.. aqui no forum..kkkkkkkkkkkkkkkkk Desde já um muito obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Agosto 30, 2009 Enxer o saco?? Ninguem que quer saber é enxe saco... Conhecimento vem quando se procura saber... e se pergunta muuuuuuuito. Bom para aprender flash... eu não tive ajuda de ninguem mais... ninguem menos do que todas as dúvidas que foram postadas aqui... e eu ia lendo o help do flash... e tentando fazer o que a pessoa queria... e assim lá ia eu... Confesso que tenho 3 idiomas... inglês, português e espanhol... então não busco informações na internet apenas em português, mas sim em todas as linguas que sei... Grande lugar e fonte de aprendizagem foi o pontoflash... depois o gotoandlearn... iMasters mesmo... E o meu maior amigo chamado HELP do flash Ele tem funções completas que ensinam em como mexer com os componentes etc... Agora php, javascript e asp... aprendi php no www.php.net.... asp no www.w3schools.com e javascript é mto parecido com actionscript então consegui pegar com certa facilidade... quando entendi o principio da coisa... Fora meus colegas de trabalho que me ajudam muito, como Cau Guanabara, que tem o blog dele como www.caugb.com.br e assim vai... dentre outros que me ajudaram no meu percurso ;) Mas o mais importante é... o que da net se aprende na net =) Então é isso ;) Bons estudos pra você e bora continuar na luta Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Eu Ventura 0 Denunciar post Postado Agosto 31, 2009 Baum... valeu demais pela força.. até aqui... creio que podemos.. encerrar este tópico, pois o mesmo ja me ajudou... valeu demais.. e vou salvar o mesmo para estudos posteriores e utilizarei estas referências que me disse, eu sou cadastrado no gotoandlearn.. muito bom por sinal. Bem.. como já disse outras vezes... "SE PRECISAR DE ALGUMA COISA FALA COMIGO". Valeu demaisssssssssss. Compartilhar este post Link para o post Compartilhar em outros sites