PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Programme per Taster anwählen



hardstyleroxx
27.11.2005, 14:41
Ich möchte gerne mit einem Taster zwischen 3 verschiedenen Lauflichtern wechseln können blos irgentwie Funktioniert das nicht so ganz. Das problem liegt denke ich daran, dass er jedes Unterprogramm nur einmal durchläuft und dann gleich wieder in die Hauptschleife spingt oder?


'################################################# ##
'#Lauflichtsteuerung mit 3 Verschiedenen Programmen#
'################################################# ##


$regfile = M8def.dat
$crystal = 3686400

Ddrd = &B11100000 'PD7, PD6, PD5 als Ausgänge festlegen, rest Eingang
Portd = &B00001100 'PullUps von PD2, PD3 Aktivieren

Dim Zler As Byte
Dim Pr1_3 As Byte

On Timer1 Ontimer1
Config Timer1 = Timer , Prescale = 64 'Timertakt = Crystal / 64
Enable Timer1 'Timer1 einschalten
Enable Interrupts 'Interrupts Global einschalten
Const Timervorgabe = 36736 'Hat mir rnAVR so berechnet


'###Deklarationen###

Led_gr Alias Portd.7 'LED Grün
Led_ge Alias Portd.6 'LED Gelb
Led_ro Alias Portd.5 'LED Rot
Prwata Alias Pind.3 'Programmwahltaster

Declare Sub Pr_1
Declare Sub Pr_2
Declare Sub Pr_3


'###Hauptschleife###

Do
Debounce Prwata , 0 , Pr_wechsel , Sub 'Programmwahltaster entprellen und zu Pr_wechsel springen
Loop

'###OnTimer1###

Ontimer1:
Timer1 = Timervorgabe
If Zler = 10 Then 'Wenn Zler = 9 dann...
Zler = 1 '...Zler = 0
End If
Incr Zler 'Zler + 1

Return





'###Unterprogramme###

Pr_wechsel:

Pr1_3 = 0

If Pr1_3 = 0 Then 'Wenn Pr1_3 = 0 dann...
Gosub Pr_1
End If '...zum Sub PR_1 springen

If Pr1_3 = 1 Then 'Wenn Pr1_3 = 1 dann...
Gosub Pr_2 '...zum sub PR_2 springen
End If

if Pr1_3 = 2 Then
Gosub Pr_3
End If

If Pr1_3 = 3 Then 'Wenn Pr1_3 = 2 dann...
Pr1_3 = 0 '...Pr1_3 = 0
End If

Incr Pr1_3 'Pr1_3 + 1

Return

'----------------

Pr_1:

Lauflicht 1


'---------------

Pr_2:

Lauflicht 2

'---------------

Pr_3:

lauflicht 3

askazo
27.11.2005, 16:04
Ich kenne mich mit Bascom zwar nicht aus,
aber wenn Du im Unterprogramm Pr_Wechsel von vorneherein Pr1_3 auf 0 setzt, kann es eigentlich nicht funktionieren, oder?

askazo

x-ryder
27.11.2005, 16:07
das ist richtig, deine vermutung ^^ du musst am besten noch ne aktualisierungsvariable einsetzen, das du in pr_wechsel auf die jeweilige tasterposition setzt und dann immer abfragst, welche tasterposition grad dran ist, und die dann ausführst, wenn nen anderer taster gedrückt wurde, wird die variable ja umgeschrieben, und das nächste programm wird ausgeführt, ist das so verständlich?

hardstyleroxx
27.11.2005, 16:38
ähm, dass ist leider nicht verständlich für mich :(

ich habe nun mal am ende von jedem unterprogramm folgendes eingefügt, damit er so lange im unterprogramm bleibt bis ein anderes Programm angewählt wird.

pr_1:

lauflicht

If Pr1_3 = 0 Then
Gosub Pr_1
Else
Return
End If

pr_2:

lauflicht

If Pr1_3 = 1 Then
Gosub Pr_2
Else
Return
End If


pr_3:

If Pr1_3 = 2 Then
Gosub Pr_3
Else
Return
End If



Funktioniert aber trotzdem irgentwie nicht.


EDIT: Hier mal der Code wie er immoment aussieht:


'################################################# ##
'#Lauflichtsteuerung mit 2 Verschiedenen Programmen#
'################################################# ##


$regfile = M8def.dat
$crystal = 3686400

Ddrd = &B11100000 'PD7, PD6, PD5 als Ausgänge festlegen, rest Eingang
Portd = &B00001100 'PullUps von PD2, PD3 Aktivieren

Dim Zler As Byte
Dim Pr1_3 As Byte


On Timer1 Ontimer1
Config Timer1 = Timer , Prescale = 64 'Timertakt = Crystal / 64
Enable Timer1 'Timer1 einschalten
Enable Interrupts 'Interrupts Global einschalten
Const Timervorgabe = 36736 'Hat mir rnAVR so berechnet


'###Deklarationen###

Led_gr Alias Portd.7 'LED Grün
Led_ge Alias Portd.6 'LED Gelb
Led_ro Alias Portd.5 'LED Rot
Prwata Alias Pind.3 'Programmwahltaster

Declare Sub Pr_1
Declare Sub Pr_2
Declare Sub Pr_3


'###Hauptschleife###

Do
Debounce Prwata , 0 , Pr_wechsel , Sub 'Programmwahltaster entprellen und zu Pr_wechsel springen
Loop

'###OnTimer1###

Ontimer1:
Timer1 = Timervorgabe
If Zler = 10 Then 'Wenn Zler = 9 dann...
Zler = 1 '...Zler = 0
End If
Incr Zler 'Zler + 1

Return





'###Unterprogramme###

Pr_wechsel:

Incr Pr1_3 'Pr1_3 um einen erhöhen


If Pr1_3 = 0 Then 'Wenn Pr1_3 = 0 dann...
Gosub Pr_1 '...zum sub PR_1 springen
End If

If Pr1_3 = 1 Then 'Wenn Pr1_3 = 0 dann...
Gosub Pr_2 '...zum sub PR_1 springen
End If

If Pr1_3 = 2 Then 'Wenn Pr1_3 = 0 dann...
Gosub Pr_3 '...zum sub PR_1 springen

If Pr1_3 >= 3 Then 'Wenn pr1_3 = 3 dann..
Pr1_3 = 0 'pr1_3 = 0
End If


Return


'----------------

Pr_1:

If Zler = 1 Then
Led_ro = 1
Led_gr = 1
Led_ge = 0
End If

If Zler = 2 Then
Led_ro = 0
Led_gr = 0
Led_ge = 1
End If

If Zler = 3 Then
Led_ro = 1
Led_gr = 1
Led_ge = 0
End If

If Zler = 4 Then
Led_ro = 0
Led_gr = 0
Led_ge = 1
End If

If Zler = 5 Then
Led_ro = 1
Led_gr = 1
Led_ge = 0
End If

If Zler = 6 Then
Led_ro = 0
Led_gr = 0
Led_ge = 1
End If

If Zler = 7 Then
Led_ro = 1
Led_gr = 1
Led_ge = 0
End If

If Zler = 8 Then
Led_ro = 0
Led_gr = 0
Led_ge = 1
End If

If Pr1_3 = 0 Then 'Wenn Pr1_3 = 0 dann...
Gosub Pr_1 '...zum Sub PR_1 gehen...
Else '...sonst...
Return '...return
End If





'---------------

Pr_2:


If Zler = 1 Then
Led_ro = 1
Led_gr = 0
Led_ge = 0
End If

If Zler = 2 Then
Led_ro = 0
Led_gr = 1
Led_ge = 0
End If

If Zler = 3 Then
Led_ro = 0
Led_gr = 0
Led_ge = 1
End If

If Zler = 4 Then
Led_ro = 1
Led_gr = 0
Led_ge = 0
End If

If Zler = 5 Then
Led_ro = 0
Led_gr = 1
Led_ge = 0
End If

If Zler = 6 Then
Led_ro = 0
Led_gr = 0
Led_ge = 1
End If

If Zler = 7 Then
Led_ro = 1
Led_gr = 0
Led_ge = 0
End If

If Zler = 8 Then
Led_ro = 0
Led_gr = 1
Led_ge = 0
End If

If Pr1_3 = 1 Then 'Wenn Pr1_3 = 0 dann...
Gosub Pr_2 '...zum Sub PR_2 gehen...
Else '...sonst...
Return '...return


End If

x-ryder
27.11.2005, 16:44
ach du scheiße, falsch verstanden, ich muss jetz weg, können wir das morgen machen?

hardstyleroxx
27.11.2005, 16:48
ja, schreib einfach wenn du zeit hast :)

Vielleicht noch jemand anders ne idee? irgentwas an meinem vorhaben unklar?

x-ryder
27.11.2005, 16:49
ich kann nich so ganz klar denken und muss jetzt weg, müssen wir morgen machen, ich hatte dich falsch verstanden

Marco78
27.11.2005, 20:50
Du kannst ja den externen INT benutzen.
In der ISR legst du fest, in welches Unterprogramm gesprungen werden soll.
Die einzelnen Unterprogramm selbst sind dann eine Endlosschleife, die so lange durchläuft bis der INT ein anderes Programm auswählt.
Das hat auch den Vorteil, das du in ein anderes Programm springen kannst, wenn eines noch abläuft. Ansonsten wäre es ja immer nur dann möglich, wenn ein Unterprogramm grade am Ende ist.

Ratber
28.11.2005, 09:01
@Hardstyleroxx


Da ist einiges zu tun.
Ich hätte es ganz anders gemacht aber da hat jeder seinen eigenen Stil also versuch ich es mit ner Korrektur.:


Zum einen die Variable "Pr1_3" im Unterprogramm "Pr_wechsel"

Du erhöhst um eins.
Prüfst aber erst welche Subroutine angesprungen wird und erst zuletzt ob die Variable überläuft.
In letzterem Falle passiert da garnix.

Der Passus der Prüfung muß nach oben also erst prüfen dann springen (Wie beiden Fallschirmspringern)


Dann in den Unterroutinen (zb. "Pr_1") am Ende gibst bei einer "Nichtänderung" ein weiteres "Gosub" ind das gleiche unterprogramm.
So läuft dir der schnell Stack über.
Da gehöhrt also ein "Goto" hin also :

If Pr1_3 = 0 Then
Goto Pr_1
Else


Ja und den Timer hast du zwar angelegt und mit einer Subroutine bedacht aber ich sehe nirgens einen Sprung in diese Routine.
Ohne Einsprung kann das auch nicht klappen.
Das solltest du in die Hauptroutine noch einbauen '-)



Und zuletzt:

Du springst nur beim Tastendruck einmal in die Subroutinen und das wars dann.
Geht so nicht.




Ich würde wie schon erwähnt wurde den Taster auf einen Interrupt legen damit das Programm "Jederzeit" reagieren kann aber das hat erstmal Zeit bis das Programm erstmal richtig läuft.




Mehr will ich jetzt nicht machen.

X-Ryder hat ja angeboten dir zu helfen und Zwei Leute sind einer zuviel also will ich mich nicht weiter einmischen.

x-ryder
28.11.2005, 10:29
ich nehme an, das der timer geplant aber noch nicht benutzt wurde, genauso wie die lauflicht-unterprogramme

in den lauflicht unterprogrammen gehört noch ein return hin, und die goto-methode ist leicht unsauber, wenn ich das mal so formulieren darf

das mit meiner hilfe und deinem rückzug iss ja sehr edel von dir, aber warum hilfst du ihm dann nicht mit deinen großen fachkenntnissen...

ausserdem sagst du überhaupt gar nichts zu seinem eigentlichen problem...

am besten würde es natürlich wirklich mit taster auf interrupt sein, dann kannste in den unterprogrammen einfach do-loops verwenden, ansonsten gibts aber auch noch ne möglichkeit, das anders zu machen, ich schreib dir mal gleich nen programm, dann kannste mir sagen ob du das verstehst

Ratber
28.11.2005, 10:45
Huh,schlecht geschlafen oder warum heulste mich an ? :wink:

x-ryder
28.11.2005, 14:32
ach ratber... keine sorge, mir gehen nur extra-sensible aufn geist ^^

so, hier iss das programm so wies gehen würde:


'################################################# ##
'#Lauflichtsteuerung mit 3 Verschiedenen Programmen#
'################################################# ##


$regfile = "M8def.dat"
$crystal = 3686400

Ddrd = &B11100000 'PD7, PD6, PD5 als Ausgänge festlegen, rest Eingang
Portd = &B00001100 'PullUps von PD2, PD3 Aktivieren

Dim Zler As Byte
Dim Pr1_3 As Byte

On Timer1 Ontimer1
Config Timer1 = Timer , Prescale = 64 'Timertakt = Crystal / 64
Enable Timer1 'Timer1 einschalten
Enable Interrupts 'Interrupts Global einschalten
Const Timervorgabe = 36736 'Hat mir rnAVR so berechnet


'###Deklarationen###

Led_gr Alias Portd.7 'LED Grün
Led_ge Alias Portd.6 'LED Gelb
Led_ro Alias Portd.5 'LED Rot
Prwata Alias Pind.3 'Programmwahltaster

Declare Sub Pr_1
Declare Sub Pr_2
Declare Sub Pr_3


'###Hauptschleife###

Do
Debounce Prwata , 0 , Pr_wechs , Sub 'Programmwahltaster entprellen und zu Pr_wechsel springen
Gosub Pr_wechsel
Loop

'###OnTimer1###

Ontimer1:
Timer1 = Timervorgabe
If Zler = 10 Then 'Wenn Zler = 9 dann...
Zler = 1 '...Zler = 0
End If
Incr Zler 'Zler + 1

Return





'###Unterprogramme###
Pr_wechs:
Incr Pr1_3
Gosub Pr_wechsel
Return


Pr_wechsel:

If Pr1_3 = 3 Then 'Wenn Pr1_3 = 2 dann...
Pr1_3 = 0 '...Pr1_3 = 0
End If

If Pr1_3 = 0 Then 'Wenn Pr1_3 = 0 dann...
Gosub Pr_1
End If '...zum Sub PR_1 springen

If Pr1_3 = 1 Then 'Wenn Pr1_3 = 1 dann...
Gosub Pr_2 '...zum sub PR_2 springen
End If

If Pr1_3 = 2 Then
Gosub Pr_3
End If

Return

'----------------

Pr_1:

Return


'---------------

Pr_2:

Return

'---------------

Pr_3:

Return

ich hoffe es geht auch ^^

Martin

hardstyleroxx
28.11.2005, 15:20
Erst mal vielen dank für die gute hilfe :) Ich werde es heute abend testen, habe leider immoment keine Zeit. Ich werde dann berichten wie es läuft.

hardstyleroxx
28.11.2005, 18:04
juhuuu es läuft nun :)

Hier mal der fertige Code:


'################################################# ##
'#Lauflichtsteuerung mit 3 Verschiedenen Programmen#
'################################################# ##


$regfile = "M8def.dat"
$crystal = 3686400

Ddrd = &B11100000 'PD7, PD6, PD5 als Ausgänge festlegen, rest Eingang
Portd = &B00001100 'PullUps von PD2, PD3 Aktivieren

Dim Zler As Byte
Dim Pr1_3 As Byte

On Timer1 Ontimer1
Config Timer1 = Timer , Prescale = 64 'Timertakt = Crystal / 64
Enable Timer1 'Timer1 einschalten
Enable Interrupts 'Interrupts Global einschalten
Const Timervorgabe = 36736 'Hat mir rnAVR so berechnet


'###Deklarationen###

Led_gr Alias Portd.7 'LED Grün
Led_ge Alias Portd.6 'LED Gelb
Led_ro Alias Portd.5 'LED Rot
Prwata Alias Pind.3 'Programmwahltaster

Declare Sub Pr_1
Declare Sub Pr_2
Declare Sub Pr_3


'###Hauptschleife###

Do
Debounce Prwata , 0 , Pr_wechs , Sub 'Programmwahltaster entprellen und zu Pr_wechsel springen
Gosub Pr_wechsel
Loop

'###OnTimer1###

Ontimer1:
Timer1 = Timervorgabe
If Zler >= 3 Then 'Wenn Zler = 10 dann...
Zler = 0 '...Zler = 1
End If
Incr Zler 'Zler + 1

Return





'###Unterprogramme###
Pr_wechs:
Incr Pr1_3
Gosub Pr_wechsel
Return


Pr_wechsel:

If Pr1_3 >= 3 Then 'Wenn Pr1_3 = 2 dann...
Pr1_3 = 0 '...Pr1_3 = 0
End If

If Pr1_3 = 0 Then 'Wenn Pr1_3 = 0 dann...
Gosub Pr_1
End If '...zum Sub PR_1 springen

If Pr1_3 = 1 Then 'Wenn Pr1_3 = 1 dann...
Gosub Pr_2 '...zum sub PR_2 springen
End If

If Pr1_3 = 2 Then
Gosub Pr_3
End If

Return

'----------------

Pr_1:

If Zler = 1 Then
Led_ro = 1
Led_ge = 1
Led_gr = 1
End If

If Zler = 2 Then
Led_ro = 0
Led_ge = 0
Led_gr = 0
End If

If Zler = 3 Then
Led_ro = 0
Led_ge = 1
Led_gr = 0
End If






Return


'---------------

Pr_2:

If Zler = 1 Then
Led_ro = 1
Led_ge = 0
Led_gr = 1
End If

If Zler = 2 Then
Led_ro = 0
Led_ge = 1
Led_gr = 0
End If

If Zler = 3 Then
Led_ro = 1
Led_ge = 1
Led_gr = 1
End If


Return

'---------------

Pr_3:

If Zler = 1 Then
Led_ro = 1
Led_ge = 0
Led_gr = 0
End If

If Zler = 2 Then
Led_ro = 0
Led_gr = 1
Led_ge = 0
End If

If Zler = 3 Then
Led_ro = 0
Led_gr = 0
Led_ge = 1
End If
Return

Ratber
28.11.2005, 18:51
ach ratber... keine sorge, mir gehen nur extra-sensible aufn geist ^^

Ahhja :wink:

hardstyleroxx
28.11.2005, 19:58
Eine Frage habe ich aber noch.
Wie kann ich nun die geschwindigkeit mit einem Taster erhöhen? von -100% - +100%
Am besten in 10% Schritten. Wenn er bei +100% angekommen ist Springt er auf -100% und geht dann wieder in 10% Schritten hoch.

Ich habe versucht die "const Timervorgabe" zu ändern aber das geht nicht. Gibts da einen anderen Trick?

Marco78
28.11.2005, 20:06
Timervorgabe nich als Konstante sondern als Variable zu deklarieren.
Dim Timervorgabe As Interger
z.B.
Konstanten haben immer einen festen Wert. Deshlab geht es nicht. Der Rest deines Programmes wie du es abgeändert hast kennt ja noch keiner, aber ich denke du bist auf dem richtigen Weg!

hardstyleroxx
28.11.2005, 20:31
Warum nehme ich denn z.B Interger und nicht Word? Das hab ich irgentwie noch nie verstanden.


Hier mal der Code wie es immoment aussieht. Aber das geht nicht weil ich Timervorgabe keinem Wert zugewiesen habe und ich wiess auch echt nicht genau wie und wo ich das machen soll.





'################################################# ##
'#Lauflichtsteuerung mit 3 Verschiedenen Programmen#
'################################################# ##


$regfile = "M8def.dat"
$crystal = 3686400

Ddrd = &B11100000 'PD7, PD6, PD5 als Ausgänge festlegen, rest Eingang
Portd = &B00001100 'PullUps von PD2, PD3 Aktivieren

Dim Zler As Byte
Dim Pr1_3 As Byte
Dim Schneller As Byte
Dim Timervorgabe As Double


On Timer1 Ontimer1
Config Timer1 = Timer , Prescale = 64 'Timertakt = Crystal / 64
Enable Timer1 'Timer1 einschalten
Enable Interrupts 'Interrupts Global einschalten


'###Deklarationen###

Led_gr Alias Portd.7 'LED Grün
Led_ge Alias Portd.6 'LED Gelb
Led_ro Alias Portd.5 'LED Rot
Prwata Alias Pind.3 'Programmwahltaster
Speed Alias Pind.2


Declare Sub Pr_1
Declare Sub Pr_2
Declare Sub Pr_3


'###Hauptschleife###

Do

Debounce Prwata , 0 , Pr_wechs , Sub 'Programmwahltaster entprellen und zu Pr_wechsel springen
Debounce Speed , 0 , S_change , Sub

Gosub Pr_wechsel
Loop

'###OnTimer1###

Ontimer1:
Timer1 = Timervorgabe
If Zler >= 3 Then 'Wenn Zler = 10 dann...
Zler = 0 '...Zler = 1
End If
Incr Zler 'Zler + 1

Return



'###Unterprogramme###

S_change:

If Schneller = 3 Then
Schneller = 0
End If

Incr Schneller

If Schneller = 0 Then
Timervorgabe = 7936
End If

If Schneller = 1 Then
Timervorgabe = 36736
End If

If Schneller = 2 Then
Timervorgabe = 46336
End If

Return


Pr_wechs:
Incr Pr1_3
Gosub Pr_wechsel
Return


Pr_wechsel:

If Pr1_3 >= 3 Then 'Wenn Pr1_3 = 2 dann...
Pr1_3 = 0 '...Pr1_3 = 0
End If

If Pr1_3 = 0 Then 'Wenn Pr1_3 = 0 dann...
Gosub Pr_1
End If '...zum Sub PR_1 springen

If Pr1_3 = 1 Then 'Wenn Pr1_3 = 1 dann...
Gosub Pr_2 '...zum sub PR_2 springen
End If

If Pr1_3 = 2 Then
Gosub Pr_3
End If

Return

Ratber
28.11.2005, 21:20
zb. direkt vor den "Deklarationen" mit "Timervorgabe = 100" (oder nem beliebigem Startwert deiner Wahl)

hardstyleroxx
28.11.2005, 21:45
Ja das war das erste was ich ausprobiert habe, blos nimmt der das irgentwie nicht an. Ich bekomme trotzdem noch den selben Fehler wie vorher beim Compilieren...

Ratber
29.11.2005, 05:12
Moin.

Habs mal eben in den Editor gezogen und da fiel es dann gleich auf.
Der Timer ist ja 16 Bittig und da wird auch nur eine entsprechend Dimensionierte Variable akzeptiert.


In Zeile 15 und 16 sind die Änderungen.





'################################################# ##
'#Lauflichtsteuerung mit 3 Verschiedenen Programmen#
'################################################# ##


$regfile = "M8def.dat"
$crystal = 3686400

Ddrd = &B11100000 'PD7, PD6, PD5 als Ausgänge festlegen, rest Eingang
Portd = &B00001100 'PullUps von PD2, PD3 Aktivieren

Dim Zler As Byte
Dim Pr1_3 As Byte
Dim Schneller As Byte
Dim Timervorgabe As Word
Timervorgabe = 100

On Timer1 Ontimer1
Config Timer1 = Timer , Prescale = 64 'Timertakt = Crystal / 64
Enable Timer1 'Timer1 einschalten
Enable Interrupts 'Interrupts Global einschalten


'###Deklarationen###

Led_gr Alias Portd.7 'LED Grün
Led_ge Alias Portd.6 'LED Gelb
Led_ro Alias Portd.5 'LED Rot
Prwata Alias Pind.3 'Programmwahltaster
Speed Alias Pind.2


Declare Sub Pr_1
Declare Sub Pr_2
Declare Sub Pr_3


'###Hauptschleife###

Do

Debounce Prwata , 0 , Pr_wechs , Sub 'Programmwahltaster entprellen und zu Pr_wechsel springen
Debounce Speed , 0 , S_change , Sub

Gosub Pr_wechsel
Loop

'###OnTimer1###

Ontimer1:
Timer1 = Timervorgabe
If Zler >= 3 Then 'Wenn Zler = 10 dann...
Zler = 0 '...Zler = 1
End If
Incr Zler 'Zler + 1

Return



'###Unterprogramme###

S_change:

If Schneller = 3 Then
Schneller = 0
End If

Incr Schneller

If Schneller = 0 Then
Timervorgabe = 7936
End If

If Schneller = 1 Then
Timervorgabe = 36736
End If

If Schneller = 2 Then
Timervorgabe = 46336
End If

Return


Pr_wechs:
Incr Pr1_3
Gosub Pr_wechsel
Return


Pr_wechsel:

If Pr1_3 >= 3 Then 'Wenn Pr1_3 = 2 dann...
Pr1_3 = 0 '...Pr1_3 = 0
End If

If Pr1_3 = 0 Then 'Wenn Pr1_3 = 0 dann...
Gosub Pr_1
End If '...zum Sub PR_1 springen

If Pr1_3 = 1 Then 'Wenn Pr1_3 = 1 dann...
Gosub Pr_2 '...zum sub PR_2 springen
End If

If Pr1_3 = 2 Then
Gosub Pr_3
End If

Return

hardstyleroxx
29.11.2005, 18:49
Danke es klappt :)

Was würde ich nur ohne euch machen *g*

Ratber
29.11.2005, 23:49
Suchen ? :wink: