Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > AS1/AS2
AS1/AS2 Questions relatives à la programmation ActionScript 1 et 2 (Cours AS2)
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 24/07/2006, 04h55   #1
Invité de passage
 
Inscription : novembre 2005
Messages : 5
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 5
Points : 1
Points : 1
Par défaut [FLASH MX2004] [AS2] PrintJob & sendAndLoad

Bonjour à tous,

J'ai testé le PrintJob, ça fonctionne très bien, sauf dans ce que j'aimerais y faire. Je m'explique :

J'ai un tableau en flash avec 13 colonnes, chacunes des colonnes appelent du data à partir d'un fichier ASP avec sendAndLoad. J'ai fait une fonction en ActionScript qui permet de changer de colonnes. Et je dois imprimer la même page à chaque selection d'une colonne. Donc en résumé je sélectionne une colonne, les data sont loader à l'intérieur et j'ajoute une page (addPage) au PrintJob et après que toutes les colonnes je fait un send sur l'objet PrintJob.

Mon problème est que je ne peux pas séparer les méthodes du PrintJob (start, addPage, send) dans plusieurs fonctions, même si je déclare le PrintJob public, car ça ne fonctionne pas.

Est-ce que quelqu'un aurait une idée ??
aspixmedia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2006, 14h33   #2
Invité de passage
 
Inscription : novembre 2005
Messages : 5
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 5
Points : 1
Points : 1
Je suis completement dans le noir ... est-ce quelqu'un pourrait m'aider ??
aspixmedia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2006, 14h31   #3
Invité de passage
 
Inscription : novembre 2005
Messages : 5
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 5
Points : 1
Points : 1
Personne à une idée de comment faire ça .. je ne peux pas croire que dans ce forum que personne peut m'aider ??
aspixmedia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2006, 14h38   #4
Nouveau Membre du Club
 
Inscription : juillet 2006
Messages : 32
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 32
Points : 34
Points : 34
Par défaut Bonjour

ton problème n'a pas l'air d'être très compliqué, esque tu peux le reformuler???
ByRCGF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2006, 15h11   #5
Invité de passage
 
Inscription : novembre 2005
Messages : 5
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 5
Points : 1
Points : 1
Ok j'ai mis une image :



De la façon que j'ai programmé ce rapport, lorsqu'on clique sur un des colonnes jaunes, les chiffres se mettre en ordre décroissant sur la colonne choisie. Les chiffres viennent d'un fichier ASP et d'une BD. Alors à chaque fois que je clique sur une colonne, la requête est demandée au fichier ASP. Mon problème est que si je clique sur le bouton en haut "IMPRESSION RAPPORT COMPLET", je dois imprimer une page avec chacune des colonnes sélectionnées. Donc je fait un printjob qui sélectionne une colonnes, attend que les données soit là et ensuite faire un addPage. Lorsque toutes les colonnes y sont passées (13 colonnes = 13 pages addPage), je fais mon send de mon printjob.

Le pire c'Est que tout fonctionne indépendament. Je fais un printjob avec une page et puis send .. ça fonctionne. Et les routines qui sélectionnent toutes les colonnes fonctionnent aussi. Mais lorsque j'intègre les deux ensemble et que je met mon addPage dans une autre routine, le send ne fonctionne plus car il ne voit pas de pages à imprimer !!!! Et pourtant la déclaration de mon printjob global.

Voici mon code, vous allez voir que j'ai fait beaucoup de tests :

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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
 
function fSelCol(pLequel)
{
	//On garde l'objet pour après impression, repointé sur la bonne colonne
	gObj = pLequel;
	//on crée un objet de la colonne sélectionnée
	gObjStr = pLequel._name.toString()
	//on sauvegarde le numéro de la colonne
	gidColonne = Number(gObjStr.substr(gObjStr.length -2));
	//On change la couleur de la colonne sélectionnée
	fAlpha(pLequel, 100);
	//On va chercher les données dans le ASP
	fASP()
}
 
//Fonction qui va chercher les données dans la BD
function fASP()
{
	iNumPage.text = gPage;
	lv.idRapport = gidRapport;
	lv.idColonne = gidColonne;
	lv.langue = gLangue;
	lv.idType = gTypeRap;
	lv.page = gPage;
	lv.sendAndLoad(gChemin + "rap_equi_back_flash.asp",lv,"POST");
}
 
// Btn impression -- rapport complet ------------------------------
var objPJ:PrintJob = new PrintJob();
var ImpPage=1;
var ImpCol=0;
var Timmer;
var pageCount;
 
function fRapportImpr()
{
	/*
	if(!objPJ)
	{
		pageCount = 0;
		objPJ.start();
	}
	/*
	var xscale=_root._xscale;
	var yscale=_root._yscale;
	_root._xscale=75;
	_root._yscale=75;
	*/
	if(ImpCol<=gMaxCol)
	{
		if(ImpCol.toString().length == 1)
		{
			fSelCol(eval("iBtn0" + ImpCol));
		}else{
			fSelCol(eval("iBtn" + ImpCol));
		}
		StartAndEndPrinting(2);
		ImpCol++;
		pageCount++;
	}else{
		if(gPageMax>1 && ImpPage<=gPageMax)
		{
			ImpCol=0;
			ImpPage++;
			vNumPagePrint = ImpPage;
		}else{
			StartAndEndPrinting(0);
			/*
			clearInterval(Timmer);
			trace(pageCount);
			objPJ.send();
			//delete objPJ;
			trace("######################################")
			*/
		}
	}
	/*_root._xscale=xscale;
	_root._yscale=yscale;*/
};
function StartAndEndPrinting(pStartEnd)
{
	var objPJ = new PrintJob();
	objPJ.start();
	switch(pStartEnd)
	{
		case 1:
			pageCount = 0;
 
			Timmer = setInterval(fRapportImpr, 800);
			break;
		case 0:
			clearInterval(Timmer);
			//trace(pageCount);
			objPJ.send();
			delete objPJ;
			trace("######################################");
			break;
		case 2:
			var xscale=_root._xscale;
			var yscale=_root._yscale;
			_root._xscale=75;
			_root._yscale=75;
			objPJ.addPage(0,"",null,2);
			trace(".............. addPage");
			_root._xscale=xscale;
			_root._yscale=yscale;
			break;
	}
 
}
 
 
iBtnPrintRapport.onRelease = function() {
	gotoAndStop(2);
 
	StartAndEndPrinting(1)
	/*
	pageCount = 0;
	objPJ.start();
 
	Timmer = setInterval(fRapportImpr, 800);
	*/
 
	/*
	var objPJ = new PrintJob();
	objPJ.start();
	var xscale=_root._xscale;
	var yscale=_root._yscale;
	_root._xscale=75;
	_root._yscale=75;
	//objPJ.addPage(0,"",null,2);
	StartAndEndPrinting(2)
	trace("**************************************");
	StartAndEndPrinting(0)
	//objPJ.send();
	delete objPJ;
	_root._xscale=xscale;
	_root._yscale=yscale;
 
 
 
 
 
 
	/*
	for(ImpPage=1;ImpPage<=gPageMax;ImpPage++)
	{
		for(ImpCol=0;ImpCol<=gMaxCol;ImpCol++)
		{
			if(ImpCol.toString().length == 1)
			{
				fSelCol(eval("iBtn0" + ImpCol));
			}else{
				fSelCol(eval("iBtn" + ImpCol));
			}
			trace("ImpPage : " + ImpPage + " - ImpCol : " +ImpCol)
 
			tutu=0;
			for(temp=0;temp<=100000;temp++){tutu+=temp}
			trace(tutu);
 
			objImprRapp.addPage("bframe")
			pageCount++;
		}
	}
	*/
};
J'espère que vous aller pouvoir m'aider, car je ne suis pas un champion en actionscript et j'ai plus de solution actuellement.
aspixmedia 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 11h38.


 
 
 
 
Partenaires

Hébergement Web