ungewollt geänderte Variable in einer function - spuk?
Hallo und Frohes Neues!
Ich kämpfe hier mittlerweile seit 2 Tagen mit einer Kleinigkeit herum, die in anderen Sprachen vielleicht in 2 Minuten erledigt ist aber irgendwie brauche ich mal eine kleine Aufklärung.
Ich versuche eine Kleine Routine zu schreiben, der ich einen Prozentwert übergebe. Ich möchte dann hinterher den Prozentwert als Balken auf einem Display ausgegeben haben. Ein ähnliches Programm habe ich hier bereits entdeckt, aber der Stolz... ;)
Hier die Deklaration:
Code:
Declare Function Ausgabe(byval Prozent As Byte) As String
Hier meine Funktion:
Code:
Function Ausgabe(byval Prozent As Byte)
Local Temp As Integer
Local Temp2 As Word
Local Temp3 As String * 20
Temp = Prozent / 10
For Temp2 = 1 To Temp Step 1
Temp3 = Temp3 + "#"
Next
Ausgabe = temp3
End Function
Mein Problem: Ich kann mit der Programmierung meiner Routine nicht fortfahren weil die übergebenen Werte ständig falsch ankommen.
Beispiel:
Ich rufe die Funktion auf: ausgabe(125)
Der Wert 125 kommt so momentan an. Fein.
Ändere ich die Funktion mit einer Kleinigkeit ab funktioniert nix mehr:
Code:
Function Ausgabe(byval Prozent As Byte)
Local Pe As Word
Local Temp As Integer
Allein die Deklaration von Pe als Word führt dazu, dass sich der Wert von "Prozent" auf den vollkommen unklaren Wert von 59 ändert.
Das kann und darf doch wohl auf keinen Fall sein, oder habe ich etwas übersehen? Ich hätte nie gedacht, dass ich mich mal an so einer Kleinigkeit so festbeissen würde.
Beste Grüße,
Mathias[/php]