[Gelöst] ampel funktion auf der auftrags maske

10. Oktober 2008 10:38

hallo zusamen.

ich möchte auf der auftrags maske drei keise mit je verschidenen farben an zeigen.
wie eine ampel.

ich möchte wenn balance gleich null dann soll die ampel grün leuhten.
wenn balance kleiner als 500€ dann gelb .
wenn balance gröser als 500€ dann Rot.

kann mir jemeand den code sagen wie ich es am besten realisieren kann.
ich muss so schnell wie möglich haben.

ich habe mir überlegt das ich erst einmall drei graue kreise mache und über den drei kreise dann roten dann gelben dann grünen kreis hin setze und diese dann immer visebl oder nicht viesebel setze.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von nav4 am 13. Oktober 2008 13:33, insgesamt 2-mal geändert.

Re: ampel funktion auf der auftrags maske

10. Oktober 2008 11:03

ich gebe dir kein Code aber ne Anleitung ;)

nutze lieber Bilder für die Ampel!

1. Alle Ampel Controls auf visible(false) setzen
2. richtigen Trigger auswaehlen!
3. If Anweisung mit "balance" = 0 THEN Control1.Visible(TRUE) ....etc. in den trigger setzen

fertig! sollte schon funktionieren.

am besten wäre es die IF in eine Funktion zu packen damit man evtl. leichter von wo anders aus aufrufen kann (z.B. passender Validate)


viel Spass beim programmieren ;)

Re: ampel funktion auf der auftrags maske

10. Oktober 2008 11:33

muss ich irgent welche variablen setzen..

ich bin neu in den if an weisungen.

Re: ampel funktion auf der auftrags maske

10. Oktober 2008 11:42

Evtl. könnte das hier für dich nützlich sein: Alternative einer Ampelfunktion über bunte Webdings

Re: ampel funktion auf der auftrags maske

10. Oktober 2008 12:02

welchen funktion oder befehl muss an wenden.

meine jetzige lösung ist :

IF balance = 0 THEN
MESSAGE('Auftrag kann geplant werden')
ELSE
MESSAGE('kann nicht geplant werden.');

.....
ich möchte aber eigentlich


IF balance = 0 THEN
control1:= (visebl')
ELSE
control1:= (no visebl')

Re: ampel funktion auf der auftrags maske

10. Oktober 2008 12:03

mach einfach:

CurrForm.control1.VISIBLE := True/False

Edit: Also einfach in deinem Fall:

IF balance = 0 THEN
CurrForm.control1.VISIBLE := True
ELSE
CurrForm.control1.VISIBLE := False

Re: ampel funktion auf der auftrags maske

10. Oktober 2008 12:14

danke

IF balance = 0 THEN
CurrForm.control1.VISIBLE := True
ELSE
CurrForm.control1.VISIBLE := False


aber er mekert keine variable control1.

in welchem trigger währe es am besten.

Re: ampel funktion auf der auftrags maske

10. Oktober 2008 12:19

Du musst für control1 noch eingeben, wie die control heißt, die unsichtbar, bzw. sichtbar sein soll!

Re: ampel funktion auf der auftrags maske

10. Oktober 2008 12:25

habe ich gemacht aber er mekert trotzdem un bekannte variable.

Re: ampel funktion auf der auftrags maske

10. Oktober 2008 12:31

Hast du auch den richtigen Namen der control eingegeben? Haste ihn überhaupt geändert? Weil am Anfang haben controls irgend ne id aus mehreren Zahlen.

Re: ampel funktion auf der auftrags maske

10. Oktober 2008 12:36

glaub mir ich habe den gleichen namen verwendet und er mekert un bekannte variable.

ich glaube es muss an was anderes liegen.

Re: ampel funktion auf der auftrags maske

10. Oktober 2008 13:38

hallo kann den keiner sagen warum er eine variable haben will.
unbekante variable.control1

IF balance = 0 THEN
CurrForm.control1.VISIBLE := True
ELSE
CurrForm.control1.VISIBLE := False

ich möchte doch nur die eigenschaften der shape ändern visble no zu visbl yes .

wenn balance := 0 Then

Re: ampel funktion auf der auftrags maske

10. Oktober 2008 13:52

Es wurde bereits gesagt: Rufe die Eigenschaften deines Controls auf und vergebe unter der Eigenschaft Name einen entsprechenden Namen, z.B. ControlGreen. Dies ist Voraussetzung - dort darf nichts mit spitzen Klammern stehen! Dann erst kannst du das Control ansprechen:

Code:
CurrForm.ControlGreen.VISIBLE(Balance = 0);


Dieser Code entsprach deinem bisherigen Konstrukt
Code:
IF balance = 0 THEN
  CurrForm.ControlGreen.VISIBLE := True
ELSE
  CurrForm.ControlGreen.VISIBLE := False;

Re: ampel funktion auf der auftrags maske

10. Oktober 2008 14:10

ich kann micht nicht richtig ausdrüken.

unbekante varible ControlGreen

Re: ampel funktion auf der auftrags maske

10. Oktober 2008 14:38

das MUSS funktionieren wenn du das so gemacht hast, wie "wir" das beschrieben haben.

evtl. checkst du die controlly nochmal! nicht die Caption sondern der NAME muss so sein.
Mal ganz allgemein gesagt.

CurrForm."DEINCONTROLLNAME".VISIBLE(TRUE);

evtl. schliess die Form mal ohne zu kompilieren und starte sie neu...

Re: ampel funktion auf der auftrags maske

10. Oktober 2008 15:45

habe hin bekommen mein fehler...

eine frage noch.

bei navision habe ich die möglich keiten zu sagen in betrag <200 then oder >200 then

habe ich auch die möglich keit zu sagen zwische 1 bis 200 then

danke für euro hilfe.

Re: ampel funktion auf der auftrags maske

10. Oktober 2008 15:49

im Coding oder im Filter?

Re: ampel funktion auf der auftrags maske

10. Oktober 2008 15:54

welcher symbol wie ?
beispiel bitte

zeige mir alle beträge zwieschen 1 bis 200. wie ??????

zeige mir alle beträge kleiner < 200. ok

zeige mir alle beträge größer >200. ok

Re: ampel funktion auf der auftrags maske

10. Oktober 2008 15:57

CurrForm.ControlRed.VISIBLE := Balance >= 500;
CurrForm.ControlYellow.VISIBLE := (Balance > 0) AND (Balance < 500);
CurrForm.ControlGreen.VISIBLE := Balance = 0;