+ Antworten
Ergebnis 1 bis 7 von 7
  1. #1
    Registriert seit
    Nov 2010
    Ort
    Gernsheim
    Beiträge
    482

    Standard Formatierung will nicht so richtig.....

    Hallo Gemeinde,

    mal wieder was für zwischendurch

    Ich versuche gerade mal meine Ausgaben etwas auf zu hübschen....

    Was mache ich denn hier falsch, oder geht das überhaupt so, wie ich mir das vorstelle ?

    PHP-Code:
    $format '%4d' $format_jahr '%4d' $format_tag '%2d' $format_stunde '%2d' $format_minute
    $message sprintf($format$jahre$tage$stunden$minuten);
    SetValueString($output_uptime$message); 
    In der Variable im Webfront werden alle Leerzeichen ignoriert, was ich aber nicht möchte.

    Liebe Grüße
    Sascha
    "the flat earth society has members all around the globe"

  2. #2
    Registriert seit
    Feb 2005
    Ort
    Lübeck
    Beiträge
    19,002

    Da fehlen irgendwie Variablen. Magst du ein vollständiges Beispiel geben?

    paresy

  3. #3
    Registriert seit
    Nov 2010
    Ort
    Gernsheim
    Beiträge
    482

    Entschuldige

    Hatte auf deine Glaskugel gehofft

    Hier mal der ganze code (noch nicht aufgehübscht, aber man erkennt hoffentlich die idee)

    PHP-Code:
    <?

     $uptime_minute 
    GetValueInteger(29479 /*[Entwicklungsbereich Sascha\HTTP Commands Relais\Programm/Scripte\ESP Easy Single SAT\Uptime in Minuten]*/);
     
    $rekord_minute GetValueInteger(43582 /*[Entwicklungsbereich Sascha\HTTP Commands Relais\Programm/Scripte\ESP Easy Single SAT\Rekord Uptime]*/);
     
     
    $output_uptime 21705 /*[Entwicklungsbereich Sascha\HTTP Commands Relais\Programm/Scripte\ESP Easy Single SAT\Uptime String]*/;
     
    $output_uptime_rekord 20487 /*[Entwicklungsbereich Sascha\HTTP Commands Relais\Programm/Scripte\ESP Easy Single SAT\Rekord Uptime String]*/;
     
     
     
     
    $message "";
     
    $format  "";
     
     
    $jahre   0;
     
    $tage    0;
     
    $stunden 0;
     
    $minuten 0;
     
     if (
    $uptime_minute $rekord_minute) {
        
    SetValueInteger(43582 /*[Entwicklungsbereich Sascha\HTTP Commands Relais\Programm/Scripte\ESP Easy Single SAT\Rekord Uptime]*/$uptime_minute);
    }
     
     
     
    $sekunden GetValueInteger(29479 /*[Entwicklungsbereich Sascha\HTTP Commands Relais\Programm/Scripte\ESP Easy Single SAT\Uptime in Minuten]*/)*60;
     
        
    $minuten    bcdiv($sekunden'60'0);
        
    $sekunden   bcmod($sekunden'60');

        
    $stunden    bcdiv($minuten'60'0);
        
    $minuten    bcmod($minuten'60');

        
    $tage       bcdiv($stunden'24'0);
        
    $stunden    bcmod($stunden'24');
        
        
    $jahre      bcdiv($tage'365'0);
        
    $tage       bcmod($tage'365');



    $format_jahr   "";
    $format_tag    "";
    $format_stunde "";
    $format_minute "";

    if (
    $jahre == 1) {
    $format_jahr " Jahr  ";
    }else{
    $format_jahr " Jahre ";
    }

    if (
    $tage == 1) {
    $format_tag " Tag  ";
    }else{
    $format_tag " Tage ";
    }

    if (
    $stunden == 1) {
    $format_stunde " Stunde  ";
    }else{
    $format_stunde " Stunden ";
    }

    if (
    $minuten == 1) {
    $format_minute " Minute  ";
    }else{
    $format_minute " Minuten ";
    }

    if (
    $jahre == 0){
    $format '%4d' $format_tag '%2d' $format_stunde '%2d' $format_minute
    $message sprintf($format$tage$stunden$minuten);
    }
    if ((
    $jahre == 0) && ($tage == 0)) {
    $format '%2d' $format_stunde '%2d' $format_minute
    $message sprintf($format$stunden$minuten);
    }
    if ((
    $jahre == 0) && ($tage == 0) && ($stunden == 0)) {
    $format '%2d' $format_minute
    $message sprintf($format,$minuten);
    }
    if (
    $jahre 0) {
    $format '%4d' $format_jahr '%4d' $format_tag '%2d' $format_stunde '%2d' $format_minute
    $message sprintf($format$jahre$tage$stunden$minuten);
    }
    SetValueString($output_uptime$message);
    ?>
    Liebe Grüße und danke schonmal
    Sascha
    "the flat earth society has members all around the globe"

  4. #4
    Registriert seit
    Feb 2017
    Beiträge
    691

    Hallo Sascha,

    in HTML, und somit auch in WebFront und Konsole, werden mehrere Leerzeichen zu einem zusammengefasst. Ich vermute, das meinst du?

    Du kannst deine regulären Leerzeichen aber durch non-breaking spaces ersetzen, dann werden die auch nicht zusammengefasst. Das kannst du tun, indem du einfach str_replace verwendest, bevor du $message in die Variable schreibst: $message = str_replace(' ', chr(0xa0), $message);

  5. #5
    Registriert seit
    Nov 2010
    Ort
    Gernsheim
    Beiträge
    482

    ok,

    ich hatte nur gehofft, ich könne die "sprintf" funktion benutzen.

    hier würde ich ja zum Beispiel 4 verschiedene integer variablen in einer Zeile ausgeben.
    Dabei könnte ich mit der Formatierung angeben, das ich die erste Zahl bis zu 4 stellig haben möchte, die 2 soll bis zu 3 stellig werden, etc.
    Dabei kann ich über sprintf dann angeben, das die Leerstellen entweder mit Leerzeichen oder mit "0" aufgefüllt werden.

    Alternativ könnte ich wohl tables benutzen. Da muss ich mich aber erstmal reinlesen, damit habe ich noch nichts gemacht.

    Lieben Gruß
    Sascha
    "the flat earth society has members all around the globe"

  6. #6
    Registriert seit
    Feb 2017
    Beiträge
    691

    Du kannst auch sprintf weiterhin verwenden. Meine Codezeile müsstest du nur direkt vor der Ausgabe einfügen.

    Die Leerzeichen bleiben übrigens in der Variable auch erhalten, werden dann aber zusammengefasst dargestellt.

  7. #7
    Registriert seit
    Nov 2010
    Ort
    Gernsheim
    Beiträge
    482

    Ah ! Jetzt hat es "klick" gemacht

    Vielen Dank, so funktioniert das jetzt wunderbar.

    Liebe Grüße
    Sascha
    "the flat earth society has members all around the globe"

Ähnliche Themen

  1. Werte werden nicht richtig ausgewertet
    Von BommelPommel im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 6
    Letzter Beitrag: 31.05.12, 22:15
  2. IPS_SetScriptTimer geht nicht richtig
    Von hbraun im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 2
    Letzter Beitrag: 14.02.09, 16:48
  3. kann $IPS_Variable nicht richtig auswerten
    Von enra im Forum Skripte, PHP, SQL
    Antworten: 14
    Letzter Beitrag: 24.01.09, 01:12
  4. xcomfort schatet nicht richtig
    Von UVoigi im Forum Eaton Xcomfort
    Antworten: 0
    Letzter Beitrag: 02.12.07, 23:01