Willkommen auf unserer neuen Forenplattform für das Bus-Profi Forum

Neue Felder für die persönlichen Daten
Man kann jetzt seine öffentlich einsehbare Daten genau bestimmen. Details findet ihr in in diesem Beitrag.

Durch die neue Forensoftware und die Portierung der Daten konnten die Passwörter aus dem alten Forum nicht übernommen werden, bitte lassen Sie sich ein neues Passwort über die Passwort vergessen Funktion zusenden. Sollte es zu Problemen kommen kontaktieren Sie das Bus-Profi Team per E-Mail.

Auffüllen mit Leerzeichen bei dynamischen Text

Hard- und Softwarefragen rund Domiq-Module fürs LCN-System

Themenersteller
mr_claus
Fleißiges Mitglied
Fleißiges Mitglied
Beiträge: 485
Registriert: Do 29. Dez 2011, 21:47
Danksagung erhalten: 4 Mal

#1 Auffüllen mit Leerzeichen bei dynamischen Text

Beitragvon mr_claus » Do 9. Jan 2014, 08:52

Dynamischer Text wird manchmal nicht angezeigt, beim Übertragen von 12-14 Zeichen wenn ich mich recht entsinne (danke Thomas für den Hinweis). Folgende Scripts können verwendet werden um Text für die Übertragung aufzufüllen.

Code: Alles auswählen

-- Pads str to length len with char from left
string.rpad = function(str, len, char)
    if char == nil then char = ' ' end
    return string.rep(char, len - #str) .. str
end

-- Pads str to length len with char from right
string.lpad = function(str, len, char)
    if char == nil then char = ' ' end
    return str .. string.rep(char, len - #str)
end

-- Pads str to length len with char from left and right
string.cpad = function(str, len, char)
    if char == nil then char = ' ' end
    return string.rep(char, math.floor((len - #str)/2)) .. str .. string.rep(char, math.ceil((len - #str)/2))
end

-- Dynamic Text Fix, if stringlen > 11 and  11 and string.len(line) < 15 then
        if align == 'left' then line = string.lpad(line,20,' ')
        elseif align == 'center' then line = string.cpad(line,20,' ')
        elseif align == 'right' then line = string.rpad(line,20,' ')
        end
    end
    return line
end

-- example
line = dyntextfix('0123456789012','center')

Benutzeravatar

Beleuchtfix
Administrator
Administrator
Beiträge: 5302
Registriert: Mi 10. Jan 2007, 18:49
Hat sich bedankt: 4 Mal
Danksagung erhalten: 16 Mal
Kontaktdaten:

#2 RE: Auffüllen mit Leerzeichen bei dynamischen Text

Beitragvon Beleuchtfix » Do 9. Jan 2014, 09:45

Für Domiq gibt es inzwischen eine direkten Befehl um Texte zu übertragen, könnte das Leben einfacher machen.
Schaut mal im Thread Domiq Channels: Ergänzungen zur Dokumentation.

Viel Erfolg
Florian

Benutzeravatar

Uwe
(†)
Beiträge: 14250
Registriert: So 26. Mai 2002, 23:10
Hat sich bedankt: 13 Mal
Danksagung erhalten: 56 Mal

#3 RE: Auffüllen mit Leerzeichen bei dynamischen Text

Beitragvon Uwe » Do 9. Jan 2014, 12:15

Das stimmt schon, Florian.
Die Texte sind aber (wie auch in der PCK-Doku beschrieben) immer um die 12 Zeichen erst/oder mit einem Leerzeichen beendet.
Dieses kleine 'Manko' gleicht Claus mit den Skripten (hoffentlch) aus (ich hab's noch nicht probiert).
Ähnliches machen die Jungs beim IPS übrigens auch, da hat Clemens ein Skript geschrieben (habe ich bislang auch noch nicht probiert).

Grüße, Uwe
----------------o00o----'(_)'----o00o---------------------

Benutzeravatar

Beleuchtfix
Administrator
Administrator
Beiträge: 5302
Registriert: Mi 10. Jan 2007, 18:49
Hat sich bedankt: 4 Mal
Danksagung erhalten: 16 Mal
Kontaktdaten:

#4 RE: Auffüllen mit Leerzeichen bei dynamischen Text

Beitragvon Beleuchtfix » Do 9. Jan 2014, 12:20

Moin Uwe,

ich habe bei mir verschiedene Längen probiert und es ging immer problemlos mit dem LCN.text Befehl. Allerdings kenne ich die "kritischen Größen" nicht genau, da käme es auf einen Versuch an. Bei dem Befehl muss ich einfach die Zeile und den Text eingeben, ich hatte den Eindruck, das der Rest intern geregelt wird.

Gruß
Florian


Themenersteller
mr_claus
Fleißiges Mitglied
Fleißiges Mitglied
Beiträge: 485
Registriert: Do 29. Dez 2011, 21:47
Danksagung erhalten: 4 Mal

#5 RE: Auffüllen mit Leerzeichen bei dynamischen Text

Beitragvon mr_claus » Do 9. Jan 2014, 13:31

Dann versuch doch mal den String "1234567890123" dorthin zu schicken, verkürze und verlängere ihn, wenn es nicht mittlerweile behoben ist, dann sollte der String bei einer Länge von 12-14 Zeichen nicht am Display auftauchen, deshalb ergänze ich diesen um Leerzeichen, entweder davor, dahinter oder beides, je nachdem ob es linksbündig, zentriert oder rechtsbündig angezeigt werden soll.

Benutzeravatar

Beleuchtfix
Administrator
Administrator
Beiträge: 5302
Registriert: Mi 10. Jan 2007, 18:49
Hat sich bedankt: 4 Mal
Danksagung erhalten: 16 Mal
Kontaktdaten:

#6 RE: Auffüllen mit Leerzeichen bei dynamischen Text

Beitragvon Beleuchtfix » Do 9. Jan 2014, 14:17

Mhm, stimmt in etwa, wenn ich 13 Zeichen anzeige oder 25, dann wird das letzte Zeichen verschluckt, der Rest aber doch angezeigt, 12 und 14 sind ok, ebenso 24 und 26 Zeichen. Mit zusätzlichen Leerzeichen geht es wieder.

Ich Schreibe mal Piotr, die finden bestimmt wieder einen Workaround über diesen LCN Fehler.

Gruß
Florian


Themenersteller
mr_claus
Fleißiges Mitglied
Fleißiges Mitglied
Beiträge: 485
Registriert: Do 29. Dez 2011, 21:47
Danksagung erhalten: 4 Mal

#7 RE: Auffüllen mit Leerzeichen bei dynamischen Text

Beitragvon mr_claus » Do 9. Jan 2014, 15:04

Meine Scripts sind der Workaround, Piotr kann da mit Sicherheit eine finale Lösung liefern, bis dahin funktionieren die Scripts ganz gut.

Benutzeravatar

Thomas
Alleswisser
Alleswisser
Beiträge: 5743
Registriert: Mo 21. Apr 2008, 20:03
Hat sich bedankt: 20 Mal
Danksagung erhalten: 13 Mal

#8 RE: Auffüllen mit Leerzeichen bei dynamischen Text

Beitragvon Thomas » Do 9. Jan 2014, 19:13

LCN.text.0.7.1=12345678901 geht
LCN.text.0.7.1=123456789012 geht nicht
LCN.text.0.7.1=1234567890123 geht nicht
LCN.text.0.7.1=12345678901234 geht.
am GT4D "Zebra"(also uralt..;) )

Das wiederholt sich dann.

gruss thomas

ps. Danke Claus, habe ich aber noch nicht getestet, da meine Texte von der LinHK kommen....

pps. wenn ich die Laufschrift vom Zebra mit neuen GT4D vergleiche, gefällt mir das alte besser, da langsamer.
lg Thomas

Benutzeravatar

LuckyLPA
Alleswisser
Alleswisser
Beiträge: 2446
Registriert: Di 13. Apr 2010, 16:17
Danksagung erhalten: 6 Mal

#9 RE: Auffüllen mit Leerzeichen bei dynamischen Text

Beitragvon LuckyLPA » Do 9. Jan 2014, 19:55

Moin.

Ist das nur ein Problem mit dem Base? Habe das mal eben per PCK-Befehl aus der GVS probiert und es geht wunderbar... :confused:

mfg Carsten
Wenn du Hufgetrappel hörst, denk an Pferde und nicht an Zebras.

Benutzeravatar

Thomas
Alleswisser
Alleswisser
Beiträge: 5743
Registriert: Mo 21. Apr 2008, 20:03
Hat sich bedankt: 20 Mal
Danksagung erhalten: 13 Mal

#10 RE: Auffüllen mit Leerzeichen bei dynamischen Text

Beitragvon Thomas » Do 9. Jan 2014, 20:38

Hallo Carsten,

per PCK-Befehl kein Problem.
Steht doch in der Doku, Textende=weniger als 12Zeichen im Block
Wenn es genau 12 Zeichen im Block sind, braucht es den nächsten Block mit kürzer 12 Zeichen.

Gruss Thomas - der nur den DYN Text für Anzeigen im Display nutzt, da geht einfach mehr.
lg Thomas


Zurück zu „Domiq-Module - DOMIQ Sp. z o.o.“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste