[DB-RS] Problème d'exportation de données

Pour les scripts écrits en Javascript (UnityScript). :!: Obsolète :!:
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
jojolp
Messages : 22
Inscription : 18 Mai 2016 13:39
Localisation : Chalamont

[DB-RS] Problème d'exportation de données

Message par jojolp » 18 Mai 2016 13:54

Bonjour,

je suis actuellement en stage, et je boss sur Unity, le jeu que je crée est build en WebGL
je doit exporter des données dans un fichier,
j'ai essayer avec StreamWriter mais cela ne fonctionne pas car il n'arrive pas a trouver le dossier où je veut enregistré le fichier
voici le code:

Code : Tout sélectionner

function export(){

   var emplacement:String="/test/test.txt";
//nom du fichier
   var sw : StreamWriter =  System.IO.StreamWriter(emplacement);
   print("sauvegarder dans : "+emplacement);
//je parcour les enfants de la liste
for(var i : int=4;i<liste.transform.childCount;i++){
//si ils sont paire alors c'est les numéro d'arbre 
	if(i%2==0){
	//récuperation du fils de la liste
		txt=liste.transform.GetChild(i).GetComponent("Text");
	//ecrit dans le fichier le numéro de l'arbre
		sw.WriteLine("num : "+txt.text);
		Debug.Log(txt.text);
//sinon c'est les diamètres
	}else{
	//récuperation du fils de la liste
		dia=liste.transform.GetChild(i).GetComponent("Text");
		Debug.Log(dia.text);
	//
		sw.WriteLine("diametre : " + dia.text);
	}
    
  }
  
Debug.Log("DataSaved");
sw.Close();
}
comme cela ne fonctionnais pas j'ai donc essayer avec WWW et WWWForm pour pouvoir sauvegarder les données sur le serveur que j'utilise mais j'ai cette erreur la qui arrive "ArgumentException: method return type is incompatible"
voici le code:

Code : Tout sélectionner

var liste :Transform;

function Exportserv (){
var url: String = "monServeur";
var form = new WWWForm();
var txt:UnityEngine.UI.Text;
var dia:UnityEngine.UI.Text;

for(var i : int=4;i<liste.transform.childCount;i++){
//si ils sont paire alors c'est les numéro d'arbre 
	if(i%2==0){
	//récuperation du fils de la liste
		txt=liste.transform.GetChild(i).GetComponent("Text");
	//ecrit dans le fichier le numéro de l'arbre
		form.AddField("num	 : ",txt.text);
		Debug.Log(txt.text);
//sinon c'est les diamètres
	}else{
	//récuperation du fils de la liste
		dia=liste.transform.GetChild(i).GetComponent("Text");
	//	form.AddField("diamètre : ",dia.text);
		Debug.Log(dia.text);
		}
}
		
var www : WWW=new WWW(url);
     
//wait for request to complete
yield www;
 // and check for errors
 if (http://www.error == null) {
 // request completed!

 } else {
  // something wrong!
  Debug.Log("WWW Error: "+ http://www.error);
     }
}
Pouvez-vous m'aider ?

:!: Le forum, comme tout forum, a ses règles. En particulier concernant les sections où poster,
ou encore le bon formatage de votre message (comme l'emploi des balises code).
Merci de lire la Netiquette.
Dernière édition par jojolp le 18 Mai 2016 15:25, édité 1 fois.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6225
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: ArgumentException: method return type is incompatible

Message par boubouk50 » 18 Mai 2016 14:16

Quelle ligne?
var sw : StreamWriter = System.IO.StreamWriter(emplacement);?
Si c'est le cas, c'est que ton chemin n'est pas bon. Tu ne fais ensuite aucun test pour savoir si ça a marché, c'est normal que ça plante.
Va falloir trouver où il va chercher le .txt. Mieux vaut mettre un chemin en entier: Application.persistentDataPath par exemple.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
F@B
Messages : 1844
Inscription : 01 Août 2013 10:41
Contact :

Re: [DB-RS] Problème d'exportation de données

Message par F@B » 18 Mai 2016 23:02

Boubouk je ne suis pas sur qu'un puisse écrire comme ça sur un serveur Web avec le persistentDataPath ou System.IO.StreamWriter.

je dirais que la classe WWWForm et un formulaire php est fait pour ça ? qu'as tu coté serveur ? qu'appelles-tu pour faire ton post ?

elle arrive ou ton erreur ? qu'elle ligne ?
ʕ·͡ᴥ·ʔ ==> Mon Portfolio <== ʕ·͡ᴥ·ʔ

Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6225
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB-RS] Problème d'exportation de données

Message par boubouk50 » 19 Mai 2016 09:20

Effectivement, je n'avais pas imprimé que c'était sur serveur.

Par 2 fois, tu as http://www.error, ce ne serait pas plutôt www.error ? C'est même sûr, d'après la doc!
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

jojolp
Messages : 22
Inscription : 18 Mai 2016 13:39
Localisation : Chalamont

Re: [DB-RS] Problème d'exportation de données

Message par jojolp » 19 Mai 2016 09:41

merci.

Dans mon script j'ai pas le http://www.error j 'ai juste le www.error donc je sais pas pourquoi sur le forum le http:// est apparue.


je ne sais pas a qu'elle ligne apparais l'erreur "ArgumentException: method return type is incompatible" mais elle disparait quand j enlève le WWWForm et le WWW mais si j'y enlève ça n'enregistre pas ce qui est normal.

coté serveur l'url est un http:// mais quand je regarde sur filzilla quand j 'export mes projet c'est du sftp donc je pence que mon problème vien de la.

est-ce qu'il est possible d'enregistrer les données dans un press papier à la place comme sa je peut faire un copier coller après dans un fichier text manuelement ?

Verrouillé

Revenir vers « (Js) Javascript »