| Autor |
Beitrag |
Bastian25
      
Beiträge: 38
Win XP
D7 Pers
|
Verfasst: So 16.01.05 18:15
Hallo!
Ich habe eine Hausarbeit bekommen, die ich aber nicht lösen kann!
Habe versucht sie mit Hilfe des Doberenz/Kowalski zu lösen, aber es ist leider fehlgeschalgen!
Habe auch überhaupt keine Ahnung, wie ich das machen soll!
Hier ist die Aufgabe!
Es soll eine neue Komponente erstellt werden:
Laufschrift-Komponente
Leiten Sie die Komponente von Tlabel ab. Benutzen Sie einen Timer zur Geschwindigkeitseinstellung
Eigenschaften
Laufschrift_ein (boolean)
LString1 (die Laufschrift)
Lstring2 (neuer String, der während der 1. Schriftzug eingeben wird, weiterläuft)
NeuStart (boolean, aktiviert den neuen String, neue Nachrichteneingabe ist im Hintergrund wieder möglich)
Geschwindigkeit (Zeichen / s)
Ich würde mich sehr über Hilfestellungen freuen!
Gruß Bastian
|
|
Elite
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 16.01.05 18:32
Zeig doch mal den Code her, den du bisher hast.
|
|
CenBells
      
Beiträge: 1547
Win 7
Delphi XE5 Pro
|
Verfasst: So 16.01.05 18:41
| Bastian25 hat folgendes geschrieben: | | ...Doberenz/Kowalski ... |
Wer oder was soll das denn sein, kann das kochen ???
Gruß
_________________ Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
|
|
Bastian25 
      
Beiträge: 38
Win XP
D7 Pers
|
Verfasst: So 16.01.05 18:41
Habe noch keinen Code!
Weiß gar nicht womit ich anfangen soll!

|
|
wunsiedler
      
Beiträge: 506
Erhaltene Danke: 4
Win7
|
Verfasst: So 16.01.05 19:23
Nimm ein Label und füll es mit einem Text, einen Timer und folgenden Code für den Timer:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Timer1Timer(Sender: TObject); var text : string; begin text := Label1.Caption; text := concat(copy(text,2,length(text)),copy(text,1,1)); Label1.Caption := text; end; |
|
|
Bastian25 
      
Beiträge: 38
Win XP
D7 Pers
|
Verfasst: So 16.01.05 19:29
Danke für die Hilfestellung!
Den eigentlich Quellcode für den Laufstring habe ich eigentlich schon gehabt, die Frage ist nur, wie ich das ganze jetzt in eine neue Komponente packen kann, mit den gegeben eigenschaften!
Gruß Bastian
|
|
wunsiedler
      
Beiträge: 506
Erhaltene Danke: 4
Win7
|
Verfasst: So 16.01.05 19:33
|
|
Bastian25 
      
Beiträge: 38
Win XP
D7 Pers
|
Verfasst: So 16.01.05 19:37
Danke für den Link! Habe auch schon versucht das im Doberenz/Kowalsk nachzulesen, aber irgendwie verstehe ich das nicht!
|
|
Bastian25 
      
Beiträge: 38
Win XP
D7 Pers
|
Verfasst: Di 18.01.05 15:50
So, habe versucht die Vorschläge umzusetzen, leider nicht mit soviel Erfolg!
Bekomme den String einfach nicht zum Laufen!
Wisst ihr wo der Fehler steckt?
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:
| unit LString;
interface
uses SysUtils, Classes, Controls, StdCtrls,ExtCrtls,Dialogs;
type TLString = class(TLabel) FTimer: TTimer;
private fAn: Boolean; procedure SetAn(const Value: Boolean); protected constructor create(aOwner: TComponent); override; public published property An: Boolean read fAn write SetAn; end;
procedure Register;
implementation
procedure Register; begin RegisterComponents('Beispiele', [TLString]); end;
constructor TLString.create(aOwner: TComponent); begin inherited; FTimer := TTimer.Create(Nil); fTimer.Enabled := False; end;
procedure TLString.SetAn(const Value: Boolean); begin fAn := Value; fTimer.Enabled := True;
end;
end. |
|
|
Elite
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 18.01.05 16:07
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:
| unit LString;
interface
uses SysUtils, Classes, Controls, StdCtrls,ExtCrtls,Dialogs;
type TLString = class(TLabel) FTimer: TTimer;
private fAn: Boolean; procedure SetAn(const Value: Boolean); procedure Timer(sender: TObject); protected constructor create(aOwner: TComponent); override; public published property An: Boolean read fAn write SetAn; end;
procedure Register;
implementation
procedure Register; begin RegisterComponents('Beispiele', [TLString]); end;
constructor TLString.create(aOwner: TComponent); begin inherited; FTimer := TTimer.Create(Nil); fTimer.Enabled := False; fTimer.OnTimer := Timer; end;
procedure TLString.SetAn(const Value: Boolean); begin fAn := Value; fTimer.Enabled := True; end;
procedure TLString.Timer(sender: TObject); begin Left := Left - 4; end;
end. | [/quote]
|
|
timfinn
Hält's aus hier
Beiträge: 14
|
Verfasst: Di 18.01.05 16:39
wtf ist doberenz/kowalsk.
also ganz n00b style würd ich sagen:
mach ein grosses label mit vielen leerzeichen,
setz einen timer, der dann jeweils die schrift dadrauf versetzt
durch runterzählen der leerzeichen.
|
|
Handycommander
      
Beiträge: 1054
Windows XP Pro, Vista
Visual Studio 2008
|
Verfasst: Fr 21.01.05 18:23
so würds ich nicht machen. mach es so, wie es Elite beschrieben hat!!
|
|
GSE
      
Beiträge: 740
Win 2k, Win XP Pro
D5 Prof, D6 Ent, D2k5 PE
|
Verfasst: Fr 21.01.05 18:44
du könntest auch an den textstring noch einmal soviele Leerzeichen anhängen wie noch platz im label ist und dann immer nur das vorderste zeichen hinten rankopieren (auch wenn buchstabenweises scrollen nicht besonders schön aussieht, jetzt mal allgemein, aber du solltets das ja von tlabel ableiten)
mfg
GSE
_________________ Programming today is a race between software engineers striving to build bigger and better idiot-proof programs
and the universe trying to produce bigger and better idiots. So far, the universe is winning. (Richard Cook)
|
|