vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: HILFE HILFE 
Autor: Andy288bln
Datum: 23.11.03 14:46

Dim operator As Single ' Globale Variable die den Operator speichert.

' Diese Funktion gibt die Anzahl der Zahlen bis zum Operator zurück
Private Function howmanyleft(Kette As String) As Integer
Dim counter As Integer
counter = 1

Dim io As Boolean
io = True
Dim check As String
' Die Schleife geht so lange jeden Buchstaben durch,
' bis sie auf einen Operator trift und zählt entsprechend
' den Counter hoch.
Do While io = True

check = Mid(Kette, counter, 1)
If check = "+" Or check = "-" Or check = "*" Or check = "/" Then io = False
counter = counter + 1
Loop

howmanyleft = counter - 2 ' Schleifenbedingt zählt der Counter immer 2 zuviel
' Zurückgegeben wird jetzt die Anzahl der Zahlen vor dem Operator
End Function

' Diese Funktion gibt die Anzahl der Zahlen nach dem Operator zurück.
Private Function howmanyright(Kette As String) As Integer
Dim counter As Integer
counter = 1

Dim laenge As Integer

Dim io As Boolean
io = True
Dim check As String

Do While io = True

check = Mid(Kette, counter, 1)
If check = "+" Or check = "-" Or check = "*" Or check = "/" Then io = False
counter = counter + 1
Loop

counter = counter - 2 ' Bis hier das selbe wie howmanyleft

laenge = Len(Kette) - counter
' Wenn man von der Gesamtlänge die Anzahl der Zahlen vor dem
' Komma subtrahiert bleiben die Restzahlen und der Operator übrig.

howmanyright = laenge - 1 ' Den Operator ziehen wir jetzt noch von der Anzahl ab.
End Function


Private Sub Text1_DblClick()
If operator = 0 Then ' Wenn kein Operator eingegeben wurde.
MsgBox "Keine Richtige Rechnung eingegeben!", vbExclamation
Else ' Wenn Operator steht.

Dim Rechnung As String
Rechnung = Text1.Text
Dim Zahl1 As Integer
Dim Zahl2 As Integer
Dim Ergibnis As Integer

Zahl1 = Left(Rechnung, howmanyleft(Rechnung)) ' Zahl vor dem Operator
Zahl2 = Right(Rechnung, howmanyright(Rechnung)) ' Zahl nach dem Operator

' Weist dem Operator die entsprechende Rechnung zu
If operator = 43 Then Ergebnis = Zahl1 + Zahl2
If operator = 45 Then Ergebnis = Zahl1 - Zahl2
If operator = 42 Then Ergebnis = Zahl1 * Zahl2
If operator = 47 Then Ergebnis = Zahl1 / Zahl2


Text1.Text = Ergebnis
End If

operator = 0 ' Setzt den Operator zurück.



End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
' Sorgt dafür das nur zahlen eingegeben werden können.

Select Case KeyAscii
Case 48 To 57, 8 ' Zahlen und Backspace
Case 42, 43, 45, 47 ' + - * /
If KeyAscii = 42 Or 43 Or 45 Or 47 Then operator = KeyAscii
' Operator der eingegeben wurde speichern in Globaler Variable operator.
Case Else ' alle anderen Zeichen ignorieren
KeyAscii = 0
End Select


End Sub



Wenn ich es in einer standard exe erstellle dann geht es aber sobald ich es in mein projekt einfüge geht es nicht warum ? es wäre nett wenn mir einer hilft.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
HILFE HILFE621Andy288bln18.11.03 00:56
Re: HILFE HILFE359Stomper19.11.03 07:55
Re: HILFE HILFE326Stomper19.11.03 13:26
Re: HILFE HILFE315Andy288bln19.11.03 21:27
Re: HILFE HILFE379Andy288bln23.11.03 14:46
Re: HILFE HILFE277Stomper23.11.03 23:17
Re: HILFE HILFE303Andy288bln24.11.03 20:24

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel