AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Info Screensaver
Thema durchsuchen
Ansicht
Themen-Optionen

Info Screensaver

Ein Thema von Sixfold · begonnen am 2. Feb 2006 · letzter Beitrag vom 14. Jan 2008
Antwort Antwort
Seite 4 von 6   « Erste     234 56      
Sixfold
Registriert seit: 17. Aug 2004
Ich hatte kürzlich wegen Krankheit ein bisschen Zeit daheim und hab einen kleinen Bildschirmschoner programmiert.

Funktionen:
-Zeigt Uhrzeit und Datum an
-Zeigt außerdem Informationen über das Lied an, das gerade im Winamp abgespielt wird. Wenn verfügbar, zeigt es dazu ein kleines Album-Bild an (von Amazon.com)
-Zusätzlich kann man noch das Wetter der nächsten 4 Tage anzeigen (mit Bild und Text)
-Jede volle Stunde wird das Bild kurz schwarz
-RSS-Newsreader (aktualisiert sich alle 10 Minuten)
-Bei Fehlern beendet sich das Programm selbstständig und erstellt die Datei "error.log" im Programverzeichnis.

Systemvorraussetzungen:
-Da der Bildschirmschoner die Alpha-Transparency benutzt braucht man Win2k oder XP
-Eine Inernet-Verbindung ist für die Album-Bilder und das Wetter erforderlich
-Die Auflösung sollte bei mindestens 800 x 600 Pixeln liegen, da sonst die Anzeige nicht richtig funktioniert
-Bei einer Bildschirmhöhe von unter 768 Pixeln wird das Wetter nicht mehr angezeigt

Das Programm erstellt die Datei "Settings.ini" beim konfigurieren. Außerdem werden die Dateien "$temp", "$temp2" und "$temp3" erstellt. Diese Dateien werden aber sofort wieder gelöscht.
Alle Dateien werden in dem Verzeichnis abgelegt, in dem sich die .scr-Datei befindet.

Noch eine kleine Anleitung:
Beim Starten des Bildschirmschoners kann es vorkommen, dass recht lange (2 bis 3 sek.; vor allem auf langsamen Systemen) nichts passiert, bis der Bildschirmschoner geladen wird. Das passiert wenn in der Winamp playlist sehr viele (bei mir > 6000) Lieder sind, die erst verarbeitet werden müssen. In dieser Zeit kann ganz normal weitergearbeitet werden, aber wenn in dieser Zeit die Maus bewegt wird, wird das Laden abgebrochen. (Der Bildschirmschoner startet also nur ein paar Sekunden später als in Windows eingestellt)
Beim ersten Start wird kein Wetter / News angezeigt. Klickt dazu mit der rechten Maustaste auf die Datei, dann auf Konfigurieren. In dem Fenster gebt ihr oben die Adresse des Newsfeeds an und darunter den Namen eurer Stadt / eures Ortes und klickt auf Search. Dann wählt Ihr das zutreffende Ergebnis aus und klickt auf Save. Ganz untenn könnt ihr noch die Temperatureinheit auswählen und ob der Screensaver durchsichtig sein soll oder nicht.

Viel Spass beim Ausprobieren

Fabian Weber


--CHANGELOG-------------

22.02.2006
-ID3v2 Tag Anzeige repariert
-Parformance verbessert
-Fehler werden jetzt falls möglich ignoriert

13.02.2006
-Temperatur Anzeige verbessert (wird jetzt auch bei niedrigeren Aufklösungen angezeigt)
-Kleine Fehler behoben

11.02.2006
-Newsreader auf RSS-Basis eingebaut
-Code optimiert (startet jetzt ein bisschen schneller)
-Newsreader optimiert
-Bild für Newsreader eingebaut
-Log-Datei beu Fehlern eingerichtet

09.02.2006
-Alpha-Transparency Abschaltung verbessert
-Kleine Designmängel angepasst
-Quellcode überarbeitet
-"Cannot change Visible in OnShow or OnHide" Fehler behoben
-Sourcen jetzt hier verfügbar

07.02.2006
-Nun kann zwischen Celsius und Fahrenheit umgeschaltet werden
-Alpha-Transparency ist nun abschaltbar (Win2k/XP wird trotzdem benötigt)
-ID3-Tag Verarbeitung verbessert
-Kleine Fehler behoben

Ich bitte um Kritik / Verbesserungsvorschläge!
Miniaturansicht angehängter Grafiken
info_screensaver_544.png  
Angehängte Dateien
Dateityp: zip screensaver_170.zip (727,7 KB, 351x aufgerufen)
Dateityp: zip screensaver_source_996.zip (268,0 KB, 276x aufgerufen)
 
Benutzerbild von turboPASCAL
turboPASCAL

 
Delphi 6 Personal
 
#31
  Alt 8. Feb 2006, 22:17
In dem Event FormShow bzw. FormHide ist es nicht gestattet die aktuelle Form auf Visible = True oder Visible = False zu setzen. Das gilt auch für ShowWindow(...). Warum ? Weil im zb. FormShow ja die Eigenschaft gerade gesetzt wird.

(wer hat Dir den das formatieren des Codes beigebracht ? Ist ja gruselig )
Matti
  Mit Zitat antworten Zitat
Sixfold

 
Delphi 2006 Architect
 
#32
  Alt 9. Feb 2006, 05:40
Zitat von turboPASCAL:
In dem Event FormShow bzw. FormHide ist es nicht gestattet die aktuelle Form auf Visible = True oder Visible = False zu setzen. Das gilt auch für ShowWindow(...). Warum ? Weil im zb. FormShow ja die Eigenschaft gerade gesetzt wird.

(wer hat Dir den das formatieren des Codes beigebracht ? Ist ja gruselig )
Das ist mir schon klar dass es daran liegen könnte. Aber trotzdem tritt der Fehler auch auf wenn ich die Funktion deaktiviere, das hab ich schon ausprobiert. Und ich bin mir ziemlich sicher dass der Fehler nach Timer1Timer, welche ja auch im OnShow aufgerufen wird, auftritt (das glaube ich an der langen Wartezeit zu erkennen die die Prozedur UpdateImage hat ). Außerdem wird mit der Funktion FormShow ja lediglich der Taskbar Eintrag versteckt, womit ich auch früher keine Probleme hatte.
Und was ist an meinem Code schlecht formatiert?
So mach ich das schon immer

ps: Ich habs grad nochmal ausprobiert indem ich ein neues Projekt erstellt hab und nur in der FormShow Methode das eingegeben hab:
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin
ShowWindow(Application.Handle, SW_HIDE);
end;
Und siehe da: Kein Fehler. Also muss der Fehler im Screensaver woanders liegen. Und ich hab keine Ahnung wo
Also falls jemand den Fehler entdeckt: Bitte mir sagen.

pps: Falls jemand noch andere Vorschläge /Ideen zum Programm hat kann er mir die natürlich auch mitteilen.
  Mit Zitat antworten Zitat
moritz
 
#33
  Alt 9. Feb 2006, 06:07
Moin!

Also bei Google bin ich hierauf gestossen, evtl. hilft dir das was: http://qc.borland.com/wc/qcmain.aspx?d=5371

Ansonsten würde ich dir das hier mal empfehlen: Google Groups

Evtl. hängt es damit zusammen, dass sich die EXE nicht immer beendet?

Gruß
  Mit Zitat antworten Zitat
Sixfold

 
Delphi 2006 Architect
 
#34
  Alt 9. Feb 2006, 12:39
Danke!
Ich glaube der Fehler ist jetzt behoben..
Zumindest konnte ich ihn nicht mehr provozieren.

Hab die neue Version und die neuen Sourcen auf der Startseite des Threads hoch geladen

Wenn doch noch jemand den Fehler entdeckt, bitte melden!

MfG Fabian
  Mit Zitat antworten Zitat
Sixfold

 
Delphi 2006 Architect
 
#35
  Alt 11. Feb 2006, 03:09
So.. der Newsreader wäre fertig

Man braucht aber eine Bildschirmauflösung von mindestens 960 Pixeln Höhe, da das Layout zur Zeit noch vorgegeben ist. Außerdem habe ich in das Programm eine neue Fehler Routine eingebaut, bei der sich das Programm beim Auftreten eines Fehlers einfach beendet und eine Log-Datei schreibt. Denn wer will schon wenn er mal kurz weg war und wieder an den PC geht 20 Fehlermeldungen auf dem Bildschirm? Da ist es doch besser das Programm beendet sich still und leise wieder

MfG Fabian
  Mit Zitat antworten Zitat
moritz
 
#36
  Alt 11. Feb 2006, 08:53
Moin!

Also, der OnShow-Fehler ist komplett weg

Wegen dem Newsfeed: Ich bekomm da leider nichts angezeigt, egal ob ich http://www.spiegel.de/schlagzeilen/rss/index.xml, http://www.heise.de/newsticker/heise.rdf oder http://www.heise.de/newsticker/heise-atom.xml benütze.

Gruß
  Mit Zitat antworten Zitat
Sixfold

 
Delphi 2006 Architect
 
#37
  Alt 11. Feb 2006, 11:27
Was meinst du mit ich bekomm da nicht angezeigt?
Was hast du für ne Auflösung?

Weil der Newsfeed ist unter dem Wetter, und wenn deine Auflösung zu gering ist wird er deaktiviert.
Ansonsten wüsste ich jetzt nichts woran das liegen könnte.

MfG Fabian
  Mit Zitat antworten Zitat
moritz
 
#38
  Alt 11. Feb 2006, 11:31
Moin!

Auflösung ist 1280x1024, also eigentlich ausreichend. Es wird eben "News:" angezeigt, darunter ist auch noch freier Raum - Allerdings ohne irgendeinen Text.

Mit http://www.delphipraxis.net/rss.php geht das ganze komischerweise, evtl. musst du noch was mit dem Format machen?

Gruß
  Mit Zitat antworten Zitat
Sixfold

 
Delphi 2006 Architect
 
#39
  Alt 11. Feb 2006, 12:31
Hab den Fehler gefunden.
Ich hatte das Root-Element inm XML Parser falsch gesetzt

Jetzt funktioniert die Sache aber..
Die Feeds von Heise funktionieren immer noch nicht, da das keine RSS Feeds sind sondern Atom und RDF Feeds und ich habe ja bis jetzt nur die RSS Unterstützung gebaut. Das andere wird aber warscheinlich demnächst folgen.

MfG Fabian
  Mit Zitat antworten Zitat
Sixfold

 
Delphi 2006 Architect
 
#40
  Alt 13. Feb 2006, 21:19
So, mal wieder ne neue Version..
Hab die Temperaturanzeige nochmal überarbeitet, weil die bei niedrigen AUflösungen manchmal aus dem Bild raus war...
Ist jetzt links dran, die obere (rot eingefärbte) Temperatur ist die höchste, die untere (blau eingefärbte) Temperatur ist die niedrigste des Tages / der Nacht..
Außerdem hatte ich vergessen, ShowAccelChar bei den Labels auf False zu setzen

MfG Fabian Weber
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 6   « Erste     234 56      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz