Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash
Flash Forum d'entraide sur la technologie Flash (Cours, FAQs, Sources)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/11/2007, 19h58   #1
Invité de passage
 
Inscription : novembre 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 7
Points : 0
Points : 0
Par défaut [FLASH 8] [PUBLICATION] Pb avec composant datagrid

Ayant un relativement faible niveau, cela fait 2 semaines que je travailles sur mon projet. Et la je butte deséspérement sur 3 pbs:

1> J'ai un php qui scan un dossier cible sur le serveur et qui renvoie dynamiquement au XML connecteur, mes variables.
Lors du chargement de la page , la function trigger() marche bien.
Mais dès lors que mon ecouteur d 'upload est oncomplete , je n'arrives pas à la rappeller pour rafraichir ma datadrid.


2> J'ai couplé une source (pour afficher une image à la place de variables), à une fonction de drag 'n drop des cellules.
Malheureusement La gestion du drag me pose encore des soucis:
J'ai résolu partiellement le problèmes du draguage des lignes vides si aucun item n'est séléctionné.
Mais il reste 2 gros bugs:
> Si un item "a" est sélectionné et que l'on drag une ligne vide, un dragItem apparait sur la ligne vide et prend la valeur de la ligne "a".
J'imagine qu'il faut décrire une condition du type ( si la ligne "survolée", est différente de celle "sélectionnée"), mais je bute sur le vocabulaire et je crains d'ailleurs que cela rentre en conflit avec le drag de l'item.

>Lorsque l'on drague un item et que l'on le fait glissez au dessus d'un autre, l'item dragué prends les variables "en fond" de celui survolés. Faire le test sur le site (www.aerolyte.fr/transfert) en le glissant sur la dropzone de téléchargement.
J'ai une idée quant à la source du problème (c'est dans la déclaration du nom du fichier a télécharger => pour l'instant j'ai "selectedfile" en variable cependant j'ai l'impression que les datagrids sont des composants qui affichent une différence entre le survol et la séléction mais qui ne la gère pas. Il semblerait que par défaut le survol d'un item avec le clic gauche enfoncé (la fonction drag) est égale à la séléction de l'item.
N'y aurait-il pas un moyen de les différencier ??

3> Enfin j'ai un dernier soucis concernant l'affichage du nom du fichier dans le browser de telechargement.
Mes items sont constitués de 2 variablespar exemple pour le fichier "truc.gif")
>le nom "truc"
> l'extension "gif"
Or pour télécharger sur un système d'exploitation windaube, il est nécessaire d'indiquer lenom du fichier en entier "truc.gif"
Et je n'arrive pas a dire d'afficher un point "." entre les 2 variables.
download ("...../" + public_grd.selectedfile.nom + le point + public_grd.selectedfile.extension)

Une vrai tête de mûle Flash^^

Je ne te poste pas mon script, afin de ne pas allourdir ce courier, mais toute la source est zipper sur le site et téléchargeable (mettre manuellemnt le point avant zip)
aerolyte est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2007, 16h21   #2
Invité de passage
 
Inscription : novembre 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 7
Points : 0
Points : 0
le pb du drag est résolu en rendant la grille non séléctionnnable, lors du drag.



Cependant je n'arrive pas a réactualiser ma datagrid après l'upload d'un fichier.



voici la partie script correspondant:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
//ajout du gestionnaire à la souris
 
Mouse.addListener(obj);
 
//
 
//
 
var fr:FileReference = new FileReference();
 
var dl:FileReference = new FileReference();
 
var ecouteur:Object = new Object();
 
var ecouteur2:Object = new Object();
 
fr.addListener(ecouteur);
 
dl.addListener(ecouteur2);
 
ecouteur.onSelect = function(file:FileReference):Void  {
 
    file.upload("http://www.aerolyte.fr/transfert/upload.php");
 
    my_pb.visible = true;
 
};
 
ecouteur2.onSelect = function(file:FileReference):Void  {
 
    file.upload("http://www.aerolyte.fr/transfert/upload.php");
 
    my_pb.visible = true;
 
};
 
//L'évènement onProgress est déclenchée lors de l'upload de fichier et renvoie 3 paramêtres dont 2 qui récupèrent l'état du téléchargement en cours
 
ecouteur.onProgress = function(file:FileReference, BytesLoaded:Number, BytesTotal:Number) {
 
    //la méthode setProgress affecte des valeurs à la progressbar à chaque fois que l'upload se met à jour
 
    my_pb.setProgress(BytesLoaded,BytesTotal);
 
};
 
ecouteur2.onProgress = function(file:FileReference, BytesLoaded:Number, BytesTotal:Number) {
 
    my_pb.setProgress(BytesLoaded,BytesTotal);
 
};
 
ecouteur.onComplete = function():Void  {
 
    contact_con.trigger();
 
    my_pb.visible = false;
 
};
 
ecouteur2.onComplete = function():Void  {
 
    my_pb.visible = false;
 
};
 
up_bt.addEventListener("click",this.clickEvent);
 
my_pb.visible = false;
 
///////////////////////////////////////////////////////////////////////
 
// XML connecteur
 
contact_con.trigger();
 
//
 
//
 
function clickEvent() {
 
    if (fr.browse([{description:"Fichiers autorisés", extension:"*.ai;*.pps;*.psd;*.eps;*.ps;*.dwg;*.dxf;*.3ds;*.max;*.bmp;*.gif;*.png;*.tif;*.tiff;*.tga;*.jpeg;*.jpe;*.jpg;*.mp3;*.wave;*.wav;*.mid;*.midi;*.aac;*.wma;*.avi;*.divx;*.mov;*.flv;*.movie;*.wmv;*.mpeg;*.mpe;*.mpg;*.ace;*.zip;*.rar;*.cab;*.hqx;*.pdf;*.stl;*.txt;*.doc;*.rtf;*.ico"}])) {
 
        trace("Bien créé la dialog");
 
    } else {
 
        trace("Erreur de création de dialog");
 
    }
 
}


ainsi qu'a insérer un point "." entre le nom et l'extension



Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
function onStopDrag():Void {
 
    public_grd.selectable = true;
 
    //on teste si le clip 'sensibility" à l'intérieur de notre item volant est dans la zone de la seconde grille
 
    if (dragItem.sensibility.hitTest(zdown)) {
 
        // si oui on lance le download
 
        dl.download("http://www.aerolyte.fr/transfert/dpub/"+public_grd.selectedItem.nom+public_grd.selectedItem.extension);
 
    }
aerolyte est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2007, 03h14   #3
Invité de passage
 
Inscription : novembre 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 7
Points : 0
Points : 0
pb du point"." résolu.
il faut forcer l'affichage de l'extension en rajoutant une deuxième fois l'extension.

Code :
1
2
dl.download("http://www.aerolyte.fr/transfert/dpub/"+public_grd.selectedItem.nom+"."+public_grd.selectedItem.extension+"."+public_grd.selectedItem.extension);
	}

Pourrais-je avoir de l'aide pour rafraichir ma datagrid ?
Pour l'instant pour l'ouverture de la page tout se charge.
mais lors que j'upload, j'aimerais rafraichir ma datagrid, et avec le code ci dessous rien ne se passe!!!
Y-a-til une manip spéciale a faire sur les inspécteurs de composant (xmlconnecteur, dataset)?
Code :
1
2
3
4
ecouteur.onComplete = function():Void  {
	contact_con.trigger();
	my_pb.visible = false;
};
aerolyte est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h04.


 
 
 
 
Partenaires

Hébergement Web