hab mal wieder ein paar Zeilen programmiert - und möchte Euch das neue Feature gern zur Verfügung stellen.
Es störte ja schon lange, dass die homeputer-Textausgaben weder in Schriftart, Farbe und Größe, als auch für eine Spaltenanordnung hinreichend beeinflusst werden konnten. Um das Rad nicht neu erfinden zu müssen, habe ich ein gebräuchliches Syntaxformat gesucht.
Entschieden habe ich mich für HTML - aus drei Gründen:
1. viele kennen es - Beschreibungen gibt es im Internet unerschöpflich
2. man kann (fast) alles damit machen
3. ich brauchte nur ein paar Zeilen programmieren - und habe damit meiner natürlichen Faulheit Genüge getan
Wie sieht das Ergebnis aus? (Beispiele)
1. Mein geliebter Terminplaner hat etwas Farbe bekommen: 2. Man kann noch viel mehr damit machen, als nur Texte formatieren:
- ein homeputer-Objekt, welches nur aufpoppt (sichtbar geschaltet wird), wenn eine Warnmeldung anliegt
- das entsprechende Icon neben dem Text gleich mit ausgeben ist ja mit HTML nur ein Kinderspiel Wie ist das ganze gemacht?
Eine beliebige HTML-Datei (die von einem homeputer-Makro vorher zu erstellen ist) wird an ein kleines Browser-Programm übergeben, welches den Inhalt auf dem Bildschirm darstellt. Anschliessend wird der Fensterinhalt "abfotografiert", die Grafik als Datei gespeichert, welche wiederum von einem homeputer-Objekt mittels bekannter "Umschalt"-Technik eingelesen werden kann. Nun erscheint diese Grafik in Eurer homeputer-Visualisierung...
Ein Problem gibt es allerdings dabei: Der Browser muss unbedingt kurz auf dem sichtbaren Teil des Bildschirms geöffnet werden. Sonst wird nämlich das Foto immer unterbelichtet und wird schwarz...
Aus diesem Grund habe ich nach einer Möglichkeit gesucht, dieses Fenster so auf dem Bildschirm zu öffnen, dass man es eigentlich gar nicht bemerkt:
- Das Fenster hat (fast) keinen Rahmen (ganz habe ich ihn leider nicht wegbekommen).
- Das Fenster ist genau so gross, wie das homeputer-Objekt in der Visualisierung, und wird zudem auch noch an der gleichen Stelle geöffnet.
Den Minibrowser, der sich gleich noch selbst fotografiert und die Grafik abspeichert, habe ich mit AutoIt3 erstellt. Dieses Tool ist einfach genial. Ich habe (mit Kommentar) gerade mal 65 Zeilen benötigt! (Danke an Bümpi für seinen Tipp vor langer Zeit - AutoIt kannte ich vorher noch gar nicht!)
Was ist zu tun?
1. Ein Makro muss das HTML-File erzeugen (Beispiele für die oben vorgestellten Grafiken)
Beispiel 1 - Termine
Code: Alles auswählen
<body bgcolor="#ECE9D8" style="font-family:'Microsoft Sans Serif'" style="font-size:8pt">
<b>
<center>
Termine
</center>
<hr>
VERPASSTE TERMINE:<br>
<font color="#FF0000">
10.03.2009 - 33. Geburtstag von A******** ****<br>
</font>
<br>
TERMINE HEUTE:<br>
<font color="#0101FF">
11.03.2009 - 08:00 M*** fertig mit Symbioflor<br>
11.03.2009 - 19:00 Elternabend<br>
<br>
</font>
TERMINE DEMNÄCHST:<br>
<font color="#C0C000">
15.03.2009 - 10:00 Landesliga [M********]<br>
</font>
<font color="#808000">
17.03.2009 - 30. Geburtstag von R*** *******<br>
</font>
18.03.2009 - 51. Geburtstag von S***** ****<br>
...
</b>
</body>
Code: Alles auswählen
<html>
<body bgcolor="#6EE205" text="#000000" link="#0101FF" vlink="#800080" alink="#FF0000">
<font face="VERDANA,ARIAL,HELVETICA">
<table bgcolor="#BEBEC0" align="center" valign="center" cellspacing="20" width="420" height="150">
<tr align="center" valign="center">
<td>
<IMG SRC="z:\fs20\BMP\x\grün.bmp">
</td>
<td>
<b><u>ENTWARNUNG:</u><br><br>Es ist kein Alarm mehr aktiv.</b>
</td>
</tr>
</table>
</font>
</body>
</html>
BrowseToFile.exe HtmlFile GraphicFile Width Height X Y
HtmlFile: ...... Pfad und Dateiname des HTML-Files
GraphicFile: ... Pfad und Dateiname der zu erstellenden Grafikdatei
Width: ......... Breite der gewünschten Grafik (in Pixeln)
Height: ........ Höhe der gewünschten Grafik (in Pixeln)
X: .............. X-Position des homeputer-Objektes, welches die Grafik anzeigen soll
Y: .............. Y-Position des homeputer-Objektes, welches die Grafik anzeigen soll
Bemerkung: X und Y können mittels HOLEPOSITION innerhalb der Homputersoftware direkt erfragt werden!
3. Der Aufruf der EXE erfolgt aus homeputer dann folgendermassen:
(Beispiel)
Code: Alles auswählen
HOLEPOSITION(AnzeigeObjekt,x,y)
**Bitte die Pfadangaben anpassen
Kommandozeile := ",z:\fs20\,BrowseToFile.exe,z:\fs20\Temp\Textanzeige.html z:\fs20\Temp\Textanzeige.bmp 450 180 "+x+" "+y
StartWin(Kommandozeile)
WARTE("00:00:01")
AnzeigeObjekt umschalten
Kommandozeile (Typ Zeichen)
x (Typ Zahl)
y (Typ Zahl)
Achtung:
Der Fotoapparat benötigt unbedingt GDIPLUS !!!
Ab Windows XP ist dies Teil des Betriebssystems - nutzt man frühere Versionen, muss man sich die GDIPLUS.DLL aus dem Internet besorgen (einfach die GDIPLUS.DLL in das selbe Verzeichnis wie BrowseToFile.exe kopieren).
Viel Spass beim Ausprobieren
Thomas
EDIT: HTML-Files der obigen Beispiele ergänzt