Edmaster 1 Denunciar post Postado Abril 10, 2012 Pessoal sou novo aqui mas andei lendo bastante. Estou com um pequeno problema, estou criando um projeto que contem uma pequena agenda, coisa bem simples e que esta funcionando (achei o codigo dela aqui no iMasters mesmo), vou postar o codigo pra ficar mais facil: stop(); var agenda:SharedObject = SharedObject.getLocal("imasters"); if(agenda.data.contatos == undefined){ agenda.data.contatos = []; agenda.flush(); }; var ctAgenda:Array = agenda.data.contatos; var posicoes:Array = []; function preencheLetras():Void{ var letrasArray:Array = []; var ind:Number = 0; for(var i = 65; i <= 90; i++){ var l:String = String.fromCharCode(i); posicoes[l] = ind; letrasArray.push(l); ind++; }; letras.dataProvider = letrasArray; }; preencheLetras(); nome.restrict = "a-z A-Z"; function getContatos(letra:String):Void{ var _contatos:Array = []; for(var i =ctAgenda.length; i--;){ if(letra.toLowerCase() == ctAgenda.nome.substr(0,1).toLowerCase()){ _contatos.push({label:ctAgenda.nome,data:i}); }; nomes.dataProvider = _contatos; }; if(nomes.dataProvider.length > 0){ nomes.selectedIndex = 0; nomes.changeHandler(); }else{ editar.enabled = remover.enabled = false; }; }; function addContato():Void{ var obj:Object ={}; obj.nome = nome.text; obj.dados = []; obj.dados[0] = email.text; obj.dados[1] = telefone.text; obj.dados[2] = endereco.text; ctAgenda.push(obj); agenda.flush(); letras.selectedIndex = posicoes[nome.text.substr(0,1).toUpperCase()]; letras.changeHandler(); }; function clearCampos():Void{ nome.text = email.text = telefone.text = endereco.text = ""; }; function enabledCampos(ativo:Boolean):Void{ nome.editable = email.editable = telefone.editable = endereco.editable = ativo; }; function setColorText(cor:String):Void{ nome.setStyle("color",cor); email.setStyle("color",cor); telefone.setStyle("color",cor); endereco.setStyle("color",cor); }; function removeSelectedItem(id:Number):Void{ ctAgenda.splice(id,1); agenda.flush(); clearCampos(); letras.changeHandler(); }; function editContato(id:Number):Void{ ctAgenda[id].nome = nome.text; ctAgenda[id].dados[0] = email.text; ctAgenda[id].dados[1] = telefone.text; ctAgenda[id].dados[2] = endereco.text; agenda.flush(); enabledCampos(false); nomes.changeHandler(); editado.enabled = limpar.enabled = false; }; function showContato(id:Number):Void{ nome.text = ctAgenda[id].nome; email.text = ctAgenda[id].dados[0]; telefone.text = ctAgenda[id].dados[1]; endereco.text = ctAgenda[id].dados[2]; enabledCampos(false); }; nomes.changeHandler = function():Void{ setColorText("0x000000"); showContato(this.selectedItem.data); editar.enabled = remover.enabled = true; }; adicionar.clickHandler = function():Void{ enabledCampos(true); clearCampos(); setColorText("0x0000FF"); salvar.enabled = limpar.enabled = true; editado.enabled =false; }; limpar.clickHandler = function():Void{ clearCampos(); }; remover.clickHandler = function():Void{ removeSelectedItem(nomes.selectedItem.data); }; letras.changeHandler = function():Void{ nomes.removeAll(); getContatos(this.selectedItem); }; editar.clickHandler = function():Void{ enabledCampos(true); setColorText("0xFF0000"); editado.enabled = limpar.enabled = true; salvar.enabled = false; }; editado.clickHandler = function():Void{ editContato(nomes.selectedItem.data); this.enabled = false; }; salvar.enabled = limpar.enabled = editado.enabled = editar.enabled = remover.enabled = false; salvar.clickHandler =function():Void{ if(nome.text != ""){ addContato(); this.enabled = limpar.enabled = editado.enabled = false; }; }; enabledCampos(false); letras.changeHandler(); o codigo funciona bem, porem eu gostaria de fazer com que a agenda salvasse os contatos na forma de txt dentro da pasta raiz e que quando ela fosse aberta ela os importasse novamente, seria uma especie de banco de dados muito simplificado, mas para meu projeto seria o suficiente. Alguem pode me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
Daniel o rei 14 Denunciar post Postado Abril 10, 2012 Você pode fazer com o php, Para ler e salvar o txt com as variaveis. E carregar no flash com o flash vars. Ou também carregar usando URLLoader http://php.net/manual/pt_BR/function.fopen.php http://www.php.net/manual/pt_BR/function.fwrite.php http://www.php.net/manual/pt_BR/function.fread.php http://www.php.net/manual/pt_BR/function.fclose.php http://help.adobe.com/pt_BR/FlashPlatform/reference/actionscript/3/flash/net/URLRequest.html http://help.adobe.com/pt_BR/FlashPlatform/reference/actionscript/3/flash/net/URLLoader.html Compartilhar este post Link para o post Compartilhar em outros sites
Edmaster6 0 Denunciar post Postado Abril 11, 2012 Cara obrigado pela resposta, mas tem um problema, como disse eu sou novo no fórum e também em programação, ainda não sei nada sobre php, você teria como me mostrar como ficaria neste código? Compartilhar este post Link para o post Compartilhar em outros sites
Daniel o rei 14 Denunciar post Postado Abril 11, 2012 http://codigofonte.uol.com.br/codigo/php/arquivos/criar,-escrever-e-fechar-um-arquivo-de-texto-%5Btxt%5D Só que você vai ter que usar o fopen com w+ para zerar o txt. Então ficaria mais ou menos assim <?php $texto = $_POST['text']; $fp = fopen("txt.txt", "w+"); fwrite($fp, $texto); fclose($fp); ?> Aqui tem um tutorial ensinando a enviar dados usando post no as3: http://snipplr.com/view/4487/ Para fazer neste código tem que saber quais variaveis carregar... Compartilhar este post Link para o post Compartilhar em outros sites