Afficher un ensemble d'étoiles sous forme triangulaire en VB6 [Résolu]

Signaler
Messages postés
34
Date d'inscription
samedi 16 février 2008
Statut
Membre
Dernière intervention
11 mai 2011
-
Messages postés
34
Date d'inscription
samedi 16 février 2008
Statut
Membre
Dernière intervention
11 mai 2011
-
bonjour tousl le monde!
j'ai un problème dans mon  programme qui consiste à permettre l'affichage d'un triangle isocéle d'étoiles comme la figure suivante dans chaque ligne on ajoute 2 étoiles:

    *
    ***
    *****
    *******
    *********
     ***********

alors voilà mon problème quant à le faire normale c-à-d triangle à angle droit je le fais facilement voilà le code :
____________________________________________________________
Private Sub Form_click()
n = InputBox("saisissez le nombre de lignes que vous voulez affichez!", "nombre de lignes")
Print "combien de lignes? " & n & vbCrLf;

Dim a As Integer
Dim i As String
i = "*"

For a = 1 To n
Print , " ", i
i = i + "**"
Next
End Sub
___________________________________________________________
mais quant à le faire comme la figure ci-dessus j'arrive pas à le faire mêmê normal inverséça marche pas !
svp aidez moi !!
je le veux maintenant!! svp
A voir également:

8 réponses

Messages postés
34
Date d'inscription
samedi 16 février 2008
Statut
Membre
Dernière intervention
11 mai 2011
2
merci les ami(e)s malgré c'étais trop tard en plus j'ai pas pu maniplé vos codes c'est un peu plus difficile.



-pour toi

[auteur/AKIM77/259499.aspx akim77] si tu lis bien tu trouvras que j'ai commencé par svp et términé par svp alors je crois que ce n'étais plus la peine de critiquer, mais cela n'empèche pas ,merci infiniment -pour toi

[auteur/JMFMARQUES/615490.aspx jmfmarques] merci infiniment ton code et super mais étant débutante voilà comment j'ai procédé avec un code trés simple :
___________________________________________________________
Private Sub Form_click()
n = InputBox("saisissez le nombre de lignes que vous voulez affichez!", "nombre de lignes")
Dim a, b As Integer
Dim i, s As String
i = "*"
s = " "
Print "  combien de lignes? " & n & vbCrLf;

For a = 1 To n
s = s + " "
Next

For b = 1 To n
Print , s + i
i = i + "**"
s = Mid(s, 2)
Next

End Sub
__________________________________________________________________________
enfin merci pour votre soutien et votre aide
Messages postés
34
Date d'inscription
samedi 16 février 2008
Statut
Membre
Dernière intervention
11 mai 2011
2
désolée mon clavier étais querty lorsque j'ai écris le titre de mon sujet alors je veuxx dire : traingle en étoiles par vb6
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
21
Bonjour,

"je le veux maintenant" est une expression difficile à accepter..

Mais déjà : il serait sans doute bon que tu nous dise ce que tu entends par afficher.
Afficher dans quoi ?
Frapper du texte ou afficher une image de texte (dessiner du texte) ? (ce qui n'est pas pareil)
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
21
Tiens...
Tu comprendras mieux mes questions !
Ici, j'affiche/écris dans une textbox (avec sa propriété multiline = True, hein...)

Private Sub Form_Activate()
  With Text1
    .FontName = "courier"
    .Text = ""
  End With
End Sub



Private Sub Command1_Click()
  nblignes = 12
  For i = 0 To nblignes - 1    If i 0 Then couic "" Else couic = vbCrLf
    Text1.Text = Text1.Text & couic & "*" & String(i * 2, "*")
  Next
End Sub


Tu vois maintenant ce que je veux dire ? Ce que je fais là est écrire et non dessiner ...




 
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
21
J'ai oublié de préciser :

Pour un triangle isocèle "normal", mets la propriété Alignment à Center (ta textbox)
Pour un triangle isocèle "rectangle à gauche", mets la propriété Alignment à Left (ta textbox)
Pour un triangle isocèle "rectangle à droite", mets la propriété Alignment à Right (ta textbox)
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
21
Et tu feras bien d'ajouter ces 3 lignes après nblignes = 12


  Set Font = Text1.Font
  Text1.Width = TextWidth(String((nblignes * 2), "*"))
  Text1.Height = (TextHeight("*") * nblignes) * 1.05

ainsi, ta textbox prendra exactement les dimensions nécessaires, automatiquement ...


 
Messages postés
73
Date d'inscription
lundi 12 avril 2004
Statut
Membre
Dernière intervention
17 septembre 2008
4
Bonjour,

"je le veux maintenant!"
Ca ressemble à un ordre et heureusement sur CodeS-SourceS personne ne donne d'ordre à personne.
Un conseil, si tu veux obtenir des réponses, n'utilise plus jamais cette phrase.

Comme le français n'est peut-être pas ta langue maternelle et  pour t'encourager à continuer a programmer,
comme jmfmarques je vais faire une exception à la règle et te répondre.

Tu peux aussi utiliser la fonction Space qui retourne une chaîne composée d'un nombre spécifié d'espaces.

i = "*"
For a = n To 1 Step -1
    Print , " ", Space(a) & i & Space(a)
    i = i & "**"
Next

Akim
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
titre et catégorie modifiés