AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Laufschrift ohne sofort wieder den Anfang zu sehen

Laufschrift ohne sofort wieder den Anfang zu sehen

Ein Thema von Helmi · begonnen am 10. Jan 2005 · letzter Beitrag vom 16. Sep 2005
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#11

Re: Laufschrift ohne sofort wieder den Anfang zu sehen

  Alt 10. Jan 2005, 22:07
Hallo Aenogym,

ich habe mir erlaubt deinen Code zu verbessern und diesen nur in einem StatusBar-Feld anzeigen zu lassen:

Code:
//Timer1.Interval auf 20 ms
//Statusbar mit 3 Feldern

private
  x, i: Integer;
  S: String;
  r: TRect;

{ ... }

uses CommCtrl;

{ ... }

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  StatusBar1.Perform(SB_GETRECT, 1, integer(@r));

  r.Right := r.Right - 1; //-1 wegen dem rechten Rand
  r.Left := r.Left + 1;   //+1 wegen dem linken Rand

  StatusBar1.Repaint;

  If (x > (StatusBar1.canvas.TextWidth(S) - r.Left) * -1) then
    begin
      i := StatusBar1.Canvas.Font.Size div 2; //Die Hälfte der Schrifthöhe berechnen

      StatusBar1.Canvas.FillRect(r);
      StatusBar1.Canvas.TextRect(r, x, ((r.Bottom - r.Top) div 2) - i, S);
      dec(x);
    end
  else
    x := r.Right - r.Left; //Right - Left = Breite des Feldes
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
//  statusbar1.Canvas.Font.Color := clBlue;
  StatusBar1.canvas.Brush.Style := bsclear;
//  statusbar1.Canvas.Font.Size := 12;

  S := 'Ich bin ein armer Delphi-Programmierer;
end;
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Laufschrift ohne sofort wieder den Anfang zu sehen

  Alt 10. Jan 2005, 22:20
bei deiner zeile
Delphi-Quellcode:
  else
    x := r.Right - r.Left; //Right - Left = Breite des Feldes
würde ich das - r.left; wegnehmen- ich finde das sieht schöner aus. sonst fängt der text nämlich mitten im feld wieder an

ich füge das mal der code library hinzu

Aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#13

Re: Laufschrift ohne sofort wieder den Anfang zu sehen

  Alt 10. Jan 2005, 22:23
Zitat von Aenogym:
bei deiner zeile
Delphi-Quellcode:
  else
    x := r.Right - r.Left; //Right - Left = Breite des Feldes
würde ich das - r.left; wegnehmen- ich finde das sieht schöner aus. sonst fängt der text nämlich mitten im feld wieder an
Also ich sehe keinen Unterschied zwischen
Code:
  x := r.Right - r.Left;
und:
Code:
  x := r.Right;
.

Zitat von Aenogym:
ich füge das mal der code library hinzu
Aenogym
Welch eine Ehre
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: Laufschrift ohne sofort wieder den Anfang zu sehen

  Alt 10. Jan 2005, 22:29
Zitat von Helmi:
Also ich sehe keinen Unterschied zwischen
Code:
  x := r.Right - r.Left;
und:
Code:
  x := r.Right;
also bei deiner zeile fängt der text ein stückchen zu weit links an, also mitten im feld. mach dien feld mal größer (width=200), dann glaube ich, sieht man es besser.

Aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#15

Re: Laufschrift ohne sofort wieder den Anfang zu sehen

  Alt 10. Jan 2005, 22:33
Hallo,

das kann ich nun nicht bestätigen.

ich habe 3 Felder: Größe Feld 1 = 222; Größe Feld 2 = 500; Größe Feld 3 = 50
(Die Größen hab ich schon mal verkleinert und vergrößert)

Jedesmal beginnt - so wie es sein soll - der Text ganz rechts, also am Ende des Feldes.

[edit] Du hast vollkommen recht! - war ein Fehler von mir!

es muss:
Code:
x := r.Right;
heissen.

I`m so sorry!
[/edit]
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#16

Re: Laufschrift ohne sofort wieder den Anfang zu sehen

  Alt 10. Jan 2005, 22:42
Zitat von Helmi:
Hallo,

das kann ich nun nicht bestätigen.

ich habe 3 Felder: Größe Feld 1 = 222; Größe Feld 2 = 500; Größe Feld 3 = 50
(Die Größen hab ich schon mal verkleinert und vergrößert)

Jedesmal beginnt - so wie es sein soll - der Text ganz rechts, also am Ende des Feldes.

[edit] Du hast vollkommen recht! - war ein Fehler von mir!

es muss:
Code:
x := r.Right;
heissen.

I`m so sorry!
[/edit]
ich les mir die größenangaben durch, mach sie nach usw. probier aus. wundere mich schon....
und dann seh ich, dass da nochwas steht
aber nungut. das wird langsam off-topic. schluss jetzt

Aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
donderdritte

Registriert seit: 16. Sep 2005
1 Beiträge
 
#17

Re: Laufschrift ohne sofort wieder den Anfang zu sehen

  Alt 16. Sep 2005, 23:25
danke erstmal an Aenogym durch den quelltext bin ich näher an die lösung einer informatik hausaufgabe gekommen

könnt ihr mir aber noch verraten ob es auch möglich ist das die schrift nach rechts läuft und von links wieder kommt, da dies der bestandteil der aufgabe ist ich es aber mit umstellen des codes nicht hinkriege.
es wäre außerdem gut wenn der text direkt wieder herauskommt und nicht mit einer kleinen pause, aber das obere ist eigentlich noch wichtiger

danke im voraus
  Mit Zitat antworten Zitat
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 22:50 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