Comment déclarer une variable

Résolu
cs_JLB59 Messages postés 140 Date d'inscription jeudi 21 septembre 2000 Statut Membre Dernière intervention 16 août 2012 - 2 août 2012 à 17:36
cs_JLB59 Messages postés 140 Date d'inscription jeudi 21 septembre 2000 Statut Membre Dernière intervention 16 août 2012 - 9 août 2012 à 17:50
Bonjour à tous,

Je voulais savoir simplement comment déclarer la variable "s" !
S$ = Format$(calc1 + Int(5 + (Int(i) * 100) / 100)) & vbCrLf

C'est ce que j'ai eu parce qu'il parait que je mélangeait 2 type de variables en faisant ça :
calc1 = calc1 + Int(5 + (Int(i) * 100) / 100) & vbCrLf

J'ai regardé dans l'aide mais y a pas trop d'explications.
Il faut dire aussi que c'est un peu de l'hébreu pour moi !

Merci d'avance de votre aide.

Cordialement. JLB59

33 réponses

cs_JLB59 Messages postés 140 Date d'inscription jeudi 21 septembre 2000 Statut Membre Dernière intervention 16 août 2012
4 août 2012 à 14:24
C'est super sympa de ta part.

Concernant VB.NET et autre, je savais pas.
Comme j'avais payé assez cher VB6, je me suis dit que ça allait être pareil avec VB.NET, et j'ai pas cherché plus loin.

Comme je ne programme qu'à titre privé pour ainsi dire, il aurait été inutile de tout mettre à niveau.

Y a une grande différence entre VB6 et VB.NET ?


Cordialement (je sais pas le dire en breton ).
JLB59
0
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
4 août 2012 à 16:33
Une différence entre vb6 et vb.net ?
oui il y en a, le poid en mémoire d'une appli déja lol
.net est gourmand, mais bon c'est plus trés grave de nos jours (20Mo ram pour une simple form avec quelques boutons).
Disons que pour nous amateur c'est vraiment plus simple en .NET, tous les objets d'un programme se comporte comme une classe. JE t'invite à le télécharger, l'installer et regarder mes sources (je les commentes bien) Utilise les dernière car tu le devine étant autodidacte mes premières étais plutôt pas de bonne exemple à suivre ;)
Puis des gens comme PCPT, MAYZZ et d'autres ont fait ce que je fais à mon tour avec toi aujourd'hui.

Cherche aussi sur le net, il y a plein de bon tuto trés simple à suivre pour commencer (celui ci est celui que j'utilise encore aujourd'hui, http://plasserre.developpez.com/cours/vb-net/ )

@++ A galon vat (cordialement en breton).
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches. Merci
0
cs_JLB59 Messages postés 140 Date d'inscription jeudi 21 septembre 2000 Statut Membre Dernière intervention 16 août 2012
4 août 2012 à 17:33
Je vais voir tes sources au plus vite et le tuto pour VB.NET.
J'en avais déjà visité d'autres et ça avait l'air intéressant.
Mais ça fait un peu peur parce que je suis habitué avec VB6 !

Je vais voir aussi de ce pas tes sources, ça va m'inspirer pour la suite.

Concernant le téléchargement de VB.NET, chez MS, il y a plusieurs versions, à tout hasard, j'ai pris Visual Basic 2010 Express, mais est-ce que c'est ça seulement ?

Et merci pour la traduction.

Cordialement.
JLB59
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
4 août 2012 à 18:38
Salut

Mon grain de sel ...

Si tu avais utilisé des syntaxes complètes dans ton programme, cela aurait éviter tous ces échanges de question/réponse.

Quand tu dis que TF1 est un Label
Si c'est un Label, il vaut mieux écrire ceci
TF1.Caption = "Toto"
que
TF1 = "Toto"
Bien sûr, cela marche pareil (dans 99% des cas), mais cela aurait permis aux lecteurs de déduire que c'était un Label.
De plus, il est recommandé d'utiliser la notation dite "à la hongroise" pour nommer ses variables ou objets, en faisant précéder leur nom par une abréviation de leur type, exemples :
Un Label --> lbl TF1
Une TextBox --> txtTF1 ou tbTF1
Une variable chaine (String) --> strMaVariable ou sMaVariable
Une variable Long --> lMaVariable
Une variable Boolean --> bMaVariable
etc
D'une part, tout le monde comprendra de quel type est ta variable et simplifiera tes échanges, et d'autre part, dans l'écriture de ton programme, cela te permettra de faire attention au contenu que tu souhaites mettre dedans, exemple :
Dim sMaVar As String
sMaVar = lCompteur / 32
Certes, cela va fonctionner dans 50% des cas, mais quand tu l'écris, tu vois tout de suite que quelque chose cloche : Tu vas entrer des chiffres (lCompteur étant un Long) dans une chaine.
Soit tu changes le type de ta variable, soit tu utilises les fonctions de conversion de type adapté, pour éviter toute erreur d'interprétation du compilateur :
Dim sMaVar As String
sMaVar = CStr(lCompteur / 32)

Ensuite, les abréviations de type de variable :
A chaque type de variable est associé un symbole qui désigne son type :
Dim maVar$ est une chaine ($)
Dim maVar& est un Long (&)
Dim maVar! est un Single (!)
etc, voir l'aide
Mais je ne suis pas partisan de ces abréviations. Appelons un chat, un chat; on y gagne en clarté.

Il te reste à bien comprendre l'étendue de tes variables :
- Un Dim dans une procédure (Sub ou Function) dimensionnera une variable qui perdra la vie à la sortie de la procédure.
- Un Private dans la partie "déclarations" d'une page de code rendra accessible cette variable dans toutes les procédures de la page de code.
- Un Public dans la partie "déclarations" d'un module rendra accessible cette variable dans tout ton projet
etc
C'est important.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_JLB59 Messages postés 140 Date d'inscription jeudi 21 septembre 2000 Statut Membre Dernière intervention 16 août 2012
4 août 2012 à 19:13
Là au moins c'est explicite !
C'est vrai que je voyais pas ça sous cet angle.

C'est vrai aussi que si j'avais apporté plus de précision sur mes variables, mes labels, etc., cela aurait été beaucoup plus simple de compréhension pour tous ceux qui m'apportent leur aide.

Si j'ai fait comme ça, écriture abrégée dans mon prog, c'est parce que pour moi, c'était plus clair en lecture.
Exemple :
    For i = 1 To 8
    cpt1 = cpt1 & i & vbCrLf
    TF1 = cpt1
    calc1 = calc1 & Int(((i) * 100) / 55) & vbCrLf
    TF11 = calc1
    Next i


Et ceci

    For i = 1 To 8
    Labelcpt1 = Labelcpt1 & i & vbCrLf
    LabelTF1 = Labelcpt1
    Labelcalc1 = Labelcalc1 & Int(((i) * 100) / 55) & vbCrLf
    LabelTF11 = Labelcalc1
    Next i


Ce que je lis est plus clair dans la première partie.
En plus, si j'ai fait comme ça, c'est aussi parce le prog est peu volumineux.
Parce que j'ai fait le même prog plus complet, et là, il y a beaucoup plus de labels, d'images, etc., surtout beaucoup de labels.
Donc, pour moi, pour ma lecture tout au moins, c'était plus facile de visualiser, parce que y en a un paquet hein !

Je penserais par la suite à mettre les abréviations nécessaires pour poser mes questions, ce sera plus simple.

Je suis en train d'installer VB 2010 Express et on verra par la suite.
Tu m'avais dit qu'on pouvait convertir VB6 en VB NET, c'est un logiciel à part ou c'est inclus dans celui que j'installe ?

J'ai visionné quelques une de tes sources, j'en téléchargerai après, c'est génial !
De plus, le graphisme est fabuleux, c'est fait avec VB ou une autre logiciel ?


Cordialement. JLB59
0
cs_JLB59 Messages postés 140 Date d'inscription jeudi 21 septembre 2000 Statut Membre Dernière intervention 16 août 2012
4 août 2012 à 19:15
Autant pour moi, je croyais que c'était Adn56 qui avait posté !

Mais pas mal de chose dans ce post te concerne, surtout pour une écriture plus parlante.
Cordialement. JLB59
0
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
4 août 2012 à 23:39
merci jack de me venir en aide
alors que dire :
non mes sources sont à 100% du vb (.net)
mais jack à raison si c'est un label nomme le avec une syntaxe clair Ex LBLmachinBidule....
pour le reste je te poste un exemple dés que je peux.

il est pas tout sympa ce forum ? yes !!!!
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches. Merci
0

merci jack de me venir en aide
alors que dire :
non mes sources sont à 100% du vb (.net)
mais jack à raison si c'est un label nomme le avec une syntaxe clair Ex LBLmachinBidule....
pour le reste je te poste un exemple dés que je peux.

il est pas tout sympa ce forum ? yes !!!!

C'est vrai que vous avez tous 2 raisons.
Je ferai gaffe la prochaine fois !

Concernant ton exemple Adn56, est-ce qu'il serait en rapport avec ce que je suis en train de faire par hasard ?
Si non, est-ce qu'il y aurait des fonctions que je pourrais prendre en exemple ?

Sur que ce forum est sympa... et vous en êtes la preuve.
Cordialement
Sabrimi
Mon site d'évaluation
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
5 août 2012 à 00:12
lol, merci

Ne mélange pas tout.
Mettre quelques lettres devant le nom des objets ou des variables sert à identifier l'objet ou le type de la variable sans avoir à le dire = plus pratique quand tu le montres à quelqu'un qui n'a aucune idée de tes méthodes personnelles de programmer.
Mettre 'Label' devant chaque variable ne ressemble à rien. 'lbl' suffit et en jouant avec les nimuscules/majuscules, tu gagnes en clarté.

Ton code aurait dû être ceci :
For i = 1 To 8
    ' Si tu dois ajouter 'i' à la suite du texte :
    lblCpt1.Caption = lblCpt1.Caption & CStr(i) & vbCrLf
    ' Si tu veux que le contenu du Label soit additionné de 'i'
    lblCpt1.Caption = CStr(Val(lblCpt1.Caption) + i) & vbCrLf
    lblTF1.Caption = lblCpt1.Caption
    lblCalc1.Caption = lblCalc1.Caption & CStr(Int(((i) * 100) / 55)) & vbCrLf
    lblTF11.Caption = lblCalc1.Caption
Next i
'.Caption' devient '.Text' en VB.Net - bon courage!

Quand tu colles du code dans ce forum, utilise la coloration syntaxique 3ème icone à droite plus facile à relire

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Merci Jack pour ces précisions... et pour la structure de mon code.
C'est vrai que comme ça, c'est plus parlant pour les autres.
Je n'ai jamais pensé à utiliser la fonction Ctsr puisque ça marchait bien et que je n'avais pas d'erreur !

Avec tout ça, il va falloir revoir tout depuis le début... et y a du boulot !

A bientôt et bonne soirée.

Cordialement
Sabrimi
Mon site d'évaluation
0
cs_JLB59 Messages postés 140 Date d'inscription jeudi 21 septembre 2000 Statut Membre Dernière intervention 16 août 2012
5 août 2012 à 00:38
Pour infos, JLB59 et Sabrimi, c'est pareil.
J'avais créé le compte Sabrimi parce que pendant un temps, je n'arrivais plus à accéder à celui de JLB59.


Cordialement. JLB59
0
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
9 août 2012 à 17:09
Désolé pour ton exemple que je devais faire, mais des petits soucis me bloque au lit. Si tu ne t'en sors toujours pas, klaxonne en PV.

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches. Merci
0
cs_JLB59 Messages postés 140 Date d'inscription jeudi 21 septembre 2000 Statut Membre Dernière intervention 16 août 2012
9 août 2012 à 17:50
Bonjour Adn56,

C'est pas trop grave tu sais.
Je pense ça va aller en attendant les prochains prb !
Mais, ça marche beaucoup mieux quand c'est du numérique.
Il va falloir que je penche la-dessus parce que ça commence à me sortir par les trous de nez c'machin !


A bientôt Adn56.
Kenavo Cordialement. JLB59
0
Rejoignez-nous