• 23.05.2024, 23:54
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Anzeige der Systemzeit auf einer Übersichtsseite

Sonntag, 9. August 2020, 18:44

Hi zusammen,

ich hab mir meine Seite soweit zusammengestellt und bin soweit zufrieden. Das einzige, was mir aktuell noch fehlt, ist die Systemzeit. Klingt lapidar, aber hier meine Probleme damit:
  1. Aida64: Schreiben der Systemzeit in die WMI: Funktioniert leider nicht. Option ist in Aida aktiviert, aber in der Daten-Schnellansicht kann der AQ Service die Info nicht auslesen. Neustart des Systems hilft nichts.
  2. Selber basteln über die Datenquelle Time: Recht umständlich und führende "0" bei "08:02" werden nicht angezeigt.
  3. XAML selbst kann das wohl auch nicht so einfach, hab da jetzt aber auch noch nicht so intensiv geschaut.

Habt ihr noch eine Idee?
Danke!

Montag, 10. August 2020, 17:40

Mit XAML kannst Du in jedem Fall die Zahlen aus dem Time Objekt richtig formatieren:

http://hinzberg.de/wpf/wpf/xamlstring.html

Montag, 10. August 2020, 19:14

Hi Stephan,
danke für den Hinweis. Habs mir mal angeschaut und hab den "0" Placeholder für StringFormat gefunden.
<TextBlock.Text>
<MultiBinding Converter="{StaticResource UnitConverter}" ConverterParameter="0" StringFormat=":{0:00}">
<Binding ElementName="this" Path="DataContext.Data"/>
<Binding ElementName="this" Path="DataContext.Data.v"/>
</MultiBinding>
</TextBlock.Text>
Laut der Beschreibung (soweit ich sie verstanden habe) sollte der Placeholder eigentlich die Lösung sein, aber es funktioniert nicht.
Hab ich hier her:
https://docs.microsoft.com/en-us/dotnet/…rectedfrom=MSDN

Mittwoch, 12. August 2020, 09:38

Stephan? :)

Mittwoch, 12. August 2020, 09:59

das ist erst mal so falsch.

Quellcode

1
<MultiBinding Converter="{StaticResource UnitConverter}" ConverterParameter="0" StringFormat=":{0:00}">


das ist ein einfaches Binding. Die Kurzversion ist, man kann aktuell KEINE Zeit im XAML auf ein UI Objekt binden. Es fehlt ein Update Trigger. Das müssen wir für diesen speziellen fall implementieren.
Ob, wann und wie genau das passieren wird kann ich nicht sagen.

So kann man eine zahl mit fürender null formatieren wenn diese einstellig ist und man eine zweistellige ausgabe benötigt

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<UserControl
    x:Name="this"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300">
    <Grid>
        <TextBlock
            Text="{Binding ElementName=this, Path=DataContext.Value, StringFormat={}{0:00}}"
            Foreground="White"
            FontSize="32"
            HorizontalAlignment="Center"
            VerticalAlignment="Center"  />
    </Grid>
</UserControl>


ohne text vor der zahl:

Quellcode

1
Text="{Binding ElementName=this, Path=DataContext.Value, StringFormat={}{0:00}}"

mit text:

Quellcode

1
Text="{Binding ElementName=this, Path=DataContext.Value, StringFormat=Test: {0:00}}"

Mittwoch, 12. August 2020, 11:35

Update

Donnerstag, 13. August 2020, 23:20

Hi Sebastian,

ok, danke für die Antwort, ich spiele damit mal noch etwas herum.
EDIT: Habs hinbekommen, hat funktioniert mit deinen Tipps, die Minuten haben jetzt ne führende 0 und das Format passt. :)


Es wäre ja auch eine Alternative, wenn die Variante mit Aida64 funktionieren würde. Aber leider scheint der AC Service die Uhrzeit nicht richtig aus der WMI lesen zu können. Könntet ihr da mal nachschauen?

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »-Vulture-« (14. August 2020, 07:34)

Freitag, 14. August 2020, 11:10

Unsere Dantestruktur lässt derzeit keine Strings als Wert zu - brauchen wir einfach sonst nirgends. Vielleicht bauen wir da mal etwas ein, aktuell ist das aber nicht geplant.

Samstag, 15. August 2020, 12:48

Ok, alles klar. Wie gesagt, mit der Variante oben kann man sich die Uhr ja zusammenbasteln, funktioniert einwandfrei. Danke!

Corax77

Junior Member

Montag, 13. Mai 2024, 22:38

Unsere Dantestruktur lässt derzeit keine Strings als Wert zu - brauchen wir einfach sonst nirgends. Vielleicht bauen wir da mal etwas ein, aktuell ist das aber nicht geplant.
Ich möchte keinen weiteren Thread zu diesem Thema erstellen, daher knüpfe ich hier mal an, wenn es recht ist.
Ich hatte mich vor Jahren schon einmal darüber informieren wollen, ob sich die Uhrzeit denn im Overlay implementieren läßt und fand mittels Aquaero-Software leider keine einfache Lösung.

Ich hätte die Uhrzeit sehr gern groß an der Stelle auf meinem 2. Display angezeigt, wo momentan eher zur Spielerei die "Power consumption" sinnfrei vor sich hindümpelt.
Der von mir zitierte Satz machte mir zumindest etwas Hoffnung, daß diesbezüglich doch noch was kommen könnte. Wie sind denn eure aktuellen Pläne/Gedanken dazu?

PvF

Full Member

Dienstag, 14. Mai 2024, 05:43

Da gibt es seit einigen Versionen der aquasuite die Möglichkeit die Zeit als Datenquelle auszuwählen und auch eine entsprechende Vorlage bei den Benutzerdefinierten Elementen.

Corax77

Junior Member

Dienstag, 14. Mai 2024, 20:27

Da gibt es seit einigen Versionen der aquasuite die Möglichkeit die Zeit als Datenquelle auszuwählen und auch eine entsprechende Vorlage bei den Benutzerdefinierten Elementen.
Nun ja, das Aneinanderreihen der Einzelelemente (hh:mm:ss) sah zunächst recht vielversprechend aus, aber durch die wohl immer noch bestehende Problematik der führenden 0 im Falle einstelliger Zahlen, wird das Ganze leider schon wieder uninteressant. Zudem wären zwischensetzbare Punkte/Doppelpunkte ganz nett gewesen. Da bekam ich jedoch auch mittels benutzerdefiniertem Text nichts brauchbares Zustande. Schließlich möchte ich da auch den Hintergrund transparent schalten und ein ansehnliches Overlay gestalten. Schade, daß es hierfür noch immer kein komplettes Element gibt, welches unkompliziert konfiguriert und designed werden kann. Die dafür notwendigen Grundfunktionen sind ja nun offenbar vorhanden.

Die erwähnte Vorgabe kommt zwar mit dem gewünschten Format und Trennsymbolen daher, läßt sich aber (für mich) ebensowenig optisch ansprechend in mein Overlay übernehmen.

Ich hoffe einfach mal weiter. Aber trotzdem danke! :)

Edit:

Per Einzelelemente paßt das schon und den Doppelpunkt konnte ich ja per PS provisorisch ins wallpaper einsetzen. Nur die Einzelzahlen ohne 0 sehen immer noch extrem unsexy aus. :P

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Corax77« (14. Mai 2024, 21:13)

Mittwoch, 15. Mai 2024, 07:19

Da gibt es seit einigen Versionen der aquasuite die Möglichkeit die Zeit als Datenquelle auszuwählen und auch eine entsprechende Vorlage bei den Benutzerdefinierten Elementen.
das funktioniert doch, wo ist das Problem mit der Zeitdarstellung? Da muss doch nichts gesückelt werden. Lade die Vorlage und passe die entsprechend an. Da brauchst du keine Datenquelle.

Zitat

läßt sich aber (für mich) ebensowenig optisch ansprechend in mein Overlay übernehmen.
warum? das kann man doch komplett anpassen. Lade Dir die "Text" Voreinstellung und du siehst wie du den Text formatieren kannst.

Zitat

Schade, daß es hierfür noch immer kein komplettes Element gibt, welches unkompliziert konfiguriert und designed werden kann.
Aber das ist unkompliziert. Wir können nicht alle Fälle abdecken. Wenn man spezielle Dinge will muss man sich auch mal 5 minuten damit auseinadersetzen. Ich meine das sind 5..6 Zeilen die man da schreiben muss.
Keine andere Software ist so anpassbar. Das bringt nun mal eine gewisse komplexität mit sich.

Du kannst ja in der Vorlage erst mal alles für dich nicht relevante löschen, das sind dann 3..4 Zeilen die über bleiben sollten. Dann fängst du an deine änderungen in den code einzubauen.

Corax77

Junior Member

Mittwoch, 15. Mai 2024, 21:51

Aber das ist unkompliziert. Wir können nicht alle Fälle abdecken. Wenn man spezielle Dinge will muss man sich auch mal 5 minuten damit auseinadersetzen. Ich meine das sind 5..6 Zeilen die man da schreiben muss.
Keine andere Software ist so anpassbar. Das bringt nun mal eine gewisse komplexität mit sich.

Du kannst ja in der Vorlage erst mal alles für dich nicht relevante löschen, das sind dann 3..4 Zeilen die über bleiben sollten. Dann fängst du an deine änderungen in den code einzubauen.
Hatte ich mir kurz angesehen und mir ist auch bewußt, daß sich damit noch einiges anpassen läßt. Ich kann mich derzeit gesundheitsbedingt nur nicht so lange vor den Rechner setzen und herumprobieren und müßte mich erstmal belesen, wie ich zB gewünschte Fonts einbinde, Transparenz (falls das möglich ist) und dergleichen.
Ich hatte (freilich aus bequemlichen Gründen) auf solch ein schickes Objekt gehofft, das so gestaltet ist, wie die anderen Anzeigen, in deren Einstellungen man all das per Clicks, Checkboxen, Zahlenangaben und Schiebereglern anpassen kann.
Ich beschäftige mich aber vielleicht nochmal zu einem späteren Zeitpunkt damit. So geht es erstmal auch, als schnell zurechtgefummelter (und halbwegs ansehnlicher) workaround.

Danke! :)

Donnerstag, 16. Mai 2024, 07:23

Im prinzip nur so wie im Dateianhang. Das ist die Minimalversion.
Relevant für dich ist alles zwischen en Tags <Grid> ... </Grid>
Das element aus dem anhang kannst du einfach beim bearbeiten mit einem rechtsklick "Elemente importieren" auf deine Seite einbinden.

Die Eigenschaften von "TextBlock" findest du hier:
https://learn.microsoft.com/en-us/dotnet…dowsdesktop-8.0



Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<UserControl
    x:Name="this"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:sys="clr-namespace:System;assembly=mscorlib"
    mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300">
    <Grid>
        <TextBlock
            HorizontalAlignment="Center"
            VerticalAlignment="Center"
            FontFamily="Segoe UI"
            FontSize="30"
            FontWeight="Normal"
            Foreground="White"
            FontStretch="Normal"
            Opacity="1.0"
            Text="{Binding Path=TimeNow, StringFormat='HH:mm:ss'}" />
    </Grid>
</UserControl>
»sebastian« hat folgende Datei angehängt:
  • time-item.zip (889 Byte - 2 mal heruntergeladen - zuletzt: 17. Mai 2024, 11:38)

Freitag, 17. Mai 2024, 11:53

Danke Sebastian :thumbup:
:D

Meine Xbox: Intel i9-14900k Asus ROG Maximus z690 Extreme
G-Skill CL36 DDR5-6000 32GB Nvidia Geforce RTX 4090 Founders Edition

Corax77

Junior Member

Samstag, 18. Mai 2024, 18:37

Vielen Dank auch von mir!
Ich werde das bei der nächsten Gelegenheit testen.