Autor |
Beitrag |
D.Elphi
Beiträge: 128
Erhaltene Danke: 10
Windows 10 Edu x64
Tokyo Starter, BlueJ
|
Verfasst: Fr 25.11.11 23:39
Moin zusammen,
ich möchte in einem Label einen Scrolltext durchlaufen lassen. Kann mir da jemand helfen - ist ein TLabel überhaupt der richtige Ansatz oder gibt es da andere Komponenten?
Für Antworten bedanke ich mich im Voraus,
D.Elphi Moderiert von Narses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Sa 26.11.2011 um 06:15
|
|
jaenicke
Beiträge: 19276
Erhaltene Danke: 1741
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 25.11.11 23:44
Ich würde eine TPaintBox nehmen und es selbst zeichnen (oder auch in einer eigenen Komponente). Denn sonst ruckelt es nur unnötig, da du in einem Label ja nicht pixelweise sondern zeichenweise scrollen würdest.
|
|
D.Elphi
Beiträge: 128
Erhaltene Danke: 10
Windows 10 Edu x64
Tokyo Starter, BlueJ
|
Verfasst: Fr 25.11.11 23:46
Danke schonmal für diesen Ansatz - kannst Du das evtl. näher (vielleicht mit Quelltext) erläutern? Dankeschön
PS: Angenommen, das Ruckeln stört mich nicht...wie sähe denn die Label-Lösung aus?
|
|
Nersgatt
Beiträge: 1581
Erhaltene Danke: 279
Delphi 10 Seattle Prof.
|
Verfasst: Sa 26.11.11 08:43
D.Elphi hat folgendes geschrieben : |
PS: Angenommen, das Ruckeln stört mich nicht...wie sähe denn die Label-Lösung aus? |
Als Einsteigerfreundliche Lösung könnte man den Text einfach ins Label schreiben und das Label selbst verschieben.
Setz einen Timer aufs Formular und setz bei jedem Tick das meinlabel.left := meinlabel.left + 10;
Das ist die allereinfachste Lösung, die aber Probleme mit sich bringt. Du wirst z.B. feststellen, dass das Label nicht mehr sauber läuft, wenn Dein PC noch mit anderen Aufgaben beschäftigt ist. Aber das ist Teil des Lernprozesses
Fang also ruhig so an, wie ich oben beschrieben hab. Und dann verbessere das Programm.
_________________ Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
Für diesen Beitrag haben gedankt: D.Elphi
|
|
D.Elphi
Beiträge: 128
Erhaltene Danke: 10
Windows 10 Edu x64
Tokyo Starter, BlueJ
|
Verfasst: Sa 26.11.11 10:11
Hallo Nersgatt,
danke für deine Lösung. Das funktioniert alles wunderbar, nur habe ich nun das Problem, dass das Label nicht mehr "zurückkommt". Wie kann ich das machen, dass es wiederholt angezeigt wird?
mfg
D.Elphi
|
|
jaenicke
Beiträge: 19276
Erhaltene Danke: 1741
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Sa 26.11.11 10:18
Für den Anfang könntest du es wieder nach links setzen, wenn es zu weit rechts angekommen ist.
|
|
D.Elphi
Beiträge: 128
Erhaltene Danke: 10
Windows 10 Edu x64
Tokyo Starter, BlueJ
|
Verfasst: Sa 26.11.11 13:22
Meint ihr das in etwa so?
Delphi-Quelltext 1:
| if Label1.Left := xy then Label1.Left := yx; |
|
|
jaenicke
Beiträge: 19276
Erhaltene Danke: 1741
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Sa 26.11.11 13:29
Wenn du jetzt noch den Vergleichsoperator statt dem Zuweisungsoperator im if benutzt, ja...
Für diesen Beitrag haben gedankt: D.Elphi
|
|
D.Elphi
Beiträge: 128
Erhaltene Danke: 10
Windows 10 Edu x64
Tokyo Starter, BlueJ
|
Verfasst: Sa 26.11.11 15:14
also "=" anstatt ":="?
Übrigens, eine Frage habe ich noch:
Angenommen, ich möchte das Ganze ein wenig erweitern und zufällige "Nachrichten" aus einer Textdatei (nennen wir sie mal blabla.txt) anzeigen lassen. Wie bringe ich das Label dazu, diese anzuzeigen? Ich weiß, dass es dafür TStringList gibt, aber wie das geht, weiß ich nicht.
|
|
jaenicke
Beiträge: 19276
Erhaltene Danke: 1741
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Sa 26.11.11 15:25
Naja, du lädst die Datei in eine TStringList und suchst dir dann mit Random eine der Zeilen aus. Die kannst du dann direkt in das Label packen, wenn du das ohnehin als einfache Notlösung komplett bewegst.
Für diesen Beitrag haben gedankt: D.Elphi
|
|
D.Elphi
Beiträge: 128
Erhaltene Danke: 10
Windows 10 Edu x64
Tokyo Starter, BlueJ
|
Verfasst: Sa 26.11.11 15:35
Nein, meine Frage war, wie ich etwas in eine StringList einlese . Trotzdem schonmal danke im Voraus für deine Erklärung.
|
|
Jann1k
Beiträge: 866
Erhaltene Danke: 43
Win 7
TurboDelphi, Visual Studio 2010
|
Verfasst: Sa 26.11.11 16:33
Die StringList müsste die Methoden loadFromFile und saveToFile haben.
|
|