Afficher un ensemble d'étoiles sous forme triangulaire en VB6

Résolu
khedidija Messages postés 33 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 11 mai 2011 - 7 juin 2008 à 03:00
khedidija Messages postés 33 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 11 mai 2011 - 9 juin 2008 à 19:47
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

khedidija Messages postés 33 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 11 mai 2011 2
9 juin 2008 à 19:47
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
3
khedidija Messages postés 33 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 11 mai 2011 2
7 juin 2008 à 03:08
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
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
7 juin 2008 à 08:27
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)
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
7 juin 2008 à 08:43
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 ...




 
0

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

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
7 juin 2008 à 08:48
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)
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
7 juin 2008 à 09:09
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 ...


 
0
cs_akim77 Messages postés 73 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 17 septembre 2008 4
7 juin 2008 à 09:28
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
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
7 juin 2008 à 20:09
titre et catégorie modifiés
0
Rejoignez-nous