Automatische Scriptumstellung auf tmp-Version
Moderator: Co-Administratoren
Re: Automatische Scriptumstellung auf tmp-Version
hallo nochmal in die Runde.
kann mal jemand das Script zur Sonnenstandsberechnung von Funkleuchtturm (Anhang) umstellen.
ich bekomme mehrere tmp_-Variablen für ein und die selbe Original-Variable (siehe Anhang)
Bsp.
!tmpA <--> delta
!tmpB <--> delta
!tmpC <--> delta
!tmpD <--> delta
!tmpE <--> temp
!tmpF <--> tag
!tmpG <--> tag
!tmpH <--> tag
!tmpI <--> tag
tmpB ... tmpD tauchen aber nicht auf!
Das Script sollte also trotzdem laufen - Schönheitsfehler.
Den Effekt habe ich auch bei anderen Scripten.
Müssen ggf. Einstellung von Excel angepasst werden / Problem mit WIN10??
kann mal jemand das Script zur Sonnenstandsberechnung von Funkleuchtturm (Anhang) umstellen.
ich bekomme mehrere tmp_-Variablen für ein und die selbe Original-Variable (siehe Anhang)
Bsp.
!tmpA <--> delta
!tmpB <--> delta
!tmpC <--> delta
!tmpD <--> delta
!tmpE <--> temp
!tmpF <--> tag
!tmpG <--> tag
!tmpH <--> tag
!tmpI <--> tag
tmpB ... tmpD tauchen aber nicht auf!
Das Script sollte also trotzdem laufen - Schönheitsfehler.
Den Effekt habe ich auch bei anderen Scripten.
Müssen ggf. Einstellung von Excel angepasst werden / Problem mit WIN10??
- Dateianhänge
-
- tmp_sonnenstandsberechnung 2_0.txt
- (6.61 KiB) 94-mal heruntergeladen
-
- sonnenstandsberechnung 2_0.txt
- (6.63 KiB) 100-mal heruntergeladen
-
- Beiträge: 972
- Registriert: 03.02.2014, 18:04
- Wohnort: Münsterland
- Hat sich bedankt: 27 Mal
- Danksagung erhalten: 8 Mal
Re: Automatische Scriptumstellung auf tmp-Version
Ja, die Variable "Delta" wird halt 4x deklariert, daher werden dafür auch 4 tmp-Namen erstellt - genutzt wird aber nur tmpA. Das ändert aber- wie du selber gemerkt hast - nicht die Lauffähigkeit, sondern ist tatsächlich ein "Schönheitsfehler".
Gleiches gilt für tmpH - tmpI ---> die sollte es auch nicht geben, weil alle Variablen "tag" mit tmpF ersetzt werden.
Poste das Script doch bitte im Eingangs erwähnten Fred - dort ist es besser aufgehoben als hier
Gleiches gilt für tmpH - tmpI ---> die sollte es auch nicht geben, weil alle Variablen "tag" mit tmpF ersetzt werden.
Poste das Script doch bitte im Eingangs erwähnten Fred - dort ist es besser aufgehoben als hier
Re: Automatische Scriptumstellung auf tmp-Version
Ich habe mir die Umbenennungsroutine nicht angeschaut, da ich nicht mit Excel arbeite.fischmir hat geschrieben:Das ändert aber- wie du selber gemerkt hast - nicht die Lauffähigkeit, sondern ist tatsächlich ein "Schönheitsfehler".
Allerdings könnte ich mir schon vorstellen, dass dies dennoch zu Problemen führen könnte.
Stell' bitte einmal diesen Code um und poste den umgestellten Code.
Code: Alles auswählen
integer lZahl;
lZahl = 1;
if(false)
{
integer lZahl = 999;
WriteLine(lZahl);
}
WriteLine(lZahl);
WriteLine("Ende");
-
- Beiträge: 972
- Registriert: 03.02.2014, 18:04
- Wohnort: Münsterland
- Hat sich bedankt: 27 Mal
- Danksagung erhalten: 8 Mal
Re: Automatische Scriptumstellung auf tmp-Version
Code: Alles auswählen
integer tmpA;
!Umgestellt auf tmp von fischmir
!Erstellt mit tmp-creator v1.2.0
tmpA = 1;
if(false)
{
integer tmpA = 999;
WriteLine(tmpA);
}
WriteLine(tmpA);
WriteLine("Ende");
!Neu <> Alt
!tmpA <--> lZahl
!tmpB <--> lZahl
Code: Alles auswählen
1
Ende
Code: Alles auswählen
1
999
Ende
Re: Automatische Scriptumstellung auf tmp-Version
Nö, denn der Block in der If-Abfrage wird ja nur dann ausgeführt, wenn die Bedingung "true" ergibt.fischmir hat geschrieben: Wobei ich eigentlich erwartet hatte:Code: Alles auswählen
1 999 Ende
Und das ist ja bei "false" garantiert nicht der Fall.
Der Test hat aber gezeigt, dass die Variable im Skript selbst nur einmal umgestellt wird und nur in der Auflistung doppelt erscheint. Und die mehrfach deklarierten Variablen hinterlassen dann "Löcher" in der Reihenfolge der Variablen, welche nachher im Skript tatsächlich verwendet werden.
.
-
- Beiträge: 972
- Registriert: 03.02.2014, 18:04
- Wohnort: Münsterland
- Hat sich bedankt: 27 Mal
- Danksagung erhalten: 8 Mal
Re: Automatische Scriptumstellung auf tmp-Version
So...nachdem ich nun den Parameter einführen wollte, dass man wählen kann, ob die Variablennamen in Kommentaren auch ersetzt werden können, ist mir in alchys allincl.-Script das folgende Konstrukt aufgefallen:
Ich war bisher immer der Meinung, dass ein ! IMMER einen Kommentar einleitet. Offentsichtlich kann es aber auch zur Negation von boolschen Ausdrücken verwendet werden. DAS könne ich auch wieder abfragen etc. . Da sich aber für mich nie eindeutig lösen lässt, wann der ! als Negation und wann als Kommentar genutzt wird, habe ich mich dazu entschieden, den Parameter nicht einzuführen.
So werden zukünftig auch Variablennamen in Kommentaren ersetzt.
Code: Alles auswählen
if (!serial == BLOCK) {
So werden zukünftig auch Variablennamen in Kommentaren ersetzt.
-
- Beiträge: 507
- Registriert: 26.10.2016, 16:08
- System: CCU
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 15 Mal
Re: Automatische Scriptumstellung auf tmp-Version
Ich denke diejenigen die vorher nicht ins Skript geschaut haben, denen ist es egal undfischmir hat geschrieben:So werden zukünftig auch Variablennamen in Kommentaren ersetzt
diejenigen die sich damit beschäftigen, können vergleichen und manuell ändern wenn sie wollen.
Das ist immer noch einfacher als ALLES manuell zu ändern, oder?
Wenn sonst alles klappt...
Tino
Re: Automatische Scriptumstellung auf tmp-Version
Hallo fischmirfischmir hat geschrieben:Ich war bisher immer der Meinung, dass ein ! IMMER einen Kommentar einleitet. Offentsichtlich kann es aber auch zur Negation von boolschen Ausdrücken verwendet werden. DAS könne ich auch wieder abfragen etc. . Da sich aber für mich nie eindeutig lösen lässt, wann der ! als Negation und wann als Kommentar genutzt wird, habe ich mich dazu entschieden, den Parameter nicht einzuführen.
ich persönlich habe mir angewöhnt, Kommentare mit !+Leerzeichen zu beginnen, Negationen mit !+Variable (ohne Leerzeichen).
Aber das ist meine Eigenart und ich werde bestimmt nicht alle User dazu bewegen, das genauso zu machen.
Also auch kein Problem, dann übersetz die Kommentare mit.
Wie Tino schon sagte, wenn sonst alles klappt ... Du sparst mir auch so trotzdem viel Arbeit. Außerdem verringert sich die Fehlerquote bei der Umsetzung erheblich, da kommt es auf das bischen Nacharbeit nicht an. Stellt sich Frage ob man überhaubt in den "übersetzten" Script Kommentare braucht? Kompilierte Programme sind auch nicht kommentiert.
Kleine Idee:
Die Löcher rausnehmen ist ok.
Vielleicht kannst du noch eine Meldung generieren, dass Variable "XYZ" doppelt deklariert wurde.
Ist zwar kein Fehler, manchmal sogar gewollt, wenn man Variablen tatsächlich mehrfach benutzt und umdefiniert, manchmal aber nur versehentlich gemacht und dass kann man dann bequem korrigieren, weil man darauf hingewiesen wird.