Inhalte einer txt grafisch darstellen

Vogel890

Cadet 4th Year
Registriert
Sep. 2014
Beiträge
77
Guten Abend,
Der Titel verrät es schon.
Ich würde gerne die (immer unterschiedlichen) Inhalte von 3 Textdateien (txt) im einfachsten Sinne "grafisch" darstellen.
D.h. ein Weißes Fenster und die 3 Informationen darin in großer schwarzer Schrift.
Es soll per Batch gestartet werden und sich Bildschirmfüllend öffnen.

Kann mir jemand sagen, was der einfachste Weg wäre, so etwas zu realisieren?

Danke im Voraus

Vogel
 
Ich glaube ich hab mich etwas falsch ausgedrückt.

Es gibt 3 fertige Textdateien (Namen immer gleich), deren Inhalt nach Starten der Batch/des Programms automatisch in ein und dem selben Fenster angezeigt werden soll, ohne das weitere Bedienung notwendig ist.
 
https://www.computerbase.de/downloads/foto-und-grafik/irfanview/

Irfanview kann TXT Dateien öffnen und wandelt diese normalerweise automatisch in ein Bild um.
Die Plugins sollte man eh auch immer installieren.

Nun müsste man hergehen und Irfanview so konfigurieren dass es nur 1 mal im Speicher erlaubt ist und immer im Vollbild startet.
Und zusätzlich dass sich das Bild bei Vollbild automatisch mitskaliert.

Sollte alles in den Optionen von Irfanview einstellbar sein.

Wenn du 3 Dateien hast könntest du die ja per Patch mit TYPE auslesen und in eine 4te Datei speichern und immer überschreiben anfangs.

Danach startest irfanview per batch. zb.
"C:\Program Files\IrfanView\i_view32.exe" C:\DATEN\DATEI4.TXT

Ob das so geht ohne Irfanview zu killen vor einer neuen Anzeige musst selber testen.

Aber Irfanview bietet auch selbst Kommandozeilen Befehle.
Nutz mal die interne Hilfe (F1) im Programm.
Eventuell geht das auch noch einfacher.
 
Zuletzt bearbeitet:
Man könnte z.B. den Windows Editor (Notepad) für dein Vorhaben benutzen.

Folgende Batch-Datei erstellen.......


echo. > G:\zz\Ergebnis.txt
more G:\zz\1.txt >> G:\zz\Ergebnis.txt
echo. >> G:\zz\Ergebnis.txt
more G:\zz\2.txt >> G:\zz\Ergebnis.txt
echo. >> G:\zz\Ergebnis.txt
more G:\zz\3.txt >> G:\zz\Ergebnis.txt
start /max %windir%\system32\notepad.exe G:\zz\Ergebnis.txt
timeout 5

Pfade und Namen mußt du natürlich auf deine Bedürfnisse anpassen.
Ebenso die Schriftart, Schriftschnitt und Größe des Editors.

Ein Beispiel für die Editor Einstellung:

Editor öffnen >> auf Format >> auf Schriftart >> Arial / Standard / 48 >> OK
 
Moin. Ich habe mal beides probiert und es ist leider noch nicht das was ich mir eigentlich vorgestellt hatte.
Beide Programme zeigen ja die Textdatei einfach vergrößert an, aber mir fehlt da die Möglichkeit der Anordnung und unterschiedlichen
Formatierung.
Es sind nun auch 2 Inhalte hinzugekommen die ich gern farblich absetzen möchte.
Ich habe mal eine Skizze gemacht, wie es aussehen soll:

anzeige.PNG

Lässt sich so etwas nicht irgendwie Programmieren?

Danke für eure Mühe
 
Kannst du mir das bitte genauer erklären?
Wie kann ich Powerpoint sagen, dass es sich seine Inhalte automatisch aus den Textdateien holt?
Ich kenne es nur, dass man den Text dort von Hand eintippen muss.

mfg
 
So etwas selbst zu programmieren wäre sowieso die bessere Lösung.
Da hätte man dann die totale Kontrolle und könnte auf Batch verzichten.
Auch könnte das Programm alles selbst aktualisieren und Farben ändern usw.

Eventuell wäre AutoIt dafür geeignet.
https://www.heise.de/download/product/autoit-9576

Ansonsten eine Programmiersprache deiner Wahl.
 
Zuletzt bearbeitet:
Danke, ich werde es mit AutoIt mal probieren. Falls das nicht klappt, wäre es vielleicht einfacher eine HTML/PHP Seite zu erstellen? Ich beherrsche leider keine Programmiersprache.
 
Die Powerpoint Geschichte müsste per Makros & VBA gemacht werden => da kenn ich mich nicht aus.

Mit AutoIt schon. Hab da mal was schnell zusammengebastelt. Mit den GUI Anzeigen ist immer eine Fummelei.

Hab die Ausgabe daher jetzt zeilenweise gemacht (der Inhalt 4 und 5 sind jetzt nicht im Bild ganz unten). Da bitte in der Dokumentation nachsehen.

Schriftgröße, Schriftfarbe, Schriftart, sowie das Intervall (wie oft sich die Anzeige erneuert) bitte anpassen.

Code:
#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <GUIConstantsEx.au3>
#include <File.au3>
#include <string.au3>
#include <WinAPIFiles.au3>
#include <ColorConstants.au3>
#include <FontConstants.au3>
#include <Misc.au3>

Func Example()

;XXXXXXXXXXXXXXXXXXXXXXXXXXX        Schriftarten          XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
$sFont1 = "Comic Sans Ms"
$sFont2 = "Comic Sans Ms"
$sFont3 = "Comic Sans Ms"
$sFont4 = "Comic Sans Ms"
$sFont5 = "Comic Sans Ms"

;XXXXXXXXXXXXXXXXXXXXXXXXXXX        Name der Dateien          XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
$file1 = FileOpen("data1.txt", 0)
$file2 = FileOpen("data2.txt", 0)
$file3 = FileOpen("data3.txt", 0)
$file4 = FileOpen("data4.txt", 0)
$file5 = FileOpen("data5.txt", 0)

$line1 = FileReadLine($file1)
$line2 = FileReadLine($file2)
$line3 = FileReadLine($file3)
$line4 = FileReadLine($file4)
$line5 = FileReadLine($file5)

; GUI
GUICreate("Alarm, Alarm ", @DesktopWidth, @DesktopHeight)
Opt("GUICoordMode", 2)

$idLabel1 = GUICtrlCreateLabel($line1, 1, 10, 2000, 200)
$idLabel2 = GUICtrlCreateLabel($line2, -1, 0, 2000, 200)
$idLabel3 = GUICtrlCreateLabel($line3, -1, 10, 2000, 200)
$idLabel4 = GUICtrlCreateLabel($line4, -1, 10, 1000, 200)
$idLabel5 = GUICtrlCreateLabel($line5, 1, -1, 1000, 200)


;    $FW_DONTCARE = 0 (Standard Schriftstärke wird verwendet)
;    $FW_THIN = 100
;    $FW_EXTRALIGHT = 200
;    $FW_LIGHT = 300
;    $FW_NORMAL = 400
;   $FW_MEDIUM = 500
;    $FW_SEMIBOLD = 600
;    $FW_BOLD = 700
;   $FW_EXTRABOLD = 800
;    $FW_HEAVY = 900

;$GUI_FONTNORMAL (0) = Normal / Standard
;$GUI_FONTITALIC (2) = Italic / Kursiv
;$GUI_FONTUNDER (4) = Unterstrichen
;$GUI_FONTSTRIKE (8) = Durchgestrichen

;XXXXXXXXXXXXXXXXXXXXXXXXXXX        Schriftstärke und Formatierung         XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
GUICtrlSetFont($idLabel1, 60, $FW_dontcare,  $GUI_FONTNORMAL, $sFont1)
GUICtrlSetFont($idLabel2, 100, $FW_BOLD,  $GUI_FONTNORMAL, $sFont2)
GUICtrlSetFont($idLabel3, 60, $FW_dontcare,  $GUI_FONTNORMAL, $sFont3)
GUICtrlSetFont($idLabel4, 60, $FW_BOLD,  $GUI_FONTNORMAL, $sFont4)
GUICtrlSetFont($idLabel5, 60, $FW_BOLD,  $GUI_FONTNORMAL, $sFont5)


;XXXXXXXXXXXXXXXXXXXXXXXXXXX        Schriftfarbe         XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
GUICtrlSetColor($idLabel1, $COLOR_BLACK)
GUICtrlSetColor($idLabel2, $COLOR_BLACK)
GUICtrlSetColor($idLabel3, $COLOR_green)
GUICtrlSetColor($idLabel4, $COLOR_RED)
GUICtrlSetColor($idLabel5, $COLOR_RED)

GUISetState()

FileClose($file1)
FileClose($file2)
FileClose($file3)
FileClose($file4)
FileClose($file5)

;XXXXXXXXXXXXXXXXXXXXXXXXXXX        Zeitangabe, in welchem Intervall die Ansicht erneuert werden soll  10 Sekunden = 10000 ; 2 Sekunden = 2000       XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
sleep(10000)
Run( FileGetShortName(@AutoItExe) & " " & FileGetShortName(@ScriptDir))
Exit

EndFunc


While 1
Example()
WEnd

AutoIT installieren > ZIP Archiv herunterladen & entpacken > .au3 kompilieren > .exe starten
 

Anhänge

Zuletzt bearbeitet:
Vielen Dank. Ich probier das aus ;-)

@ryan_blackdrago: Das sieht wirklich gut aus! Genau was ich wollte. Ich versuch grad noch, das etwas anzupassen.

Wie kann ich denn die ersten beiden Texte beide auf der obersten Zeile anordnen ohne dass der Rest verschwindet?

Vielen Dank!
 
Zuletzt bearbeitet:
Das würde die Zeilen 37 bis 41 betreffen.
Der Befehl guictrlcreatelabel ist ähnlich wie Excel aufgebaut
(ähnlich mit Zeilen und Zellen).

Beispielhaft:
$idLabel1 = GUICtrlCreateLabel($line1, 1, 10, 2000, 200)
=> 1x Einzug nach rechts; 10x Einzug nach unten; Breite 2000; Höhe 200

$idLabel2 = GUICtrlCreateLabel($line2, -1, 0, 2000, 200)
=> nächste Zeile (genau unter der vorherigen); kein Einzug nach unten; Breite 2000; Höhe 200

Um den Text so zu bekommen:
Inhalt1 Inhalt2
Inhalt3
Inhalt4 Inhalt5

Code:
$idLabel1 = GUICtrlCreateLabel($line1, 10, 10, 1000, 200)
$idLabel2 = GUICtrlCreateLabel($line2, 0, -1, 1000, 200)
$idLabel3 = GUICtrlCreateLabel($line3, -1 * 2000, 0, 2000, 200)
$idLabel4 = GUICtrlCreateLabel($line4, -1, 0, 1000, 200)
$idLabel5 = GUICtrlCreateLabel($line5, 0, -1, 1000, 200)

Da ja für den Inhalt1 und Inhalt2 jeweils 1000 Breite reserviert sind, muß für den Inhalt3 2000 Breite zurückgegangen werden (-1 * 2000). Damit landet man dann wieder unter Inhalt1.
Für Inhalt4 -1, damit man unter Inhalt3 landet.
Für Inhalt5 0 und -1, damit man in derselben Zeile wie Inhalt4 ist.

Da muß man viel rumspielen, damit es passt.
Solche Ansichten und GUIs programmiere ich nie.
 
Zuletzt bearbeitet:
Zurück
Oben