Hallo ich bin dabei gerade Visual Basic ein tool zu schreiben. Und zwar soll er 4 verschiedene zahlen die ich an gebe jeweils durch 32 seperat teilen. Und mir das ergebnis mitteilen das ich mit einem Button copieren kann. Kann mir da jemand weiter helfen oder mir eine source schreiben und uploaden damit ich mir den aufbau anschauen kann? Danke
Hallo,
ich bin dabei gerade Visual Basic
welches? Es gibt mehrere.
ein tool zu schreiben.
Und zwar soll er 4 verschiedene zahlen die ich an gebe jeweils
durch 32 seperat teilen. Und mir das ergebnis mitteilen das
ich mit einem Button copieren kann. Kann mir da jemand weiter
helfen oder mir eine source schreiben und uploaden damit ich
mir den aufbau anschauen kann?
Wo kommen die vier Zahlen her? Zufallszahlen oder sollen die eingegeben werden, wenn ja wo …
So wird das nichts, zeig mal Code und das Problem, dann kann man helfen.
Gruß Rainer
Microsoft VB 2008,
Mein bisheriger code und funktioniert mittlerweile auch schon gut:
Public Class Form1
Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
End Sub
Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
End Sub
Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged
End Sub
Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox4.TextChanged
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim test As Integer = 0
If TextBox1.Text „“ Then
test += 1
End If
If TextBox2.Text „“ Then
test += 1
End If
If TextBox3.Text „“ Then
test += 1
End If
If TextBox4.Text „“ Then
test += 1
End If
If TextBox7.Text „“ Then
test += 1
End If
If TextBox8.Text „“ Then
test += 1
End If
If TextBox9.Text „“ Then
test += 1
End If
If TextBox10.Text „“ Then
test += 1
End If
If test = 4 Then
TextBox5.Text = CInt(TextBox1.Text / 32) & " " & CInt(TextBox2.Text / 32) & " " & CInt(TextBox3.Text / 32) & " " & CInt(TextBox4.Text / 32)
ElseIf test > 4 Then
Dim val(8) As String
val(0) = TextBox6.Text
val(1) = TextBox7.Text
val(2) = TextBox8.Text
val(3) = TextBox9.Text
val(4) = TextBox10.Text
val(5) = CInt(TextBox1.Text / 32)
val(6) = CInt(TextBox2.Text / 32)
val(7) = CInt(TextBox3.Text / 32)
val(8) = CInt(TextBox4.Text / 32)
TextBox5.Text = String.Format("(genmonster (index {0}) (map {1}) (area {2}) (max {3}) (cycle {4}) (rect {5} {6} {7} {8}))", val)
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
'If TextBox5.Text „“ Then
’ TextBox5.SelectAll()
’ My.Computer.Clipboard.SetText(TextBox5.SelectedText)
'End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox5.SelectAll()
End Sub
End Class
nur möcht ich noch einem button zuweisen damit er alles makiert und einem anderen das er es kopiert
War im falschen Brett … ich bin raus …
Hallo,
für VB2008 hast Du das falsche Brett gewählt und ich kann Dir dann leider auch nicht helfen. Mit VB.NET bekomme ich immer noch nicht alles hin, was mit VB6 kein Problem ist.
Jetzt steht es im richtigen Brett, da findet sich sicher auch ein Experte, der Dir hilft.
Gruß Rainer [MOD]
Hallo,
Mein bisheriger code und funktioniert mittlerweile auch schon
gut:
Na dann schauen wir einmal.
Public Class Form1
Private Sub Label1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs)End Sub
Private Sub TextBox1_TextChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
TextBox1.TextChangedEnd Sub
Private Sub TextBox2_TextChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
TextBox2.TextChangedEnd Sub
Private Sub TextBox3_TextChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
TextBox3.TextChangedEnd Sub
Private Sub TextBox4_TextChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
TextBox4.TextChangedEnd Sub
Wieso declarierst du die Ereignisse wenn du diese nicht nutzen tust ?
Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
Dim test As Integer = 0
If TextBox1.Text „“ Then
test += 1
End If
Warum so umstaendlich und nicht gleich If Vergleich then Anweisung
Auch haettest du hier das Change Ereignis nutzen koennen!
If TextBox2.Text „“ Then
test += 1
End If
If TextBox3.Text „“ Then
test += 1
End If
If TextBox4.Text „“ Then
test += 1
End If
If TextBox7.Text „“ Then
test += 1
End If
If TextBox8.Text „“ Then
test += 1
End If
If TextBox9.Text „“ Then
test += 1
End If
If TextBox10.Text „“ Then
test += 1
End If
Hier das selbe! Möchtest du erreichen das wenn in einer von den 10 Textboxen, etwas steht, das dann die Variable Test um 1 erhöht wird, warum faesst du dann nicht via der Handles Klausel die 10 Textboxen zusammen? Zur Not kannst du die Textboxen dann ueber den Sender boxen und weisst so mit um welche es sich dabei handelt.
If test = 4 Then
TextBox5.Text = CInt(TextBox1.Text / 32) & " " &
CInt(TextBox2.Text / 32) & " " & CInt(TextBox3.Text / 32) & "
" & CInt(TextBox4.Text / 32)
Owei hier kann und wird es maechtig gewaltig scherbeln TextBoxen beinhalten Strings!
Was ist wenn da nun eine Zeichenfolge drinnen steht, die nicht in eine Zahl gewandelt kann? Auch solltest du vorher prüfen ob dies der Fall ist. Wenn ja, dann den Inhalt der Textbox umwandeln und dann rechnen. Dabei solltest du aber auch bedenken das ein Integer nur ganze Zahlen darstellen kann. Was ist wenn der Inhalt zum bsp. 5 ist?
ElseIf test > 4 Then
Dim val(8) As String
val(0) = TextBox6.Text
val(1) = TextBox7.Text
val(2) = TextBox8.Text
val(3) = TextBox9.Text
val(4) = TextBox10.Text
val(5) = CInt(TextBox1.Text / 32)
val(6) = CInt(TextBox2.Text / 32)
val(7) = CInt(TextBox3.Text / 32)
val(8) = CInt(TextBox4.Text / 32)
Hier blickt auch keiner so recht durch! Du definierst ein Array mit der Grösse von 9 Feldern und vom Typ String. Weisst ihn aber streckenweise ein Integer zu!
TextBox5.Text = String.Format("(genmonster (index
{0}) (map {1}) (area {2}) (max {3}) (cycle {4}) (rect {5} {6}
{7} {8}))", val)End If
End SubPrivate Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.LoadEnd Sub
Wieder eine Definition ohne Source. Warum?
Private Sub Button3_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button3.Click
'If TextBox5.Text „“ Then
’ TextBox5.SelectAll()
’
My.Computer.Clipboard.SetText(TextBox5.SelectedText)
'End If
End Sub
Mal etwas ganz anderes. Stell dir mal vor. Du schreibst einen ellen langen Brief… Plötzlich faellt dir ein… ach Mensch, ich muss doch noch dies und das machen und Mist das geht nicht so. Naja sei es drum. Du makierst deinen ganzen Brief und drueckst STRG + C ( Kopie in die Zwischenablage) Du schliesst nun dein Document. Genau in dem Moment klingelt dein Telefon. Ein Bekannter sagt dir … du kannst ma dies und jenes machen … du sagst ja klar. Ich nutze „Dein Tool“ … alles schick , nun faellt mir ein. Mensch der Brief, ich öffne nun mein Office erstelle ein neues Document und druecke voller Hoffnung oder Erwartung STRG+V ( Einfügen) Spätestens nach dem Versuch, würde dein Tool, aus meiner Sicht gelöscht werden, denn ich habe genau in dem Moment mitbekommen das ich x Stunden umsonst geschrieben habe…
Ergo vorher den Inhalt der Zwischenablage lokal speichern und danach wieder zurueckschreiben!
Private Sub Button2_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button2.Click
TextBox5.SelectAll()
End Sub
End Classnur möcht ich noch einem button zuweisen damit er alles
makiert und einem anderen das er es kopiert
Sorry aber vlt. solltest du erst einmal die jetzt schon vorhandenen Fehler beseitigen und dir ein Buch zulegen mit den Grundlagen!
Ist nicht böse gemeint, aber so wird das nie etwas werden :s
MfG Alex