Professional Documents
Culture Documents
B4x E D I
Environnement de Dveloppement Intgr
1 B4x ............................................................................................................................................... 5
2 EDI en gnral.............................................................................................................................. 6
3 Menu et barre doutils .................................................................................................................. 7
3.1 Barre doutils ........................................................................................................................ 7
3.2 Menu Fichier ........................................................................................................................ 8
3.3 Menu Edition........................................................................................................................ 8
3.4 Menu Projet .......................................................................................................................... 9
3.4.1 Ajouter un nouveau module ........................................................................................... 10
3.5 Menu outils ........................................................................................................................ 11
3.5.1 Options de lditeur EDI ................................................................................................ 12
3.5.1.1 Langue .................................................................................................................... 13
3.5.1.2 Thmes ................................................................................................................... 14
3.5.1.3 Slecteur de police ................................................................................................. 15
3.5.1.3.1 Saut la ligne ................................................................................................... 15
3.5.1.4 Configurer le Timeout ............................................................................................ 15
3.5.1.5 Dsactiver Compltion automatique implicite ....................................................... 15
3.5.2 Capture dcran seulement B4A ................................................................................ 16
3.5.3 Capture de vido seulement B4A ................................................................................. 17
3.5.4 Nettoyer le dossier de fichiers (fichiers inutiles) ........................................................... 18
3.5.5 Nettoyer le projet............................................................................................................ 18
3.6 Menu clic droit ................................................................................................................... 19
3.7 Mode de compilation.......................................................................................................... 20
3.7.1 B4A et B4J ..................................................................................................................... 21
3.7.1.1 Modes Release et (obfuscated) dans B4A et B4J................................................... 21
3.7.2 B4i .................................................................................................................................. 22
3.7.3 B4R ................................................................................................................................ 22
4 Zone code ................................................................................................................................... 23
4.1 Diviser la zone code ........................................................................................................... 23
4.2 Taille du texte de lEDI ...................................................................................................... 24
4.3 Enttes de code Project Attributes / Activity Attributes ................................................... 25
4.3.1 B4A ................................................................................................................................ 25
4.3.1.1 Project Attributes attributs projet .......................................................................... 25
4.3.1.2 Activity Attributes attributs Activity .................................................................... 25
4.3.1.3 Service Attributes attributs service ....................................................................... 26
4.3.2 B4i .................................................................................................................................. 27
4.3.3 B4J ................................................................................................................................. 27
4.3.4 B4R ................................................................................................................................ 27
4.4 Annuler Refaire .................................................................................................. 28
4.5 Rduire une routine ............................................................................................................ 28
4.6 Rduire une Rgion ............................................................................................................ 29
4.7 Rduire tout le code en entier............................................................................................. 30
4.8 Basculer les contours Ctrl + 0 .......................................................................................... 31
4.9 Copier un texte slectionn ................................................................................................ 32
4.10 Dplacer ligne(s) Haut / Bas Alt + Up / Alt + Down ........................................................ 32
4.11 Rechercher / Remplacer ..................................................................................................... 33
4.12 Commenter et dcommenter du code .................................................................... 34
4.13 Signets .......................................................................................................................... 35
4.14 Indentation ............................................................................................................. 36
4.15 Format automatique ........................................................................................................... 38
4.16 Documentation en passant au-dessus dlments de code ................................................. 39
4.17 Compltion automatique .................................................................................................... 40
4.18 Documentation intgre ..................................................................................................... 44
Table des matires 3 B4x EDI
Pour chercher un mot ou une phrase particulire veuillez utiliser la fonction Rechercher dans
le menu Edition.
Les codes source avec tous les fichiers ncessaires (layouts, images etc.) de tous les projets exemple
dans ce guide figurant dans le dossier CodeSource.
1 B4x
B4x est une suite de langages de programmation BASIC pour diffrentes plateformes.
B4A Android
B4A inclut toutes les fonctionnalits pour dvelopper rapidement nimporte quel type
dapplication pour Android.
B4i iOS
B4i est un outil de dveloppement pour des applications natives pour iOS.
B4i suit les mmes concepts que B4A, et vous permet de rutiliser la plupart du code et
produire des applications pour les deux systmes dexploitation Android et iOS.
B4J est un outil de dveloppement, 100% gratuit, pour des applications desktop, serveurs
et lInternet des Objets (en anglais Internet of Things IoT).
Avec B4J vous pouvez facilement crer des applications desktop avec interface utilisateur,
des applications de console (sans interface utilisateur) et des solutions serveur.
Les applications compiles peuvent fonctionner sur Windows, Mac, Linux et des cartes
ARM (comme Raspberry Pi).
B4R est un outil de dveloppement, 100% gratuit, pour des applications natives pour des
microcontrleurs Arduino et ESP8266.
B4R suit les mmes concepts que les autres outils B4x, fournissant un outil de
dveloppement simple et puissant.
B4R, B4A, B4J et B4i ensemble, constituent la meilleure solution de dveloppement pour
lInternet des Objets (en anglais Internet of Things IoT).
2 EDI en gnral 6 B4x EDI
2 EDI en gnral
LEnvironnement de Dveloppement Intgr.
Lorsque vous lancez lEDI vous aurez une image similaire celle-ci-dessous.
Les 5 fonctions ci-dessous ne sont actives que lorsque le dbogage est actif
Entrer [F8].
Sauter [F9].
Sortir [F10]. .
Stop
Redmarrer [F11].
B4A
Renomme le module
Supprime le module courant
B4i, B4R
Renomme le module
Supprime le module courant
Construit la configuration.
B4J
Renomme le module
Supprime le module courant
Construit la configuration.
B4A
Module Activity
Module de classe
Module de code
Module Service
B4i, B4J
Module de classe
Module de code
B4R
Seulement module de
code
3 Menu et barre doutils 11 B4x EDI
B4A B4i
B4R B4J
B4A
Tous
Langue.
Thmes.
Slecteur de polices.
Sauvegarde automatique Sauvegarde le programme chaque fois que vous le compilez.
Effacer Logs lors du dploiement Supprime tous les Log lors de la compilation en mode Release.
Dsactiver Compltion automatique implicite.
Format automatique durant copie
Seulement B4A
Utiliser Legacy Debugger Utiliser le Legacy Debugger au lieu du dbogueur rapide.
Auto dtection de dispositifs Dtecte automatiquement des dispositifs connects.
3 Menu et barre doutils 13 B4x EDI
3.5.1.1 Langue
Vous pouvez choisir la langue pour lEDI, dans le menu Outils / Options
3.5.1.2 Thmes
Lorsque vous en
slectionnez un, vous
voyez immdiatement les
nouvelles couleurs.
3 Menu et barre doutils 15 B4x EDI
Diffrentes polices.
La taille du texte.
Saut la ligne.
Taille de la tabulation.
Avec saut la ligne. La fin de la ligne est affiche dans la ligne suivante.
Si
nest pas coch, une liste droulante avec les
mots possibles sera affiche durant lcriture.
Note : Cette fonction ne fonctionne quavec une connexion par USB, pas avec B4A-Bridge !
Un clic sur
affiche la fentre ci-dessous.
Note : Cette fonction ne fonctionne quavec une connexion par USB, pas avec B4A-Bridge !
Cliquez sur
pour dmarrer
lenregistrement.
Cliquez sur
pour arrter
lenregistrement.
Le programme vous
demandera o enregistrer
le fichier sur votre
ordinateur.
3 Menu et barre doutils 18 B4x EDI
Efface, dans le dossier Files du projet, tous les fichiers qui ne sont pas utiliss dans le projet (les
fichiers rfrencs dans les layouts ne sont pas effacs). Une liste avec tous les fichiers non utiliss
sera affiche avant lopration (vous pouvez toujours abandonner lopration).
Si vous cliquez, dans la zone de code, avec le bouton droit de la souris, le menu contextuel ci-
dessous sera affich.
Couper
Supprimer la ligne
Dupliquer la ligne
Copier
Coller
Dfaire
Refaire
Chercher
Trouver toutes les rfrences
Dplacer ligne(s) Haut
Dplacer ligne(s) Bas
Basculer les Contours
Commenter le bloc
Dcommenter le bloc
Format automatique
Aller vers identificateur
Basculer les signets
Signet suivant
Signet prcdent
Effacer signets
Slecteur de couleur
Slecteur dicnes Pas dans B4R.
3 Menu et barre doutils 20 B4x EDI
Modes de compilation :
Debug
Release
Release (obfuscated)
Pendant la compilation, B4A gnre du code Java qui est, ensuite, compil avec le compilateur Java
et converti en Dalvik (code au format Android).
Il existe des outils permettant de dcompiler du code Dalvik en code Java.
Lobjectif de lobfuscation (obscurcissement) est de rendre le code dcompil mois lisible, plus
difficile comprendre et plus difficile den extraire du texte tel les cls de comptes dveloppeur.
Conseil : Si pour une raison quelconque vous voulez viter lobscurcissement pour un identifiant,
ajoutez un caractre de soulignage dans le nom.
Un fichier nomm ObfuscatorMap.txt est cr dans le dossier Objets. Ce fichier Map fait
correspondre les noms des identifiants ceux obscurcis. Cette correspondance peut tre utile pour
lanalyse de rapports de plantages.
3 Menu et barre doutils 22 B4x EDI
3.7.2 B4i
3.7.3 B4R
4 Zone code
Le code pour le module slectionn est affich dans cette zone et peut tre dit.
Les exemples ci-dessous sont bass sur le projet MonPremierProgramme du livret Premiers Pas.
Il est possible de diviser la zone code en deux parties permettant dditer deux parties diffrentes du
code en mme temps.
Et le rsultat.
4 Zone code 24 B4x EDI
La taille du texte dans lditeur peut tre choisie avec le Slecteur de police ou directement dans
lEDI :
Un entte de code, avec des rglages gnraux, est ajout au dbut du code.
4.3.1 B4A
Lorsque vous ajoutez un nouveau module Activity vous trouvez ces attributs au dbut du code.
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Lorsque vous voulez ajouter un nouvel attribut vous pouvez simplement crire # et laide en ligne
vous montre toutes les possibilits.
Attributs.
Si vous chargez un programme enregistr avec une version de B4A plus ancienne que 2.5, lentte
ressemblera ceci :
4.3.2 B4i
Seulement les attributs ci-dessous. Aucun autre attribut dans les modules.
'Code module
#Region Project Attributes
#ApplicationLabel: B4i Example
#Version: 1.0.0
'Orientation possible values: Portrait, LandscapeLeft, LandscapeRight and
PortraitUpsideDown
#iPhoneOrientations: Portrait, LandscapeLeft, LandscapeRight
#iPadOrientations: Portrait, LandscapeLeft, LandscapeRight, PortraitUpsideDown
#Target: iPhone, iPad
#ATSEnabled: True
#MinVersion: 7
#End Region
4.3.3 B4J
Seulement les deux attributs ci-dessous. Aucun autre attribut dans les modules.
4.3.4 B4R
Seulement les attributs ci-dessous. Aucun autre attribut dans les modules.
Dans lEDI il est possible dannuler des oprations et refaire des oprations annules.
Cliquez sur pour annuler et sur pour refaire.
Vous pouvez dfinir des Rgions dans votre code qui peuvent tre rduites.
Exemple :
Ensuite, vous pouvez ajouter des routines entre les deux limites.
Montre le code. Pour les grandes rgions tout le code nest pas affich.
4 Zone code 30 B4x EDI
Dans le menu
dition / Contours
il y trois fonctions :
- Basculer tout
tend les routines et
rgions rduites et
rduit les routines et
rgions tendues.
- tendre tout
tend tout le code.
- Rduire tout
Rduit tout le code.
Cliquez sur
.
Exemple :
Sub btnAction_Click
If btnAction.Text = "O K" Then
If edtResultat.Text = "" Then
lblCommentaire.Text = "Pas de rsultat!" & CRLF & "Entrez le rsultat" & CRLF & "et
cliquez sur OK."
Else
TestResultat
End If
Else
NouveauProbleme
btnAction.Text = "O K"
End If
End Sub
Et le rsultat.
Il est possible de copier un bloc de texte vers le presse-papiers, pas seulement des lignes entires.
Vous pouvez dplacer des lignes slectionnes vers le haut ou vers le bas.
Soit avec Alt + Up ou Alt + Down.
Ou cliquez avec le bouton droit de la souris pour afficher le menu contextuel puis cliquez sur
ou .
4 Zone code 33 B4x EDI
Code original.
Slectionnez le code.
4.13 Signets
Vous pouvez activer des signets nimporte o dans le code et naviguer en avant ou en arrire entre
ces signets.
Pour activer ou effacer un signet, slectionnez la ligne puis pressez sur Alt + B.
Vous verrez cette marque dans le bord gauche de la ligne et une petite ligne noire dans
lascenseur droite :
Pour effacer tous les signets, un clic droit puis un clic sur
4 Zone code 36 B4x EDI
4.14 Indentation
Une bonne pratique est dindenter des portions de code pour une lecture plus facile.
B4x le fait dailleurs automatiquement.
Des blocs entiers peuvent tre indents en avant ou en arrire en une fois.
Code original.
Cliquez sur .
La valeur de la tabulation pour lindentation peut tre change dans le slecteur de police dans le
menu Outils / Slecteur de police.
Slectionnez le code.
Et cliquez sur
ou pressez Alt + F.
Et le rsultat.
La grandeur de la tabulation
dpend de vos rglages, voir
page prcdente.
4 Zone code 39 B4x EDI
Lorsque vous passez avec la souris au-dessus dun lment de code, laide en ligne sera affiche.
Exemples :
crivons lblN.
Pour choisir lblNumber2 double cliquez sur ou pressez la flche vers le bas et pressez
Entre.
Exemples :
For / Next
crivez Fo.
Pressez Entre.
If / Then
crivez if.
Pressez Entre.
Le meilleur moyen pour apprendre ces fonctions est de jouer avec elles.
4 Zone code 42 B4x EDI
Une autre fonction de compltion automatique vous permet de crer des routines dvnement.
Dans lexemple ci-dessous nous voulons crer la routine dvnement pour un bouton bntOK.
crivez Pr et laide propose les mots cl qui contiennent les deux lettres Pr.
Remplacez 'EventName' par le nom de lvnement pour le Button, dans notre exemple btnOK.
cvsLayer.DrawLine(x - d, y, x + d, y, Color, 1)
cvsLayer.DrawLine(x, y - d, x, y + d, Color, 1)
End Sub
cvsLayer.DrawLine(x - d, y, x + d, y, Color, 1)
cvsLayer.DrawLine(x, y - d, x, y + d, Color, 1)
End Sub
En passant avec la souris au-dessus de (copy), qui passe en rouge, vous pouvez copier lexemple de
code dans le presse-papiers en cliquant sur (copy).
Supprimez Dess
Et copiez le presse-papiers.
4 Zone code 46 B4x EDI
Quelque fois il est utile de pouvoir sauter depuis un appel une routine vers sa dfinition.
Ceci se fait facilement :
Et cliquez.
Et vous y tes.
Slectionnez le texte de
lappel la routine.
Cliquez sur.
Et vous y tes.
4 Zone code 47 B4x EDI
Lorsque vous slectionnez un mot, il est mis en vidence par une couleur bleu fonc et toutes les
autres occurrences de ce mot sont mises en vidence par une couleur bleu clair et ct de
lascenseur droite de petites lignes bleu clair sont affiches.
Vous pouvez vous dplacer dans le code avec lascenseur vers les autres occurrences du mot
slectionn.
4 Zone code 48 B4x EDI
Cliquez dans la marge gauche dune ligne pour ajouter un point. Lors de lexcution du programme
celui-ci sarrte au premier point darrt.
Des points darrt dans les routines Globals, Process_Globals et Activity_Pause sont ignors.
Lancez le programme, il sarrte sur le point darrt et lditeur ressemble limage ci-dessous. La
ligne dans laquelle le programme sarrte et mise en vidence par une couleur jaune.
Dans la partie droite du dbogueur nous trouvons une liste dobjets et de variables avec leurs
valeurs.
Dans la barre doutils, sur le haut de lditeur, les boutons de navigations sont activs.
Vous pouvez :
Dplacer le curseur dans les zones carre et rectangulaire.
Entrer directement les valeurs A R G B
A = Alpha, R = Rouge, G = Vert, B = Bleu
Copier la valeur dans le presse-papiers.
lblResult.Text = Chr(0xE632)
Vous verrez rgulirement des lignes verticales jaunes ou vertes dans la marge gauche de lditeur.
Ds que vous ajoutez ou modifiez une ligne, celle-ci sera marque en jaune juste ct de numro
de la ligne et signifie que cette ligne a t modifie.
Si nous cliquons sur pour enregistrer le projet, les lignes jaunes passent en vert indiquant que le
code a t modifi mais dj enregistr. Vous pouvez aussi presser Ctrl + S pour enregistrer le
projet.
Lorsque nous quittons lditeur et chargeons le programme nouveau les lignes vertes
disparaissent.
4 Zone code 53 B4x EDI
Des URLs dans des commentaires ou des objets String peuvent tre excuts avec Ctrl et un clic.
Dans un commentaire :
Si le curseur se trouve sur la ligne et que vous pressez Ctrl lurl est mis en vidence en bleu et si
vous cliquez sur lurl il sera excut. Passer avec le curseur au-dessus dun url tout en maintenant la
touche Ctrl presse, lurl sera aussi mise en vidence en bleu.
Le curseur doit se trouver au-dessus de la variable de lobjet String et non sur le texte.
5 Onglets 54 B4x EDI
5 Onglets
Il y 6 onglets dans le coin infrieur droit de lEDI affichant diffrentes fentres.
La version courte.
La version longue.
B4R
Lorsque vous lancez lEDI dorigine, toutes le fentres donglet sont amarrs dans la zone onglets.
5.2 Flottante
La fentre Modules est maintenant flottante, vous pouvez la placer nimporte o sur lcran mme
sur un deuxime cran.
Vous pouvez aussi cliquer sur longlet et le dplacer tout en maintenant la touche de la souris
enfonce.
Zones damarrage :
En haut
A gauche
A droite
En bas
5 Onglets 58 B4x EDI
Lorsque vous dplacez la souris sur un des symboles de zone damarrage la fentre se trouvera soit
en haut, gauche, droite ou en bas.
Et le rsultat.
Pour replacer la fentre sa position dorigine, cliquez sur le titre de la fentre et dplacez la vers
les onglets.
5 Onglets 59 B4x EDI
Ds que vous cliquez sur quelque chose dans la zone code le fentre ongle sera nouveau cache.
5 Onglets 60 B4x EDI
5.4 Fermer
Tous les modules du projet et toutes les routines du module actif sont affichs dans la fentre de
longlet Modules. La hauteur de limage ci-dessous a t rduite.
La fonction Trouver la procdure / module / numro de ligne est un moteur de recherche, sur le
haut de la fentre de longlet Modules, pour trouver des procdures ou des modules avec un nom ou
une partie de nom donn.
Vous pouvez presser Ctrl + E dans le code pour slectionner longlet Modules avec la fonction
Trouver la procdure / module / numro de ligne.
Montre tous les modules et Montre tous les modules et Montre tous les modules et
routines du Module actif. routines contenant a. routines contenant act.
Cliquez sur un des lments dans la liste pour afficher son code.
Cette fentre affiche tous les fichiers qui ont t ajouts au projet.
Ces fichiers sont enregistrs dans le dossier Files du projet.
Ces fichiers peuvent tre de nimporte quel type : layouts, images, textes, etc.
Assurez-vous davoir une copie des fichiers que vous supprimez, car ils sont supprims du
dossier Files mais pas transfrs dans la corbeille, ce qui veut dire quils sont dfinitivement
perdus sans copie.
5 Onglets 65 B4x EDI
Dans le haut du Gestionnaire de fichier vous pouvez filtrer la liste des fichiers.
5.7 Logs
La fentre onglet Logs affiche des commentaires gnrs par le programme durant son excution.
Dans le projet MonPremierProgramme, nous ajoutons deux lignes dans la routine Nouveau.
Les numros des lignes peuvent diffrer des vtres.
Lancez le programme.
Cliquez sur si ncessaire pour
connecter lenregistreur (logger).
B4x contient un moteur davertissement. L'objectif du moteur d'avertissement est de trouver des
erreurs de programmation potentielles le plus tt possible.
Les exemples utilisent le projet Avertissements.
Les avertissements de compilation sont affichs dans le haut de le fentre Logs et dans le code
lorsquun passe au-dessus de la ligne de code avec le curseur.
Les lignes de code gnrant un avertissement sont soulignes .
Cliquez sur la ligne davertissement pour afficher la ligne de code concerne au milieu de lditeur.
En tant que dveloppeur, vous pouvez choisir dignorer des avertissements. Ajoutez un
commentaire ignore sur la ligne pour ignorer lavertissement :
Vous pouvez aussi ignorer tous les avertissements dun type donn en ajoutant lattribut
#IgnoreWarnings: dans la rgion des attributs du module concern.
Vous trouvez les numros des avertissements la fin de chaque ligne davertissement.
5 Onglets 69 B4x EDI
End Select
End Sub
Autre exemple :
Mauvais code.
Sub Activity_KeyPress(KeyCode As Int) As Boolean
Private Answ As Int
Private Txt As String
Code correct.
Sub Activity_KeyPress(KeyCode As Int) As Boolean
Private Answ As Int
Private Txt As String
Mauvais code.
Sub Calc(Val1 As Double, Val2 As Double, Operation As String)
Code correct.
Sub Calc(Val1 As Double, Val2 As Double, Operation As String) As Double
Le type de renvoi doit tre spcifi !
Mauvais code.
Sub CalcSum(Val1 As Double, Val2 As Double) As Double
Private Sum As Double
Code correct.
Sub CalcSum(Val1 As Double, Val2 As Double) As Double
Private Sum As Double
Mauvais code.
Sub Calc(Val1, Val2 As Double, Operation As String) As Double
Code correct.
Sub Calc(Val1 As Double, Val2 As Double, Operation As String) As Double
Dans les dclarations de routines, chaque variable doit avoir sa propre dclaration de type.
Dans les dclarations utilisant les mots cl Private, Public ou Dim cest autoris.
Dans la ligne ci-dessous, les deux variables sont du type Double :
Private Val1, Val2 As Double
Mauvais code.
Activity.AddView(lblTest, 10, 10, 150, 50)
Code correct.
Activity.AddView(lblTest, 10dip, 10dip, 150dip, 50dip)
Dans lexemple ci-dessus vous aurez quatre avertissements, un pour chaque valeur.
Pour les dimensions de Views vous devez utiliser des valeurs dip, %x ou %y.
Mauvais code.
Sub SetHeight
h = 10dip
End Sub
Code correct.
Sub SetHeight
Private h As Int
h = 10dip
End Sub
La variable h na pas t dclare. Vous le voyez aussi sa couleur rouge.
Sub Test
Private h As Int
End Sub
Cet avertissement indique que la variable h est dclare, mais quaucune valeur ne lui a t
attribue.
Code correct, voir ci-dessus.
Mauvais code.
Private lst As List
lst.Add("Test1")
Code correct.
Private lst As List
lst.Initialize
lst.Add("Test1")
Des objets tel List ou Map doivent tre initialises avant de pouvoir les utiliser.
Les Views ajoutes dans le code doivent aussi tre initialises avant de pouvoir tre ajoutes leurs
objets parent.
5 Onglets 74 B4x EDI
Cet avertissement est affich si une routine nest utilise nulle part.
Mauvais code.
Sub Globals
Public Timer1 As Timer
Public GPS1 As GPS
Code correct.
Sub Process_Globals
Public Timer1 As Timer
Public GPS1 As GPS
Certains objets tel Timer ou GPS doivent tre dclars dans la routine Process_Globals, pas dans
Globals.
14: Le fichier '{0}' dans le dossier 'Files' n'a pas t ajout dans longlet Gestionnaire de
fichiers. Vous devez soit l'effacer ou l'ajouter au projet.
Vous utilisez un fichier se trouvant dans le dossier Files du projet, mais na pas t ajout dans
longlet Gestionnaire de fichiers.
Vous devez soit :
- Le supprimer du dossier Files. Noubliez pas de le sauvegarder au part avant.
- Lajouter dans longlet Gestionnaire de fichiers.
- Utiliser la fonction Nettoyer le dossier de fichiers (fichiers inutiles) dans le menu Outils.
Vous avez des fichiers dans le dossier Files du projet qui ne sont pas utiliss.
Vous devez les supprimer, ou nettoyer le dossier Files, voir ci-dessus.
16: Le fichier layout '{0}' n'est pas utilis. Est-ce qu'il manque un appel Activity.LoadLayout?
Vous aveZ un fichier layout dans le dossier Files qui nest pas utilis.
Vous pouvez ajouter une instruction LoadLayout ou le supprimer du dossier Files.
Ou nettoyer le dossier.
5 Onglets 75 B4x EDI
Le ficher spcifi figure dans longlet Gestionnaire de fichiers mais ne se trouve pas dans le dossier
Files du projet. Vous devez lajouter.
Voir la chapitre Gestionnaire de fichiers.
18: Les valeurs de TextSize ne doivent pas tre mises l'chelle, car elles le sont
automatiquement.
Mauvais code.
lblTest.TextSize = 16dip
Code correct.
lblTest.TextSize = 16
Les valeurs de la proprit TextSize (taille du texte) sont des valeurs indpendantes des pixels et de
la densit. Leur unit est le point typographique, une unit typographique, qui doit avoir une valeur
absolue et non des valeurs dip.
Mauvais code.
Try
imvImage.Bitmap = LoadBitmap(File.DirRootExternal, "image.jpg")
Catch
End Try
Code correct.
Try
imvImage.Bitmap = LoadBitmap(File.DirRootExternal, "image.jpg")
Catch
Log(LastException.Message)
End Try
20: La 'View' {0} a t dfinie dans le Designer. Vous ne devez pas l'initialiser dans le code.
Une View dfinie avec le Designer dans un fichier layout ne doit pas tre initialis !
Seules des Views ajoutes dans le code doivent tre initialises.
21: Impossible d'accder aux dimensions de la 'View' avant qu'elle n'ait t ajoute son
parent.
Vous devez dabord ajouter une View son objet parent avant de pouvoir accder ses dimensions.
Lorsque vous ajoutez des Views dans le code leurs dimensions sont dfinies lors de lajout avec la
fonction AddView.
23: Des dialogues modaux ne sont pas autoriss dans Sub Activity_Pause. Ils sont ignors.
Des dialogues modaux tel MsgBox ne sont pas autoriss dans la routine Activity_Pause.
24: Accder des champs d'autres modules dans Sub Process_Global peut tre dangereux car
l'ordre d'initialisation n'est pas dterministe.
27: AndroidManifest.xml est en lecture seule ou si l'option Ne pas craser le fichier manifeste
est coche. Utilisez plutt l'diteur manifeste.
Ceci tait ajout automatiquement dans des versions anciennes de B4A, mais nest plus ncessaire.
33: DoEvents est obsolte. Cela peut entraner des problmes de stabilit. Utilisez Sleep (0)
la place (si c'est vraiment ncessaire).
5 Onglets 77 B4x EDI
La Recherche Rapide permet de rechercher nimporte quel texte dans le code de tout le projet.
Exemples avec le code de MonPremierProgramme.
Exemple :
Vous pouvez aussi entrer nimporte quel texte dans le champ de recherche :
Par exemple, entrez lbl et vous obtenez la liste des lignes contenant le texte, lbl dans notre cas.
Le texte de recherche est mis en vidence En cliquant sur une des lignes, celle-ci
dans les lignes contenant ce texte. est affiche au milieu de lEDI.
Vous pouvez remplacer du texte soit dans le code slectionn , dans le module actif
ou dans tous les modules .
Entrez le nouveau texte et cliquez sur un de ces boutons , ou .
5 Onglets 80 B4x EDI
Ceci est un moteur de recherche pour trouver toutes les rfrences dun objet (view, variable)
donn.
Vous permet de vous dplacer en avant ou en arrire dans le code vers les derniers endroits o vous
tiez qui sont mmoriss dans la pile de navigation (voir ci-dessous). Ceci peut tre utile pour
naviguer entre les dernires routines o vous tiez.
Si vous travaillez deux endroits diffrents dans le mme module vous pouvez diviser la zone de
code :
Horizontalement Verticalement
Vous pouvez aussi double cliquer sur les petits rectangles pour diviser lcran.
6 Navigation in the IDE 82 B4x EDI
Si vous travaillez dans diffrents modules vous pouvez dplacer les fentres hors de la fentre
principale de lEDI en tant que fentres indpendantes.
Ctrl + E Recherche de routines ou de modules. Trs utile pour les grands projets.
Ctrl + Clic sue une routine ou une variable saute vers le ligne de sa dclaration.
Pas directement en relation avec la navigation, mais peut tre utile pour les grands projets.
Details dans Trouver toutes les rfrences.
Pour activer le mode de dbogage vous devez slectionner Debug pour le mode de compilation.
Points darrt (Breakpoints) Vous pouvez marquer des lignes en tant que points darrt en cliquant
dans la marge gauche de la ligne. Le programme sarrte lorsquil arrive sur un point darrt et vous
permet dinspecter ltat courant du programme.
Logging Longlet Logs dans la partie droite de lEDI est trs utile. Y sont affichs des messages
sur la dure de vie de certaines composantes ainsi que des messages dfinis avec le mot cl Log.
Vous pouvez cliquer sur le bouton Connecter pour connecter le dispositif si ncessaire. Notez quil
y a une case cocher Filtre. Quand elle est coche, vous ne verrez que les messages relatifs votre
programme. Quand elle est dcoche vous verrez tous les messages gnrs dans le systme. Si
vous rencontrez un problme et ne voyez pas de message pertinent dans longlet, il peut tre utile de
dcocher le filtre pour voir sil y un message pertinent.
Notez que les Logs (enregistrements) sont maintenus dans le dispositif. Lorsque vous vous
connectez un dispositif vous verrez les messages prcdents.
7.1 Dbogage B4A, B4i, B4J 84 B4x EDI
7.1.1.1.1 Excute F5
Excute le programme.
Si le programme est arrt un point darrt, il continue jusquau point darrte suivant ou termine
lexcution.
7.1 Dbogage B4A, B4i, B4J 85 B4x EDI
7.1.1.1.2 Entrer F8
Dans le projet
MonPremierProgramme nous
mettons un point darrt la
ligne NouveauProbleme.
Lors de lexcution, le
programme sarrte sur la ligne
31 Nouveau.
Cliquez sur .
Le dbogueur excute la ligne
suivante, Sub Nouveau dans notre
cas.
7.1.1.1.3 Sauter F9
Si la ligne courante est un appel une routine, le dbogueur excutes le code de la routine puis
sarrte la ligne suivant la ligne dappel.
Dans le projet
MonPremierProgramme nous
mettons un point darrt la
ligne NouveauProbleme.
Lors de lexcution, le
programme sarrte sur la ligne
31 Nouveau.
Cliquez sur .
Le dbogueur excute le code de
Nouveau et saute la ligne
suivante qui est End Sub de
Activity_Create.
Si la ligne courante se trouve lintrieur dune routine, le dbogueur finit lexcution de cette
routine et saute la ligne suivant celle de lappel de la routine.
Lors de lexcution, le
programme sarrte sur la ligne
NouveauProbleme.
Cliquez sur .
Le dbogueur excute le reste du
code de la routine Nouveau et
saute la ligne suivant celle de
lappel de la routine qui est
End Sub de Activity_Create.
7.1 Dbogage B4A, B4i, B4J 87 B4x EDI
7.1.1.1.5 Stop
Excute :
B4A Process_Globals, Globals, Activity_Create et recharge le layout.
B4i Process_Globals.
B4J Process_Globals.
Dans la fentre Dbogueur nous avons, exemple avec MonPremierProgramme, et un point darrt
sur la ligne 45 :
Si vous cliquez sur une des lignes, le dbogueur saute vers cette
ligne dans lditeur.
7.1 Dbogage B4A, B4i, B4J 89 B4x EDI
La fentre Regard permet de vrifier des fonctions plus complexes lors de tests et de dbogage.
Lancez le programme.
Nombre1 + Nombre2
Cliquez sur pour supprimer les fonctions. Ceci supprime toutes les fonctions.
Nous aurions, bien entendu, pu afficher ces fonctions avec des Logs avec :
Log(Nombre2 + Nombre2)
Log(Nombre2 - Nombre2)
7.1 Dbogage B4A, B4i, B4J 90 B4x EDI
Exemples :
Nombre1
lblNombre1
Dans la ligne compte on trouve les proprits Left, Top, Width, Height, Tag et Text qui
vaut 12, la valeur de Nombre1.
Nombre1
7.1 Dbogage B4A, B4i, B4J 91 B4x EDI
Les points darrt facilitent grandement le dbogage. Vous pouvez dfinir des points darrt
nimporte o dans le code.
B4A, des points darrt dans ces routines Process_Globals et Globals sont refuss.
Cliquez dans la marge gauche dans la ligne dans laquelle vous voulez dfinir un point darrt. Lors
de lexcution, le programme sarrte au premier point darrt.
Lancez le prgramme, il sarrte sur la ligne qui contient un point darrt et lditeur ressemble
limage ci-dessous. La ligne o le programme sarrte est mise en vidence en jaune.
Cliquez sur .
Le programme excute la ligne et saute la
suivante.
7.1.2.6 Logs
Il est possible de changer le code dans le dbogueur et voir lvolution sans redmarrer le
programme.
Avec le programme MonPremierProgramme, les deux lignes Log et un point darrt sur la ligne 61.
Supprimez le point darrt et utilisez le programme, vous voyez que les nombres peuvent tre entre
1 et 19 maintenant.
7.1 Dbogage B4A, B4i, B4J 95 B4x EDI
Dans certains cas, il peut tre utile dutiliser le dbogueur legacy, vous pouvez lactiver dans le
menu Outils / Options de lditeur EDI.
Debug(legacy) : Lorsque cette option est choisie, le fichier compil contient du code de dbogage.
Le nom du fichier compil .apk se termine avec _DEBUG.apk. Vous ne devez pas distribuer ce
fichier vu quil contient du code supplmentaire pour le dbogage.
Pour distribuer votre projet vous devez le compiler en mode Release ou Release (obfuscated).
Dans B4R il ny a pas de mode Debug comme dans les autres langages B4x.
Dans longlet Logs droite de lEDI sont affichs des messages relatifs lexcution du
programme ainsi que des messages affichs avec le mot cl Log. Vous devez cliquer sur le bouton
Connecter pour connecter le dispositif.
Dans le projet FeuxSignalisation jai ajout plusieurs lignes pour afficher des commentaires
montrant lvolution de lexcution du programme.
Puis :
En pressant le bouton > tat: 0
Les feux sont sur ON > Feux: 1 feu rouge ON
En relchant le bouton > tat: 1