For..next loop

Status
Niet open voor verdere reacties.

krolik

Terugkerende gebruiker
Lid geworden
22 apr 2007
Berichten
1.787
In VB5 gebruikte ik

For i = 1 to 10
Print i
Next i

Dan verschenen de getallen 1 t/m 10 onder elkaar in beeld

In Visual Studio 2008 werkt dit niet.

Is er iets veranderd? Misschien een ander statement?

Iemand die mij hierbij kan helpen?

Bvd,

Królik
 
Hallo krolik,

er is inderdaad iets verandert.

Nu in Visual Studio 2008 is het:
Code:
Dim i as Integer

For i = 0 To 10
  'Code
Next

Of nog beter:
Code:
For i as Integer = 0 To 10
  'Code
Next

Tdj
 
Bedankt voor het meedenken. Die loop is wel duidelijk, maar het gaat om het statement "print". Het volgende zou te zien moeten zijn:
1
2
3
4
5
6
7
8
9
10

En dat doet niets.
 
Dat is waarschijnlijk van toepassing voor een 'Console Application'.
Ik ben bezig met een 'Windows Forms Application'.
 
Waar wil je tekst in laten zien?

Maak eerst een string.... (Met bv stringbuilder)

Code:
Dim sb as New StringBuilder
For i as integer = 0 To 10
sb.AppendLine(i.ToString)
Next

Nu moeten we het nog ergens in laten zien. Misschien een tekstbox (multpile line):
Code:
TextBox1.Text = sb.ToString.

Je kunt natuurlijk ook het volgende doen:
Code:
For i as integer = 0 To 10
Display(i,false)
Next

Public Sub Display(i as integer, clearbox as boolean)
Dim newLine as String = String.Empty
if clearbox then
TextBox1.Text = String.Empty
Else
newLine = Environment.NewLine 
endif

TextBox1.Text = TextBox1.Text & newLine & i.ToString
End Sub
 
Ik wil de text in Form1 zien, na op Button1 geklikt te hebben
 
OK Jabber,

De laatste oplossing werkt. Vroeger was het gemakkelijker, kon je direct in het formulier schrijven. Nu met een textbox gaat het ook, alleen meer werk.

Bedankt voor de hulp, ook de anderen.

Mvg,

Królik
 
om direct op je form te schrijven heb je iets in deze aard nodig als ik het goed heb

dim gfx as graphics = me.creategraphics()
gfx.drawtext(args)
 
Bedankt voor je reactie, maar 'drawtext' is nergens te vinden.
 
Oh ja, het is .drawstring() :)

Ik heb ff een procedure geschreven die het je wat makkelijker maakt

Code:
    Private Sub printString(ByVal text As String, ByVal color As System.Drawing.Brush, _
     ByVal drawingSurface As Control, ByVal position As Point, _
    Optional ByVal seize As Integer = 15, _
    Optional ByVal fontStyle As FontStyle = FontStyle.Regular, _
    Optional ByVal font As String = "Microsoft Sans Serif")
        drawingSurface.CreateGraphics.DrawString(text, New Font(font, seize, fontStyle), color, position.X, position.Y)
    End Sub

Gewoon in je class paste, en dan bv dit doen (als je 0 tot 9 onder elkaar wilt hebbe)

Code:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        For x As Integer = 0 To 9
            printString(x.ToString, Brushes.DarkBlue, Me, New Point(10, 20 * x + 10))
        Next
    End Sub

Heb hem hier ook ff gepost http://code.tiko-world.com/forum/viewtopic.php?t=38

Hoop dat je nu verder kan :D
 
Laatst bewerkt:
Geachte bn2vs,

Dit is het helemaal, precies wat ik bedoelde. Weliswaar wat meer code dan vroeger. Maar het gaat mij erom om dingen in een form te printen, zonder extra textbox.
Zeer bedankt.

Mvg,

Królik
:p
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan