AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte DeskCHK - Ein kleines Prog. zum überprüfen des Bildschirms
Thema durchsuchen
Ansicht
Themen-Optionen

DeskCHK - Ein kleines Prog. zum überprüfen des Bildschirms

Ein Thema von EDatabaseError · begonnen am 14. Jul 2006 · letzter Beitrag vom 14. Jul 2006
Antwort Antwort
EDatabaseError
Registriert seit: 11. Mai 2005
Hier habe ich ein kleines Programm das den Bildschirm auf Pixelfehler überprüft.

Hier ist die Prozedur mit der ich die Farben durchgehe:
Delphi-Quellcode:
procedure ScreenCheck(TestForm:TForm;StateLabel: TLabel);
var
  r,g,b: Integer;
begin
 StateLabel.Caption := 'Begin secuence...';
 StateLabel.Update;
 sleep(100);
 r := 0;
 g := 0;
 b := 0;
 for r := 0 to 255 do
  begin
   StateLabel.Caption := 'R='+Inttostr(r)+' G='+inttostr(g)+' B='+Inttostr(b);
   StateLabel.Update;
   TestForm.Color := RGB(r,g,b);
   TestForm.Update;
   sleep(10);
  end;
 r := 0;
 g := 0;
 b := 0;
 for g := 0 to 255 do
  begin
   StateLabel.Caption := 'R='+Inttostr(r)+' G='+inttostr(g)+' B='+Inttostr(b);
   StateLabel.Update;
   TestForm.Color := RGB(r,g,b);
   TestForm.Update;
   sleep(10);
  end;
 r := 0;
 g := 0;
 b := 0;
 for b := 0 to 255 do
  begin
   StateLabel.Caption := 'R='+Inttostr(r)+' G='+inttostr(g)+' B='+Inttostr(b);
   StateLabel.Update;
   TestForm.Color := RGB(r,g,b);
   TestForm.Update;
   sleep(10);
  end;
 StateLabel.Caption := '...finished';
end;
Delphi-Quellcode:
procedure ScreenCheck(TestForm:TForm;StateLabel: TLabel);
var
  r,g,b,i,ii: Integer;
begin
 StateLabel.Caption := 'Begin sequence...';
 StateLabel.Update;
 sleep(100);
 r := 0;
 g := 0;
 b := 0;
 for r := 0 to 255 do
  begin
   if r < 123 then StateLabel.Font.Color := clWhite else StateLabel.Font.Color := clBlack;
   StateLabel.Caption := 'R='+Inttostr(r)+' G='+inttostr(g)+' B='+Inttostr(b);
   StateLabel.Update;
   TestForm.Color := RGB(r,g,b);
   TestForm.Update;
   sleep(10);
  end;
 r := 0;
 g := 0;
 b := 0;
 for g := 0 to 255 do
  begin
   if g < 123 then StateLabel.Font.Color := clWhite else StateLabel.Font.Color := clBlack;
   StateLabel.Caption := 'R='+Inttostr(r)+' G='+inttostr(g)+' B='+Inttostr(b);
   StateLabel.Update;
   TestForm.Color := RGB(r,g,b);
   TestForm.Update;
   sleep(10);
  end;
 r := 0;
 g := 0;
 b := 0;
 for b := 0 to 255 do
  begin
   if b < 123 then StateLabel.Font.Color := clWhite else StateLabel.Font.Color := clBlack;
   StateLabel.Caption := 'R='+Inttostr(r)+' G='+inttostr(g)+' B='+Inttostr(b);
   StateLabel.Update;
   TestForm.Color := RGB(r,g,b);
   TestForm.Update;
   sleep(10);
  end;
 r := 255;
 g := 255;
 b := 255;
 TestForm.Color := RGB(r,g,b);
 for i := 0 to screen.Width do
   for ii := 0 to screen.height do
    begin
     StateLabel.Caption := 'W=' + IntToStr(i) + ' H='+IntToStr(ii);
     StateLabel.Update;
     TestForm.Canvas.Pixels[i,ii] := clBlack;
     Application.ProcessMessages;
    end;
 r := 255;
 g := 255;
 b := 255;
 TestForm.Color := RGB(r,g,b);
 StateLabel.Caption := '...finished';
end;

Bitte testen und Meinung schreiben.

Mfg
Tobi
Angehängte Dateien
Dateityp: exe deskchk_150.exe (379,0 KB, 34x aufgerufen)
It's not a bug, it's a feature.
 
Daniel G
 
#2
  Alt 14. Jul 2006, 13:57
Joar... Funktioniert. Abgesehen von diesem kleinen Schönheitsfehler:
Zitat:
Begin secquence
  Mit Zitat antworten Zitat
EDatabaseError

 
Delphi 2007 Professional
 
#3
  Alt 14. Jul 2006, 13:59
joa... mein fehler... werde ich ändern
Tobias
  Mit Zitat antworten Zitat
Daniel G
 
#4
  Alt 14. Jul 2006, 14:02
Gut wäre natürlich auch, wenn es ein paar Muster auf den Bildschirm zeichnen würde und den Bildschirm auch einmal komplett weiß machen würde.
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

 
Delphi 6 Personal
 
#5
  Alt 14. Jul 2006, 14:05
Hallo,

es dürfte wohl kein allzu großer Aufwand sein, in der Schleife noch die Schriftfarbe des Labels anzupassen, da sie bei dunklen Farben nicht lesbar ist. Ansonsten ganz gut.

Fehlen nur noch ein paar Funktionen wie in DPT (Dead Pixel Tester), das Prog kann noch Farben nach Wahl, Muster etc. darstellen. Aber ich kenne das aus eigener Erfahrung, das geht weit über den eigentlichen Sinn des Programms hinaus...

Gruß,
ManuMF
  Mit Zitat antworten Zitat
EDatabaseError

 
Delphi 2007 Professional
 
#6
  Alt 14. Jul 2006, 14:29
Neue Version online...
ich teste jetzt jedes Pixel einzeln durch (dauert ein bissel und zieht richtig CPU)
+alles was oben kritisiert wurde geändert
Tobias
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:40 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