AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Digital-Anzeige

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
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, 37x aufgerufen)
Dateityp: exe project1_153.exe (168,0 KB, 84x aufgerufen)
Dateityp: zip tziffer_119.zip (3,1 KB, 35x aufgerufen)
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
 
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#2
  Alt 17. Aug 2005, 00:49
Gibt es da auch eine Beispielanwendung zu?
Michael
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH
 
#3
  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

 
Delphi 2006 Professional
 
#4
  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
  Mit Zitat antworten Zitat
Robert Marquardt
 
#5
  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
 
#6
  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

 
Delphi 7 Enterprise
 
#7
  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

 
Turbo Delphi für Win32
 
#8
  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
  Mit Zitat antworten Zitat
Benutzerbild von Kroko1999
Kroko1999

 
Turbo Delphi für Win32
 
#9
  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.
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

 
Turbo Delphi für Win32
 
#10
  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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 08:51 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