Créer des boutons en récupérant ses attributs avec requete SQLite
Bonjour à tous, et merci pour votre attention.
Je me lance depuis peu pour un projet à l'action script 3 et au mxml avec le Flex Builder 3.
Je suis entrain d'écrire un scripte pour créer des boutons qui représentent des cours qui seront placés dans un emploi du temps.
Chaque bouton de cours a des propriétés (nom du prof, durée, salle, heure de début et de fin de cours etc.), que sont stockées dans une base de donnée SQLite (que j'ai créé avec le SQLite admnistrator). Je récupère chacune de ses données via des requêtes SQL comme s'est écris dans le code.
Première question : dans mon getResult(), comment fait on pour caster le résultat en int, et en String ? Parce que la je fais des variables SQLResult...
Ainsi pour chaque cours je crée un bouton, comme tout à la fin du code. Deuxième question pour la fonction click du bouton, comment fait on pour que le résultat (qui est une chaîne de caractère de type String) de ce click s'affiche dans un TextArea que j'ai crée en MXML.
Enfin dernière question, comment récupérer les valeurs d'un TextInput dans mon script ? Car il me le faut pour effectuer mes requêtes...
Je sais que ça fait beaucoup...
Merci encore, et si vous avez des remarques sur le code n'hésitez pas...
PS : En gros je voudrais créer des boutons de ce type en MXML :
<mx:Button x="abs" y="ord" label="nom_cours" width="101" height="hauteur" click="result.text= debut_cours+'-'+fin_cours+', '+nom_professeur+', '+salle"/>
Peut on mettre du code MXML dans un script action script ?
Si vous avez des méthodes plus faciles...
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
|
<mx:Script>
<![CDATA[
import mx.core.MXMLObjectAdapter;
//Accede à la base de donnée située sur le bureau
var dataFile:File=new File("C:/.../PT-AbodeAIR.s3db")
//dataFile.nativePath="C:/.../PT-AbodeAIR.s3db";
//Ouvrir la connexion à la base de données
dbConn = new SQLConnection(true);
dbConn.open(dataFile);
//Boucle sur chaque cours présent dans la base
for ( var i:int = 0; i< 5; i++ ) {
var stmt1:SQLStatement = new SQLStatement();
stmt1.sqlConnection = dbConn;
stmt1.text = "SELECT Cours FROM Cours_Semaine WHERE ID="+i;
stmt1.execute();
var nom_cours :SQLResult=stmt1.getResult();
var stmt1:SQLStatement = new SQLStatement();
stmt1.text = "SELECT Debut_Cours FROM Cours_Semaine WHERE Eleve="+nom_elevele+" && ID='"+i;
stmt1.sqlConnection = dbConn;
stmt1.execute();
var debut_cours :SQLResult=stmt1.getResult().data;
var stmt1:SQLStatement = new SQLStatement();
stmt1.text = "SELECT Fin_Cours FROM Cours_Semaine WHERE Eleve="+nom_elevele+" && ID='"+i;
stmt1.sqlConnection = dbConn;
stmt1.execute();
var fin_cours :SQLResult=stmt1.getResult().data;
var stmt1:SQLStatement = new SQLStatement();
stmt1.text = "SELECT Salle FROM Cours_Semaine WHERE Eleve="+nom_elevele+" && ID='"+i;
stmt1.sqlConnection = dbConn;
stmt1.execute();
var salle :Array=stmt1.getResult().data;
var stmt1:SQLStatement = new SQLStatement();
stmt1.text = "SELECT Salle FROM Cours_Semaine WHERE Eleve="+nom_elevele+" && ID='"+i;
stmt1.sqlConnection = dbConn;
stmt1.execute();
var salle :SQLResult=stmt1.getResult().data;
var stmt1:SQLStatement = new SQLStatement();
stmt1.text = "SELECT Professeur FROM Cours_Semaine WHERE Eleve="+nom_elevele+" && ID='"+i;
stmt1.sqlConnection = dbConn;
stmt1.execute();
var professeur :SQLResult=stmt1.getResult().data;
var stmt1:SQLStatement = new SQLStatement();
stmt1.text = "SELECT Jour FROM Cours_Semaine WHERE Eleve="+nom_elevele+" && ID='"+i;
stmt1.sqlConnection = dbConn;
stmt1.execute();
var jour :SQLResult=stmt1.getResult().data;
stmt1.text = "SELECT Duree_Cours FROM Cours_Semaine WHERE Eleve="+nom_elevele+" && ID='"+i;
var stmt1:SQLStatement = new SQLStatement();
stmt1.sqlConnection = dbConn;
stmt1.execute();
var duree_cours :SQLResult=stmt1.getResult().data;
//initialisation des variables
var abs:int;
var duree:int;
//Test pour positionner le boutons
if (jour=="Lundi") abs=66;
//Test pour gérer la hauteur du bouton
if (duree_cours==1) hauteur=20;
if (duree_cours==2) hauteur=40;
if (duree_cours==3) hauteur=60;
if (duree_cours==4) hauteur=80;
//creer :
//<mx:Button x="abs" y="ord" label="nom_cours" width="101" height="hauteur" click="result.text= debut_cours+'-'+fin_cours+', '+nom_professeur+', '+salle"/>
//Création du bouton
//fonction exécutée en réponse à l'événement
function onClic(pEvt:Event):void {
trace("Vous venez de cliquer sur le bouton");
}
// création des textes du bouton
var normal:TextField = new TextField();
var survol:TextField = new TextField();
var clic:TextField = new TextField();
// Le bouton aura pour label le nom_cours
normal.text = survol.text = clic.text = nom_cours;
// Le texte du survol sera de couleur rouge
survol.textColor = 0xFF0000;
// Le texte du clic sera de couleur bleue
clic.textColor = 0x0000FF;
// création de l´instance du bouton
var boutonCours:SimpleButton = new SimpleButton(normal, survol, clic, normal);
boutonCours.label=nom_cours;
boutonCours.height=taille_cours;
boutonCours.width="101";
boutonCours.x=abs;
boutonCours.y=ord;
//affichage du bouton
this.addChild(boutonCours);
boutonCours.addEventListener(MouseEvent.CLICK, onClic);
}
dbConn.close();
]]>
</mx:Script> |