Autor Beitrag
delphi10
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 447
Erhaltene Danke: 2

W2K, XP, Vista64, Win7 64
RAD-Studio 2010
BeitragVerfasst: Sa 09.02.08 02:02 
Hallo

Ich such schon seit längerem eine Komponente, die ein Zählwerk - wie Kilometerzähler oder wie die Zählung der Aufrufe einer Webseite - darstellen kann. Wichtig dabei wäre, daß die einzelnen Zahlen nicht "plötzlich" erscheinen, sondern so von Oben hereingedreht werden.
Ich habe mir schon nen Wolf gesucht aber nichts gefunden. Hat jemand von Euch einen Link zur Hand?

Besten Dank schon mal
Gruß0 Delphi10
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Sa 09.02.08 10:58 
also sowas würde ich selbst programmieren...

:arrow: vorgehensweise: Panel, das x*Bildbreite breit ist. Dann Bilder mit den Zahlen von 0-9. Und diese dann entsprechend der angegebennen Zahl anordnen. ggf. könnte man das auch mit Labels machen.

:arrow: beim "reindrehen" würde ich mal versuchen, ob man dies nicht einfach durch "stauchen" des Bildes + nach oben verschieben machen kann.

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
delphi10 Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 447
Erhaltene Danke: 2

W2K, XP, Vista64, Win7 64
RAD-Studio 2010
BeitragVerfasst: Sa 09.02.08 14:33 
user profile iconXion hat folgendes geschrieben:
also sowas würde ich selbst programmieren...


Hallo Xion

Ist ne Frage von Aufwand und Nutzen. Ich wollte nicht das Rad erfinden.

Gruß Delphi10

_________________
Salus populi suprema lex esto
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Sa 09.02.08 14:51 
user profile icondelphi10 hat folgendes geschrieben:
user profile iconXion hat folgendes geschrieben:
also sowas würde ich selbst programmieren...


Hallo Xion

Ist ne Frage von Aufwand und Nutzen. Ich wollte nicht das Rad erfinden.

Gruß Delphi10

Brauchst Du auch nicht, das Rad hat schon wer erfunden ! :wink:

_________________
Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
ub60
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 765
Erhaltene Danke: 130



BeitragVerfasst: Sa 09.02.08 22:52 
Ich schicke hier mal einen Codeschnipsel aus der "Entwicklungszeit" meiner Enigma (Softscroll mit Farbverlauf).
Da sollte der Hauptteil für eine eigene Programmierarbeit drin sein.
Vielleicht hilfts ja.

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
procedure TForm1.Button1Click(Sender: TObject);
var i, Breite1, Hoehe : Integer;
    b, Breite : Byte;
    c : Char;
    bm1, bm2, hg : TBitmap;
    Rect1 : TRect;
begin
  Breite:=40;
  with Image1.Canvas do
    begin
      Rectangle(349,180,391,222);
      for i:=1 to 40 do
        begin
          b:=Round(255*sin(0.7+(i/19)));
          Pen.Color:=RGB(b,b,b);
          MoveTo(350,180+i);
          LineTo(390,180+i);
        end;
      Font.Size:=22;
      Font.Name:='Arial';
      Font.Color:=clBlack;
      Font.Style:=[fsBold];
      Brush.Color:=clWhite;
      FillRect(Rect(450,20,490,320));
      for i:=1 to 5 do
        begin
          c:=Chr(64+i);
          Breite1:=TextWidth(c);
          Hoehe:=TextHeight(c);
          TextOut(470-Breite1 div 2, 40*i-Hoehe div 2,c);
        end;
    end;
  Rect1:=Rect(0,0,Breite,300);
  bm1:=TBitmap.Create;
  bm1.Width:=Breite;
  bm1.Height:=300;
  bm1.Canvas.FillRect(Rect(0,0,Breite,300));
  // Bild aus Image1 in bm1
  bm1.Transparent:=True;
  bm1.Canvas.CopyRect(Rect1,Image1.Canvas,Rect(450,20,450+Breite,320));
  bm1.Transparent:=True;
  bm1.TransParentColor := bm1.canvas.pixels[1,1];
  hg:=TBitmap.Create;
  hg.Width:=Breite;
  hg.Height:=Breite;
  hg.Canvas.CopyRect(Rect(0,0,Breite,Breite),Image1.Canvas,Rect(350,181,350+Breite,181+Breite));
  bm2:=TBitmap.Create;
  bm2.Width:=Breite;
  bm2.Height:=Breite;
  bm2.Transparent:=True;
  bm2.TransParentColor := bm2.canvas.pixels[1,1];
  for i:=1 to 160 do
    begin
      bm2.Canvas.CopyRect(Rect(0,0,Breite,Breite),bm1.Canvas,Rect(0,i,Breite,Breite+i));
      Image1.Canvas.CopyRect(Rect(350,181,350+Breite,181+Breite),hg.Canvas,Rect(0,0,Breite,Breite));
      Image1.Canvas.Draw(350,181,bm2);
      Pause(20);
    end;
  for i:=160 downto 1 do
    begin
      bm2.Canvas.CopyRect(Rect(0,0,Breite,Breite),bm1.Canvas,Rect(0,i,Breite,Breite+i));
      Image1.Canvas.CopyRect(Rect(350,181,350+Breite,181+Breite),hg.Canvas,Rect(0,0,Breite,Breite));
      Image1.Canvas.Draw(350,181,bm2);
      Pause(20);
    end;
  bm1.Free;
  bm2.Free;
  hg.Free;
end;

ub60
delphi10 Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 447
Erhaltene Danke: 2

W2K, XP, Vista64, Win7 64
RAD-Studio 2010
BeitragVerfasst: So 10.02.08 13:45 
user profile iconub60 hat folgendes geschrieben:
Ich schicke hier mal einen Codeschnipsel aus der "Entwicklungszeit" meiner Enigma (Softscroll mit Farbverlauf).
Da sollte der Hauptteil für eine eigene Programmierarbeit drin sein.
Vielleicht hilfts ja.

ub60


Hallo ub60

Kompliment, richtig gut. Genau auf das "reindrehen" kam es mir an.

Danke und Gruß
Delphi10

_________________
Salus populi suprema lex esto