Comme vous le savez, SZ4 vient de sortir aujourd'hui. Il reprend les principales fonctionnalités de son prédécesseur
Mais pour Mr JeSuisUnDébutantQuiN'yConnaitRien, ce n'est pas la même histoire. Qu'est ce que c'est que ce truc ? on peut utiliser des stream pour l'acheter ?
Une première chose pour laquelle les nouveaux ne seront pas surpris, contrairement aux utilisateurs quotidiens, c'est la gratuité: En effet, SZ4 et ses successeurs seront désormais entièrement gratuit. ENTIÈREMENT GRATUIT ! (pour ceux qui lisent une phrase sur deux ).
Et c'est partit pour l'exploration ! (ben quoi ? qu'est ce qu'il a mon camouflage ? )
- Débutant ? Consultez le rappel !:
- RAPPEL DE L'INTERFACE (EXTRAIT DU TUTO SUR SZ2012)
Tout d'abord, voyons l'interface en détail:
Cette page est la page de démarrage, elle s'affichera à chaque démarrage de SZ. Dans celle-ci, vous pouvez démarrer rapidement vos projets
récents, ouvrir un projet exemple et consulter les dernières informations concernant les produits de E.B de manière rapide.
D'ailleurs pour la suite du tuto, je vous demanderai d'ouvrir le projet exemple qui se trouve tout en bas de la liste:
(Novice) Utiliser une solution multi-projets
Voyons voir... la première chose la plus rapidement visible qui se présente à vos yeux est cette partie:
Au centre, se trouve une fenêtre (Fenêtre1) dans laquelle ont été insérés des composants.
Un composant est un outil d'interaction avec l'utilisateur: il peut afficher du texte (label), en demander (textbox et richtextbox),
demander un nombre (numericupdown) rendre compte d'une progression (progressbar)... ainsi que de nombreuses autres fonctions.
Cette partie rend donc de l'apparence qu'aura le programme quand on l’exécutera.
Dans la partie supérieure, vous pouvez voir des onglets, en fait ils permettent d'accéder aux différentes fenêtres de votre projet
ainsi qu'aux paramètres du programme. Dans notre exemple, on observe également un onglet intitulé "Classe1.szc", cet onglet-là qui n'a pas
le même icone que celui de la fenêtre est en fait une partie du programme qui ne possède pas d'apparence:
elle permet d’exécuter des fonctions mais pas d'interagir directement avec l'utilisateur.
A gauche de cette fenêtre, se trouve l'emplacement des composants:
Comme son nom l'indique, la boite à outil va vous permettre d'insérer dans votre programme tout les outils dont vous avez besoins .
Pour disposer les composants, ils vous suffit de les faire glisser vers l'emplacement que vous désirez
A droite, vous pouvez modifier le contenu/l'apparence de vos contrôles grâce au propriétés:
(ici j'ai cliqué sur la fenêtre pour avoir ses propriétés)
Sur l'onglet juste à coté se trouve l'organisation de votre projet:
Afin de structurer vos projets, SZ vous permet de créer des solutions qui englobent plusieurs projets.
Dans notre cas, la solution "(Novice) Utiliser une solution multi-projets" englobe 2 projets: "Premier_Projet" qui est une fenêtre et "Second_Projet" qui est une fonction.
Chaque projet possède:- Des paramètres qui vont permettre de rajouter des fonctions, de rajouter des ressources qui seront réutilisables, de modifier la version du programme...
- Des statistiques pour évaluer l'ampleur du projet
- Une fenêtre et des fonctions // des fonctions seules qui constituent le contenu de votre programme
Et n'oublions pas, pour finir la présentation du concepteur de fenêtre de vous montrer le menu du haut:
Le menu accueil pour ouvrir/enregistrer/exporter la fenêtre et le projet
et le menu concepteur de fenêtres si vous êtes fâchés avec le redimensionnement des contrôles
ouille ! mes doigts ! mon cerveau ! et encore, se n'est que le début !
Maintenant, il va falloir associer les composants que l'on a disposé à la fenêtre à des fonctions, par exemple, le clic sur un bouton affiche un message.
Pour cela, 2 possibilités:- Soit on sélectionne un composant et on clique en bas sur: "Lier le contrôle à une fonction"
- Soit on fait clic droit sur le composant puis "Créer un événement"
Bon, dans notre cas l’événement a déjà été créé donc il n'est pas nécessaire de faire cette action, après le clic on obtiens cette fenêtre:
Il suffit alors, en fonction de l’événement qui déclenche notre action (clic, mouvement de souris, touche de clavier) de le sélectionner dans sa catégorie. (on peut s'aider des descriptions jointes à chaque événements).
Bref, en bas (sous le bouton "Lier le contrôle à une fonction"), se trouve 2 onglets, cliquez sur "Éditeur de fonction"
Ici se situe la "machinerie" de votre programme, si vous voulez on peut dire que la fenêtre est le volant
tandis que l'éditeur de fonction est tout les engrenages qui entraînent la rotation de la roue. (Et le mur de 10m de haut avec des morceaux de verres au sommet, juste devant vos roues, représente les erreurs de programmations, mais pour l'instant on n'en n'est pas là )
Tout comme pour les fenêtres (et ce qu'il le différencie de Visual Studio) l'éditeur de fonction fonctionne sur du glisser déplacer:
Une barre entre l'éditeur de fonction et les fenêtres/fonction du projet récapitule les événements pour chaque fenêtres.
[information]notez ici qu'il ne s'agit pas d'un événement, mais d'une fonction exécuté par une autre partie du programme. Cette fonction a été créé grâce à l'icone à gauche de l'onglet "Classe1"[/information]
la boite à outil de droite présente les actions disponibles par catégorie (comme pour les fenêtres):
[information]Remarquez que si vous n'avez pas pris d'édition payante, vous n'avez pas la catégorie Excel, ne soyez donc pas inquiété si elle n’apparaît pas [/information]
(S'est pas joli toutes ses icônes ? )
et chaque actions à des propriétés (qu'on ne peut pas modifier ici):
Ses propriétés sont en fait ce que vous rentrez dans le fenêtre de paramétrage d'action.
[question]Attend attend... parce qu'il y a des fenêtres de paramétrage d'action?[/question]
oui, quand vous faîtes glisser une action sur les petites flèches, une fenêtre s'ouvre pour que vous puissiez paramétrer, modifier l'action.
On n'écrit plus un code, on le construit en donnant des arguments à des actions qui sont ensuite traduites en code.
Et ensuite quand on a finit de construire l'algorithme... on l’exécute ! Pour cela, on utilise le menu du haut, onglet "Projet"
[question]Du coup... on ne peut pas faire d'erreur si le code est écrit par le programme[/question]
Si... à vrai dire dès que l'on laisse l'utilisateur modifier des paramètres on lui laisse la liberté de personnaliser... et de tous faire planter !
S'est là où la petite barre toute discrète du bas va beaucoup nous servir pour contrer ces erreurs, on peut y afficher l'aide d'une action
sans ouvrir sa fenêtre de paramétrage:
on peut aussi (et s'est le plus important) y afficher le résultat du débogage (pour détecter les bugs): j'ai rajouté une action
complètement inadaptée et j’exécute en mode débogage:
le programme affiche la valeur actuelle des variables et m'indique d'ou vient l'erreur et comment la corriger.
Enfin, cette barre permet d'afficher les erreurs de génération, en général vous avez le bandeau du haut + la partie du bas:
mais quand vous voyez cet écran (ce qui est super rare ):
votre projet n'a pas de problème de syntaxe (mais il pourra quand même buger), votre projet est alors près à être distribué ! - Des paramètres qui vont permettre de rajouter des fonctions, de rajouter des ressources qui seront réutilisables, de modifier la version du programme...
A votre tours d'utiliser la bête
[DEBUT DU TUTO SZ2014]
Bon, d'abord redémarrez tout et créez un nouveau projet:
on peut donc créer pas mal de choses: des fenêtres, des consoles, des bibliothèque de fonctions réutilisables (dll)...
voici les différentes possibilités:
Sélectionnez se projet pour créer un bibliothèque de fonction (dll), sa peut être utile si vous voulez créer un nouveau contrôle
ou une nouvelle fonction que vous souhaiteriez réutiliser.
Sélectionnez ce choix là si vous avez besoins de faire surtout du traitement d'information et que vous
avez besoins d'un minimum d'interaction avec l'utilisateur.
Nous, nous allons créer un logiciel avec fenêtre, nous nous intéressons donc à la dernière.
Maintenant, j'ai envie de faire quelque chose de joli*, je vais donc créer une fenêtre krypton
(* disons que s'est plus personnalisable: on peut faire du très beau comme du très moche )
Cliquez ensuite sur suivant:
Vous pouvez ici donner un nom à votre projet et votre solution (voir plus haut pour rappeler ce que sont projet/solution).
Bien, maintenant que le projet est créé, il faut savoir ce que l'on va faire. S'est simple, on va faire ça:
On demande à l'utilisateur un mot de passe pour lequel il a 3 essai
Puis nous allons créer une variable qui va contenir le nombre d'essais actuels. S'est une chose dont je n'ai pas parlé, mais
il faut savoir que les variables sont l'intermédiaire entre les contrôles et les évènements/fonction (voir mon tutoriel sur les variables et leur type, dans ma signature).
Pour créer une variable, on va dans l'onglet projet et on clique sur "Gestionnaire de variable":
On peut rajouter une variable au projet en cliquant sur ajouter
- Nom de la variable: le nom que vous utiliserez pour faire référence à cette variable
- Description: que est censé contenir cette variable (Facultatif)
- Groupe: à quelle groupe appartient t'elle (texte, nombre, couleur...) (Facultatif)
Je crée donc ma variable mot de passe qui va contenir le mot de passe entré par l'utilisateur.
D'abord, Je vais d'abord dire à l'ordinateur combien d'essais je laisse à l'utilisateur. Pour cela, il faut que cette valeur soit définie au chargement de la fenêtre. Cliquez en bas sur l'onglet "Editeur de fonction", vous êtes dans l'onglet Load: celui qui correspond au chargement de la fenêtre (avant que la fenêtre ne s'affiche). Définissons donc cette valeur avec l'action "modifier une variable" onglet "Variables" de l'éditeur d'action:
Mais suis-je bête (ou l'ai je fais exprès :: )... on a aucune variable qui contient le nombre d'essai... pourtant, il n'est pas nécessaire de fermer la page puisque quand on déroule la liste des variables:
Il suffit de cliquer sur la dernière ligne:
Et on accède au gestionnaire de variable qui nous permet de rajouter la variable manquante
On en revient à l'action. Cette action permet donc de MODIFIER la valeur d'une variable, vous remarquez que elle est partagée en 3 partie:
La deuxième partie demande par quoi change t'on la valeur? Dans la capture d'écran, on voit que le logo en forme de pi est sélectionné et que je modifie
la valeur par 3. En fait, ma variable est de type nombre et ce composant permet de dire au programme
que s'est bien une valeur nombre. Il est partagé en 8 icones:
- code VB.NET:
Si vous n'arrivez pas à trouver le type de votre variable, vous pouvez passer par du code.
- texte:
Si vous voulez modifier un texte (System.String a coté du nom de la propriété)
/!\ Un texte peut être un nombre, "64" est un texte et 64 est un nombre en VB.NET
- nombre:
La valeur à modifier est un nombre (System.Int32), vous pouvez même faire directement des opérations ici,
par exemple pour faire la somme de 2 nombres A et B, vous pouvez taper:
%(VARIABLE=A)% + %(VARIABLE=B)%
- booléen
La valeur à modifier est un booléen (System.Boolean), c'est à dire que s'est un état comme blanc/noir, vrai/faux, oui/non...
il n'y a que 2 issues possibles.
- couleur
La valeur à modifier est une couleur (System.Drawing.Color), par exemple la couleur de fond de votre fenêtre ou encore la couleur d'une ligne que
vous avez dessiné à l'écran.
- autre type
Vous souhaitez modifier un type moins courant? S'est ici que sa ce passe: sélectionnez une bibliothèque puis un type précis
choisissez la propriété à modifier et modifiez la/les valeurs.
- variable
Votre variable a le même type que la propriété à modifier et ne nécessite pas de conversion ou d'arrangement
et enfin ressource quand vous souhaitez modifiez la valeur par celle d'une ressource du projet
Après avoir complété et validé, nous avons déjà ceci:
Et retournez dans le concepteur d'interface. On souhaite maintenant que, lors d'un clic, le bouton vérifie/compare la valeur rentré avec le mot de passe.
Un clic de curseur? S'est l'évènement click, accessible avec un clic droit -> créer un nouvel évènement
Bon... nous avons 2 événement. Pour ne pas les confondre, je vais changer leur couleur (facultatif ):
Je cherche à obtenir le texte contenu dans la textbox masqué, j'utilise donc la fonction: obtenir la propriété d'un contrôle:
Vous obtenez cela:
Sélectionnons le contrôle pour lequel on veut récupérer le contenu en haut:
et obtenons le texte qu'il contient:
Bon... on a obtenu la valeur que contenait le maskedtextbox (le mot de passe entré par l'utilisateur ). Mais comment le vérifier?
De même, comment vérifier, par exemple, que le petit frère a vidé le pot de patte à tartiner à lui tout seul ? ::
Dans ce cas là on cherche des indices, des CONDITIONS qui démontrent si s'est vrai ou pas:
Est ce que le petit frère a le tour de la bouche marron ? Si oui, il se peut qu'il se soit colorier le tour de la bouche avec un feutre
Est ce que le petit frère a mal au ventre ? Si oui, ça peut être le chocolat mais aussi n'importe quoi d'autre
Par contre: Est ce que le petit frère a le tour de la bouche marron ET mal au ventre ? Si oui, ben dans ce cas.... ESPÈCE DE SALE PETIT... ::
En programmation s'est la même chose, on utilise la fonction Si...Alors...Sinon (onglet général):
Comme dans l'exemple plus haut, il faut vérifier que 2 conditions sont vraies, on va donc rajouter une condition à vérifier en cliquant sur le + jaune à droite :
La première condition doit être de vérifier le mot de passe, donc il faut que le mot de passe rentré soit comparé au vrai mot de passe, ainsi, on a:
(ok ce n'est pas un mot de passe inviolable )
Validez et cliquez sur la petite icone en bas, à gauche de la case "Editer le code VB"
Vous avez le code vb qui correspond à ce que vous avez rentré
Bon... on vérifie si le mot de passe est le bon. D'accord mais il faut aussi qu'il soit trouvé avant un certain nombre d'essais.
Donc on vérifie qu'il ne reste pas 0 essais... soit: Si nombre d'essai est [différent] de 0
Et pour dire [différent] on utilise... euh... j'men rappel plus
mais l'aide va nous le dire: cliquez sur le point d’interrogation bleu en bas :
On a la réponse, il suffit d'utiliser <> pour dire "différent de":
Validez le tout, on obtient:
Il ne nous reste plus qu'à définir que faire lorsqu'il ne reste plus de tentatives, pour cela, on vérifie que le nombre de tentatives restantes est au moins égal à 0 (ou même inférieur )
Rajouter donc une condition sur la colonne "Sinon" de la condition précédente:
Validez le tout (on ne met qu'une seule condition )
Par contre, nous allons modifier l'une des conditions précédentes: en effet, nous allons comparer le nombre de tentatives restante qui peut devenir négatif, il ne faut donc pas tester uniquement si il est différent de 0 mais si il est inférieur ou égal à 0. Et donc pour que ce soit bon, il faut que le nombre de tentative soit strictement supérieur à 0 ).
Pour modifier une action, on fait clic droit puis modifier l'action:
On sélectionne la condition à modifier et on clique à droite sur le "crayon" pour modifier :
Après modification et validation, vous devez obtenir ceci:
Bon, on a mit les conditions qui déterminent plusieurs cas possibles... il ne manque plus que les actions à faire dans chaque cas
1er cas: le mot de passe est bon avant trois essais, on peut donc afficher un message qui en informe l'utilisateur.
Pour cela, on utilise l'action "Afficher un message". Je vous laisse la paramétrer vu que ce n'est pas très dur
2ème cas: il reste au moins 1 essais et le mot de passe est mauvais, on enlève 1 essais aux nombres d'essais et on en informe l'utilisateur en modifiant le texte de la fenêtre.
cette fonction permet de faire un calcul, ici on enlève 1 au nombres de tentatives restantes. Pour cela, on déroule le menu des variable avec la flèche du coté
et on sélectionne la variable du projet concernée .
On en informe l'utilisateur par la même façon. On peut ainsi combiner un texte "fixe" et un compteur de tentatives dans un même contrôle:
il faut savoir que l'on peut insérer bien d'autres types de variable et même directement des propriétés de contrôle. Ainsi, en une action, je peut afficher le contenu d'un textbox avec:
"Vous avez écrit: %(CONTROL=Me.textBox1.Text)%"
Enfin, le dernier cas est celui où l'utilisateur c'est trompé plus de trois fois, dans ce cas, on l’empêche d’écrire dans le maskedtextbox. Comment? en le désactivant :
Enabled = activé. S'est comme un interrupteur, il y a 2 solutions: allumé, éteins. Ici, on a vrais/faux. Vrais étant égal à activé .
Bon, s'est pas tout ça mais, on aimerait bien avoir un aperçu d’ensemble:
J'ai même mit des notes pour vous expliquez chaque partie
D'ailleurs, vous pouvez faire pareille pour expliquer une partie de vôtre projet/algo... :
1 - Sélectionnez l'action dans laquelle sera placée votre note
2 -
Aller sur la barre de menu, sur l'onglet "Éditeur de fonctions" et cliquez sur "Ajouter une annotation"
3 - Ecrivez votre note
4 - Pour l'afficher en permanence (comme sur ma capture d'écran), cliquez sur la punaise sur le coté en haut à droite, et voila ! :
Il ne reste plus qu'à générer, allez dans l'onglet "Projet" et cliquez sur "Executer" :
Et voila
Ce tuto est finit, vous souhaitez l'approfondir ? Alors allez ici: https://forumvelersoftware.bbactif.com/t1929-tuto-de-a-a-z-les-algorithmes
Merci à lereparateurdepc, Blackorion35, softwarezatorman, fandeonepiece2 et vous tous pour vos encouragements.
A bientôt !
Dernière édition par polien le Sam 13 Déc 2014 - 16:36, édité 6 fois