| Autor |
Nachricht |
D.Elphi
      
Beiträge: 88
Erhaltene Danke: 2
Win 7 Prof (WXP Mode)
XE2 Prof EDU
|
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
|
| |
|
|
Werbung ausblenden? Dann registriere Dich kostenlos.
Weitere Gründe für eine Registrierung.
Werbung ausblenden? Dann registriere Dich kostenlos.
Weitere Gründe für eine Registrierung.
|
|
jaenicke
      
Beiträge: 15841
Erhaltene Danke: 741
XP, W7 x64 (Chrome, IE9, FF), Debian, (OSX 10.7)
RAD XE 2, Java (NB), C++, C# (VS 2010), JS/HTML, 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: 88
Erhaltene Danke: 2
Win 7 Prof (WXP Mode)
XE2 Prof EDU
|
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: 929
Erhaltene Danke: 70
Delphi 2010 Enterprise
|
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: 88
Erhaltene Danke: 2
Win 7 Prof (WXP Mode)
XE2 Prof EDU
|
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: 15841
Erhaltene Danke: 741
XP, W7 x64 (Chrome, IE9, FF), Debian, (OSX 10.7)
RAD XE 2, Java (NB), C++, C# (VS 2010), JS/HTML, 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: 88
Erhaltene Danke: 2
Win 7 Prof (WXP Mode)
XE2 Prof EDU
|
Verfasst: Sa 26.11.11 13:22
Meint ihr das in etwa so?
|
| |
|
|
jaenicke
      
Beiträge: 15841
Erhaltene Danke: 741
XP, W7 x64 (Chrome, IE9, FF), Debian, (OSX 10.7)
RAD XE 2, Java (NB), C++, C# (VS 2010), JS/HTML, 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: 88
Erhaltene Danke: 2
Win 7 Prof (WXP Mode)
XE2 Prof EDU
|
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: 15841
Erhaltene Danke: 741
XP, W7 x64 (Chrome, IE9, FF), Debian, (OSX 10.7)
RAD XE 2, Java (NB), C++, C# (VS 2010), JS/HTML, 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: 88
Erhaltene Danke: 2
Win 7 Prof (WXP Mode)
XE2 Prof EDU
|
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: 786
Erhaltene Danke: 9
Win 7
TurboDelphi, Visual Studio 2010
|
Verfasst: Sa 26.11.11 16:33
Die StringList müsste die Methoden loadFromFile und saveToFile haben.
_________________ Viele Leute denken, Zeit sei wie ein Fluss, der sanft und sicher in eine Richtung fließt, ich aber habe das Antlitz der Zeit gesehen und ich sage euch sie haben Unrecht, Zeit ist ein Ozean im Sturm...
|
| |
|
|