
Zwei Zeilige Seitenanzeige?
- [Leon] - BahnComfort
- Unerledigt
Als Gast kannst du nur Inhalte in deiner ausgewählten Sprache sehen. Registrierte Nutzer können die Sichtbarkeit anderer Sprachen in ihrem Kontrollzentrum aktivieren, weitere Infos hier.
Alle Themen sind in den Foren mit einer Sprachflagge gekennzeichnet:
-
-
-
-
LAWO und CoD von cooper können das, siehe die entsprechenden Readme's. Auch das zweizeilige an der Heckanzeige müsste sie vereinzelt / in den neuesten Versionen drauf haben.
Leider hat sich cooper zurückgezogen, glücklich ist nur noch, wer sich seine Dateien schon runtergeladen hat, als sie noch online waren.
-
Na klar geht das.
Man muss lediglich 2 neue TerminusL Einträge erstellen und definieren und dementsprechend auch anpassen.
Ich erkläre es mal anhand an den originale Krüger Matrix.
Bei dem Punkt
'Zweiter Schritt: Ziel erstellen:
Muss 2 weiteren Terminusstring eintragen mit 2 neuen Stringname.
Etwa so:
Code(L.L.IBIS_TerminusIndex) s0 (L.L.Matrix_TerminusIndex_Last) s1 = ! (L.L.elec_busbar_main) && {if} l0 1 (M.V.GetTerminusString) $RemoveSpaces (S.$.Matrix_TerminusL1) l0 2 (M.V.GetTerminusString) $RemoveSpaces (S.$.Matrix_TerminusL2) l0 3 (M.V.GetTerminusString) $RemoveSpaces (S.$.Matrix_TerminusL3) l0 4 (M.V.GetTerminusString) $RemoveSpaces (S.$.Matrix_TerminusL4)
Der 3. String im Hof-Datei kennt man unter anderen durch die SD Matrix an der Seite der nur Einzeilig schildert
Der 4. String wird für den Rollbandtextur benutzt. Bei einer Matrix können wir den aber benutzen
Danach müssen wir bei den Abschnitt 'Wenn nur die untere Zeile beschrieben ist, dann diese nach oben und untere leeren: ein weiterer Eintrag hinzufügen, damit auch an der Seite bei Einzeilige Ziele angezeigt werden kann in "Großshrift".
Nämlich so:
Code
Alles anzeigen'Wenn nur die untere Zeile beschrieben ist, dann diese nach oben und untere leeren: (L.$.Matrix_TerminusL1) "" $= {if} (L.$.Matrix_TerminusL2) (S.$.Matrix_TerminusL1) "" (S.$.Matrix_TerminusL2) {endif} 'Und das ganze für die Seite (L.$.Matrix_TerminusL3) "" $= {if} (L.$.Matrix_TerminusL4) (S.$.Matrix_TerminusL3) "" (S.$.Matrix_TerminusL4) {endif}
Unter den endif muss noch ein weiteren Teil angehängt werden, falls ein .tga vorhanden bzw. nicht ausgefüllt ist, dass der Inhalt von der Front genommen wird.
Code(L.$.Matrix_TerminusL3) 4 $SetLengthR ".tga" $= s2 0 (L.$.Matrix_TerminusL4) 4 $SetLengthR ".tga" $= s3 0 l2 l3 || (L.$.Matrix_TerminusL3) "" $= || {if} (L.$.Matrix_TerminusL1) (S.$.Matrix_TerminusL3) (L.$.Matrix_TerminusL2) (S.$.Matrix_TerminusL4) {endif}
Der Komplette Abschnitt sieht dann so aus:
Code
Alles anzeigen'Zweiter Schritt: Ziel erstellen: (L.L.IBIS_TerminusIndex) s0 (L.L.Matrix_TerminusIndex_Last) s1 = ! (L.L.elec_busbar_main) && {if} l0 1 (M.V.GetTerminusString) $RemoveSpaces (S.$.Matrix_TerminusL1) l0 2 (M.V.GetTerminusString) $RemoveSpaces (S.$.Matrix_TerminusL2) l0 3 (M.V.GetTerminusString) $RemoveSpaces (S.$.Matrix_TerminusL3) l0 4 (M.V.GetTerminusString) $RemoveSpaces (S.$.Matrix_TerminusL4) 'Wenn nur die untere Zeile beschrieben ist, dann diese nach oben und untere leeren: (L.$.Matrix_TerminusL1) "" $= {if} (L.$.Matrix_TerminusL2) (S.$.Matrix_TerminusL1) "" (S.$.Matrix_TerminusL2) {endif} 'Und das ganze für die Seite (L.$.Matrix_TerminusL3) "" $= {if} (L.$.Matrix_TerminusL4) (S.$.Matrix_TerminusL3) "" (S.$.Matrix_TerminusL4) {endif} (L.$.Matrix_TerminusL3) 4 $SetLengthR ".tga" $= s2 0 (L.$.Matrix_TerminusL4) 4 $SetLengthR ".tga" $= s3 0 l2 l3 || (L.$.Matrix_TerminusL3) "" $= || {if} (L.$.Matrix_TerminusL1) (S.$.Matrix_TerminusL3) (L.$.Matrix_TerminusL2) (S.$.Matrix_TerminusL4) {endif} {endif}
Nun müssen wir einen neuen Matrix_WriteTerminus erstellen.
Es genügt, wenn man den aktuellen kopiert und unbenannt. In etwa Matrix_WriteTerminus_Rechts
Die ganzen String im neuen Macro Matrix_WriteTerminus_Rechts müssen mit die neuen Strings ersetzt werden.
Aus Matrix_TerminusL1 wird Matrix_TerminusL3 & Matrix_TerminusL2 wird Matrix_TerminusL4
Tipp: Wenn man etwas geübt ist im Notepad++, kann man mittels Strg+H quasi übersetzen lassen.
Wichtig dabei ist, dass nach der Macro keine weitere Strings auftauchen dürfen und am wichtigsten ist, dass der Haken bei "Am Ende von vorne beginnen" raus ist!
Dann kann man problemlos auf den "Alle ersetzen" klicken
Alternativ kann man auch über den Button "Ersetzen" drücken.
Erspart immerhin das auswählen und einfügen.
Und am besten den Cursor "|" unterhalb des Macro ansetzen, weil ab da nach Unten übersetzt wird.
Das sieht am Ende so aus:
Code
Alles anzeigen{macro:Matrix_WriteTerminus_Rechts} '3.B.2 Bestimmen der verbliebenen Länge des Zieles vorne (l3): 115 (L.L.Matrix_Xpos) - s3 '3.B.3 Einzeilig (l4)? (L.$.Matrix_TerminusL4) "" $= s4 '3.B.4 Bestimmen des Fonts der Zeile 1 des Ziels (l0/l1): l4 {if} 9 s7 0 s2 (L.$.Matrix_TerminusL3) (L.L.Font_16x9) s0 (M.V.TextLength) s1 l3 > {if} 7 s7 0 s2 (L.$.Matrix_TerminusL3) (L.L.Font_16x7) s0 (M.V.TextLength) s1 l3 > {if} 5 s7 0 s2 (L.$.Matrix_TerminusL3) (L.L.Font_11x5) s0 (M.V.TextLength) s1 l3 > {if} 4 s7 3 s2 (L.$.Matrix_TerminusL3) (L.L.Font_9x4) s0 (M.V.TextLength) s1 {endif} {endif} {endif} {else} 7 s7 0 s2 (L.$.Matrix_TerminusL3) (L.L.Font_7x7) s0 (M.V.TextLength) s1 l3 > {if} 0 s2 6 s7 (L.$.Matrix_TerminusL3) (L.L.Font_7x6) s0 (M.V.TextLength) s1 l3 > {if} 0 s2 5 s7 (L.$.Matrix_TerminusL3) (L.L.Font_7x5) s0 (M.V.TextLength) s1 l3 > {if} 0 s2 4 s7 (L.$.Matrix_TerminusL3) (L.L.Font_7x4) s0 (M.V.TextLength) s1 {endif} {endif} {endif} {endif} '3.B.5 Berechnen des Sperrpixelfaktors: (Anzahl der Buchstaben, l6) (L.$.Matrix_TerminusL3) $length 1 - 0 max s6 '3.B.6 Berechnen der Sperrung: l3 l1 - l6 / trunc l7 min s7 l1 l6 l7 * + s1 '3.B.7 Berechnen des Zentrierungsaufschlages (l5): l3 l1 - 2 / trunc s5 '3.B.8 Schreiben: 0 (L.L.Matrix_Xpos) l5 + (L.L.Matrix_Ypos) l2 + l0 2 l7 (L.$.Matrix_TerminusL3) (M.V.STTextOut) '3.C.1 Bestimmen des Fonts der Zeile 2 des Ziels (l0/l1): l4 ! {if} 7 s7 (L.$.Matrix_TerminusL4) (L.L.Font_7x7) s0 (M.V.TextLength) s1 l3 > {if} 6 s7 (L.$.Matrix_TerminusL4) (L.L.Font_7x6) s0 (M.V.TextLength) s1 l3 > {if} 5 s7 (L.$.Matrix_TerminusL4) (L.L.Font_7x5) s0 (M.V.TextLength) s1 l3 > {if} 4 s7 (L.$.Matrix_TerminusL4) (L.L.Font_7x4) s0 (M.V.TextLength) s1 {endif} {endif} {endif} '3.C.2 Berechnen des Sperrpixelfaktors: (Anzahl der Buchstaben, l6) (L.$.Matrix_TerminusL4) $length 1 - 0 max s6 '3.C.3 Berechnen der Sperrung: l3 l1 - l6 / trunc l7 min s7 l1 l6 l7 * + s1 '3.C.4 Berechnen des Zentrierungsaufschlages (l5): l3 l1 - 2 / trunc s5 '3.C.5 Schreiben: 0 (L.L.Matrix_Xpos) l5 + (L.L.Matrix_Ypos) 9 + l0 2 l7 (L.$.Matrix_TerminusL4) (M.V.STTextOut) {endif} {end}
Tipp: Wer die Zeichenabstände maximieren will, der braucht bloß in der Zeile l3 l1 - l6 / trunc l7 min s7 das l7 durch ein maximalwert ersetzen z.B. mit 4. Dann würde es Theoretisch so aussehen l3 l1 - l6 / trunc 4 min s7.
Das haben wir einmal für die Obere/Voll und einmal für die Untere Zeile.
2 Dinge müssen wir noch anpassen:
1. müssen wir jetzt den Script sagen, dass für die Rechte Anzeige eine eigene Script hat indem man nach diesen Abschnitt sucht
Code
Alles anzeigen'Schreiben des Zieles Front-Anzeige: 0 (S.L.Matrix_Ypos) (M.L.Matrix_WriteTerminus) 'Und Schreiben des Zieles Seitenanzeige: 30 (S.L.Matrix_Xpos) 16 (S.L.Matrix_Ypos) (M.L.Matrix_WriteTerminus)
und bei den letzten Matrix_WriteTerminus gegen unseren neuen String Matrix_WriteTerminus_Rechts austauschen.
2. Müssen noch die beiden neue Strings im VMatrix_Stringvarlist.txt eingetragen werden.
Dann braucht man lediglich noch Abspeichern und ausprobieren.
Code
Alles anzeigen[addterminus_allexit] 963 Sieke Reisen SIEKE REISEN Sieke Reisen Sieke Reisen www.sieke-reisen.de Sieke Reisen .........................
Wenn alles richtig gemacht wurde sieht es so aus:
Aber bedenke, dass es zur Unterschiede im Script kommen kann und vielleicht daher mehr angepasst werden muss.
Alternativ wie schon gesagt wurde wäre die Lawo von Cooper gut gewesen. Aber leider nicht mehr erhältlich