Ändern einer Variablen via Bildschirmeingabe
Moderator: Co-Administratoren
- Fragezeichen
- Beiträge: 29
- Registriert: 23.04.2009, 19:17
- Wohnort: Spanien
Ändern einer Variablen via Bildschirmeingabe
Hallo an Alle,
nach längerer Auszeit muss ich an meiner Programmierung einige Änderungen durchführen
und steh total auf dem "Schlauch".
Um meine Heizung individueller zu steuern würde ich gern zwei Temperatur Werte (variablen)
über Eingabe am Bildschirm verändern.
Ich habe mir zwei Objekte (Zahl) erstellt und in das Makro folgenden Befehl geschrieben:
Objekt 1
Eingabe("Neue Aus Temp",Heizungssteuerung.VarOff)
Objekt 2
Eingabe("NeueEinTemp",Heizungssteuerung.VarOn)
Wenn ich nun das Objekt klicke, öffnet sich ein Eingabefenster, ich trage einen Wert ein aber der Wert wird nicht in
der Variablen geändert.
Kann jemand für mich das Licht bitte einschalten
Grüsse Fragezeichen
nach längerer Auszeit muss ich an meiner Programmierung einige Änderungen durchführen
und steh total auf dem "Schlauch".
Um meine Heizung individueller zu steuern würde ich gern zwei Temperatur Werte (variablen)
über Eingabe am Bildschirm verändern.
Ich habe mir zwei Objekte (Zahl) erstellt und in das Makro folgenden Befehl geschrieben:
Objekt 1
Eingabe("Neue Aus Temp",Heizungssteuerung.VarOff)
Objekt 2
Eingabe("NeueEinTemp",Heizungssteuerung.VarOn)
Wenn ich nun das Objekt klicke, öffnet sich ein Eingabefenster, ich trage einen Wert ein aber der Wert wird nicht in
der Variablen geändert.
Kann jemand für mich das Licht bitte einschalten
Grüsse Fragezeichen
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: Ändern einer Variablen via Bildschirmeingabe
Hallo Fragezeichen
Wie geht's dann weiter im Makro? Ist dir bewusst, dass das Makro weiterarbeitet, der eingegebene Wert aber erst zur Verfügung steht, wenn du OK geklickt hast? Also nach EINGABE() ein WARTE() einfügen! - Lies dazu auch mal die Homeputer-Hilfe.
Viele Grüsse
Bümpi
Wie geht's dann weiter im Makro? Ist dir bewusst, dass das Makro weiterarbeitet, der eingegebene Wert aber erst zur Verfügung steht, wenn du OK geklickt hast? Also nach EINGABE() ein WARTE() einfügen! - Lies dazu auch mal die Homeputer-Hilfe.
Viele Grüsse
Bümpi
- Fragezeichen
- Beiträge: 29
- Registriert: 23.04.2009, 19:17
- Wohnort: Spanien
Re: Ändern einer Variablen via Bildschirmeingabe
Hallo buempi,
vielen Dank für die Antwort. Ich habe jetzt ein warte eingefügt.
Allerdings hat sich an dem Ergebnis leider nichts geändert.
Eingabe("NeueEinTemp",Heizungssteuerung.VarOn)
warte("00:00:20")
Das ist alles was in dem Objekt steht. Es soll ja auch nur als Anzeige und Möglichkeit
zum ändern der soll werte da sein.
Soll heissen ich habe einen Solar Speicher und möchte über den Bildschirm die soll werte (Einschalt Temperatur/Ausschalt Temperatur)
eingeben. Die Variablen werden in einem anderen Objekt (Heizungssteuerung) verwendet.
Bin ich auf dem ganz falschen Weg?
Gruss Fragezeichen
vielen Dank für die Antwort. Ich habe jetzt ein warte eingefügt.
Allerdings hat sich an dem Ergebnis leider nichts geändert.
Eingabe("NeueEinTemp",Heizungssteuerung.VarOn)
warte("00:00:20")
Das ist alles was in dem Objekt steht. Es soll ja auch nur als Anzeige und Möglichkeit
zum ändern der soll werte da sein.
Soll heissen ich habe einen Solar Speicher und möchte über den Bildschirm die soll werte (Einschalt Temperatur/Ausschalt Temperatur)
eingeben. Die Variablen werden in einem anderen Objekt (Heizungssteuerung) verwendet.
Bin ich auf dem ganz falschen Weg?
Gruss Fragezeichen
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: Ändern einer Variablen via Bildschirmeingabe
Eigentlich nicht; aber woher weisst du, dass es nicht geklappt hat? Dazu müsstest du dir doch die Variable nach der Eingabe noch Anzeigen lassen. Also z.B.:Fragezeichen hat geschrieben:Bin ich auf dem ganz falschen Weg?
Code: Alles auswählen
Eingabe("NeueEinTemp",Heizungssteuerung.VarOn)
warte("00:00:20")
Anzeige := "Neu eingegebener Wert: " + Heizungssteuerung.VarOn
Viele Grüsse
Bümpi
- Fragezeichen
- Beiträge: 29
- Registriert: 23.04.2009, 19:17
- Wohnort: Spanien
Re: Ändern einer Variablen via Bildschirmeingabe
Hallo buempi,
leider kein Erfolg. Nach den 20 sec. warten springt der Wert wieder zurück auf den Wert davor.
Ich versuch es mal genauer zu beschreiben:
Ich habe ein Objekt Namens AnzeigeVarOn mit dem Format Zeichen(Zahl ebenfalls versucht) erstellt und das zeige
ich auch in der Visualisierung an.
Inhalt des Macros wie von Dir beschrieben:
Die Variable wird im Objekt Heizungssteuerung verwendet.
Gruss Fragezeichen
leider kein Erfolg. Nach den 20 sec. warten springt der Wert wieder zurück auf den Wert davor.
Ich versuch es mal genauer zu beschreiben:
Ich habe ein Objekt Namens AnzeigeVarOn mit dem Format Zeichen(Zahl ebenfalls versucht) erstellt und das zeige
ich auch in der Visualisierung an.
Inhalt des Macros wie von Dir beschrieben:
Code: Alles auswählen
Eingabe("NeueEinTemp",Heizungssteuerung.VarOn)
warte("00:00:20")
AnzeigeVarOn := "Neu eingegebener Wert: " + Heizungssteuerung.VarOn
Gruss Fragezeichen
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: Ändern einer Variablen via Bildschirmeingabe
Hallo Fragezeichen
Wenn du ins Eingabefeld z.B. 33 einträgst, müsste in deinem Zeichenobjekt "AnzeigeVarOn" nach 20 Sekunden der Text "Neu eingegebener Wert: 33" (ev. 33,0 wenn deine Variable einen Startwert mit Dezimalstelle hat) erscheinen.
Was kommt denn bei dir? Ist die Variable VarOn wirklich vom Typ Zahl? Wenn das der Fall ist, und trotzdem was anderes kommt, läuft irgendwo noch ein weiteres Makro, welches da reinpfuscht. Markiere mal dein Objekt "Heizungssteuerung" und klicke auf "Bezüge anzeigen". Vielleicht kannst du so den Sünder finden.
Viele Grüsse
Bümpi
Wenn du ins Eingabefeld z.B. 33 einträgst, müsste in deinem Zeichenobjekt "AnzeigeVarOn" nach 20 Sekunden der Text "Neu eingegebener Wert: 33" (ev. 33,0 wenn deine Variable einen Startwert mit Dezimalstelle hat) erscheinen.
Was kommt denn bei dir? Ist die Variable VarOn wirklich vom Typ Zahl? Wenn das der Fall ist, und trotzdem was anderes kommt, läuft irgendwo noch ein weiteres Makro, welches da reinpfuscht. Markiere mal dein Objekt "Heizungssteuerung" und klicke auf "Bezüge anzeigen". Vielleicht kannst du so den Sünder finden.
Viele Grüsse
Bümpi
- Fragezeichen
- Beiträge: 29
- Registriert: 23.04.2009, 19:17
- Wohnort: Spanien
Re: Ändern einer Variablen via Bildschirmeingabe
Läuft das normal? Ist das richtig so?
Also wenn ich am Bildschirm auf das Objekt AnzeigeVarOn klicke
öffnet sich ein Eingabefenster, das ist aber nicht das welches ich durch die Anweisung
Eingabe(" aufrufe. Denn da steht ein anderer Text drin. Das ist das Eingabefenster das kommt wenn
man z.B. auf einen Temperatursensor klickt. Wenn ich nun etwas in die Eingabezeile eintrage, und
mit OK bestätige sehe ich kurz ein weiteres Fenster aufblitzen (öffnen schliessen).
Über die Ablaufverfolgung habe ich gesehen das sich ein zweites Fenster (Das Fenster was durch die Anweisung aufgerufen wird) öffnet und wieder schliesst.
Bringt Dich das auf eine Idee, wo zu suchen wäre?
Danke
Fragezeichen
Also wenn ich am Bildschirm auf das Objekt AnzeigeVarOn klicke
öffnet sich ein Eingabefenster, das ist aber nicht das welches ich durch die Anweisung
Eingabe(" aufrufe. Denn da steht ein anderer Text drin. Das ist das Eingabefenster das kommt wenn
man z.B. auf einen Temperatursensor klickt. Wenn ich nun etwas in die Eingabezeile eintrage, und
mit OK bestätige sehe ich kurz ein weiteres Fenster aufblitzen (öffnen schliessen).
Über die Ablaufverfolgung habe ich gesehen das sich ein zweites Fenster (Das Fenster was durch die Anweisung aufgerufen wird) öffnet und wieder schliesst.
Bringt Dich das auf eine Idee, wo zu suchen wäre?
Danke
Fragezeichen
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: Ändern einer Variablen via Bildschirmeingabe
Ja! Die Funktion EINGABE() verwendet man normalerweise in einem Knopf, wenn man sie durch Mausklick starten will. Das Fenster eines Zahlen- oder Zeichen-Objektes kann man ja direkt öffnen und so den Wert des Objektes (nicht allenfalls darin enthaltenerer Variablen) ändern.Fragezeichen hat geschrieben:Bringt Dich das auf eine Idee, wo zu suchen wäre?
Wenn du das Makro im Zahlenobjekt selbst drin hast, wird das Objekt-Fenster geöffnet; dann siehst du aber auch nicht die von dir programmierte Abfrage. Nur wenn du dann in diesem Objekt "Ausführen bei Änderung" aktiviert hast, wird das Makro nach dem Ändern der Wertes und Klick auf OK gestartet und dein Eingabe-Fenster erscheint.
Verschiebe das Makro in einem Knopf, und alles läuft, wie du es möchtest!
Viele Grüsse
Bümpi
- Fragezeichen
- Beiträge: 29
- Registriert: 23.04.2009, 19:17
- Wohnort: Spanien