AGB  ·  Datenschutz  ·  Impressum  







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

Digital-Anzeige

Ein Thema von faux · begonnen am 17. Aug 2005 · letzter Beitrag vom 18. Aug 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#1

Digital-Anzeige

  Alt 17. Aug 2005, 00:44
Hallo!

Mir war mal etwas langweilig und da hab ich eine Digitalanzeige programmiert.
Man kann sicherlich was dran verbessern. Bitte um vorschläge.

Grüße Faux

EDIT:
Habe mal die aktuelle Version angehängt, dass der Thread übersichtlicher wird.
Angehängte Dateien
Dateityp: pas unit2_984.pas (2,4 KB, 38x aufgerufen)
Dateityp: exe project1_153.exe (168,0 KB, 84x aufgerufen)
Dateityp: zip tziffer_119.zip (3,1 KB, 36x aufgerufen)
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Digital-Anzeige

  Alt 17. Aug 2005, 00:49
Gibt es da auch eine Beispielanwendung zu?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#3

Re: Digital-Anzeige

  Alt 17. Aug 2005, 01:30
Hi Faux,

du weist schon das es TrueType Fonts gibt ?

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Digital-Anzeige

  Alt 17. Aug 2005, 02:16
Zitat von negaH:
Hi Faux,

du weist schon das es TrueType Fonts gibt ?
Nun ja, er hat eben seine Fingerübung hier veröffentlich, dagegen ist nichts einzuwenden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#5

Re: Digital-Anzeige

  Alt 17. Aug 2005, 04:53
Hau die Werte in const Arrays und benutze Schleifen zur Initialisierung.
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#6

Re: Digital-Anzeige

  Alt 17. Aug 2005, 06:29
@Luckie:

Zitat:
Nun ja, er hat eben seine Fingerübung hier veröffentlich, dagegen ist nichts einzuwenden.
Das war ja von meiner Seite nur ein Hinweis. Ich sehe es genauso wie du, aber es könnte ja sein das er noch nicht wusste das es TrueType Fonts gibt die das was er umständlich in eine Komponente reinpackt viel einfacher machen können. Einfach ein TLabel, Font auf entsprechenden LED Font, von denen es hunderte gibt, und fertig.
Aus eigener Erfahrung kann ich sagen das ich schon einige Sachen programmiert habe und später feststellen musste das es um vieles einfacher geht. Das einzigste was mir eben damals gefehlt hatte, war Wissen darum das es einfacher geht und eben eine Person die es mir auch sagte

Ist also keinerlei Kritik gewesen, einfach ein Hinweis.

Gruß Hagen
  Mit Zitat antworten Zitat
KLS

Registriert seit: 20. Jun 2004
Ort: Berlin
89 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Digital-Anzeige

  Alt 17. Aug 2005, 07:26
Hiermal die ganze sache mit Arrays. Macht das nen stückchen kürzer

Delphi-Quellcode:
constructor TZiffer.Create(AOwner : TComponent; Parent : TWinControl);
const
  Positionen : array[0..6,0..3] of integer = ((9,33,48,16),(33,9,16,8),(9,33,8,16),(33,9,16,48),(33,9,56,48),(9,33,88,16),(33,9,56,8));
var
  i : Byte;
begin
  vMain := TPanel.Create(AOwner);
  vMain.Parent := Parent;
  vMain.Width := 65;
  vMain.Height := 105;
  for i := 0 to 6 do
  begin
    vPanels[i] := TPanel.Create(AOwner);
    with vPanels[i] do
    begin
      Parent := vMain;
      Height := Positionen[i,0];
      Width := Positionen[i,1];
      Top := Positionen[i,2];
      Left := Positionen[i,3];
    end;
  end;
end;

procedure TZiffer.SetValue(Value : Byte);
const
  Werte : array[0..9,0..6] of byte = ((0,1,1,1,1,1,1),(0,0,0,1,1,0,0),(1,0,1,1,0,1,1),(1,0,1,1,1,1,0),(1,1,0,1,1,0,0),(1,1,1,0,1,1,0),(1,1,1,0,1,1,1),(0,0,1,1,1,0,0),(1,1,1,1,1,1,1),(1,1,1,1,1,1,0));
var
  i : byte;
begin
  for i := 0 to 6 do vPanels[i].Visible := bool(Werte[value,i]);
  vValue := Value;
end;
Thomas H.
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Digital-Anzeige

  Alt 17. Aug 2005, 08:17
Danke, KLS und Robert! So ist das Programm nur noch mehr 1/3 so groß...

Ja, ich weiß dass es solche Fonts gibts, nur dann hätt ich ja nix zu tun...

Beispielanwenung im 1. Post.

EDIT:
In der Procedure SetValue würde noch das reingehören:
Delphi-Quellcode:
if (Value < 0) or (Value > 9) then
  Value := 0;
Das ist doch korrekt so, oder?
Delphi gibt mir immer folgende Warnung aus:
Code:
[Warnung] Unit2.pas(82): Der Vergleich ergibt immer Falsch
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
  Mit Zitat antworten Zitat
Benutzerbild von Kroko1999
Kroko1999

Registriert seit: 21. Apr 2005
Ort: Spremberg
455 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Digital-Anzeige

  Alt 17. Aug 2005, 09:02
Zitat von faux:
...
EDIT:
In der Procedure SetValue würde noch das reingehören:
Delphi-Quellcode:
if (Value < 0) or (Value > 9) then
  Value := 0;
Das ist doch korrekt so, oder?
Delphi gibt mir immer folgende Warnung aus:
Code:
[Warnung] Unit2.pas(82): Der Vergleich ergibt immer Falsch
(1) ein Byte kleiner 0 gibt es noch nicht!
(2) ich hätte vMain auch weggelassen und dafür TZiffer von TCustomPanel abgeleitet.
Da sprach der Stumme zum Blinden: "Du wirst sehen ..."
oder
Wer lesen kann, ist klar im Vorteil!
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Digital-Anzeige

  Alt 17. Aug 2005, 09:22
1) Ups... Jap, ich dachte das is ein Integer...
2) Aber dann hab ich die ganzen TPanel Methoden und eigenschaften im Root (nennt man das da so?). Also wenn ich TZiffer. schreibe, dann kommt gleiche eine Liste mit allen TPanel Methoden und das finde ich hier IMHO etwas überflüssig.
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz