Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi for schliefe baut komische zeichen ein (https://www.delphipraxis.net/90281-schliefe-baut-komische-zeichen-ein.html)

ghost007 14. Apr 2007 15:01


for schliefe baut komische zeichen ein
 
Hallo,
ich will mit folgendem code einen text wie ein news flash durchlaufen lassen,
aber irgendwie kommen komische zeichen, nach dem dertext zu ende ist und nur noch durchlaufen soll.

Delphi-Quellcode:
      title:=ExtractFileName(wc.GetFileNameByPlaylistPos(wc.PlaylistPos));
      Label10.Caption:=title;
      if Label10.GetTextLen >38 then
       begin
        Title:='';
        Label12.Caption:='';
        RestCount:=Label10.GetTextLen-38;
        for i:=(1+count) to (38+rest) do
         begin
          temp:=Label10.Caption;
          Label12.Caption:=Label12.Caption+temp[i];
         end;
        count:=count+1;
        rest:=rest+1;
        if count = Label10.GetTextLen then
         begin
          count:=0;
          rest:=0;
         end;
       end;

fLaSh11 14. Apr 2007 15:11

Re: for schliefe baut komische zeichen ein
 
Aber der Text wird so eingeblendet, wie du es willst?

inherited 14. Apr 2007 15:15

Re: for schliefe baut komische zeichen ein
 
Mach es doch mit Canvas und TextOut.

fLaSh11 14. Apr 2007 15:17

Re: for schliefe baut komische zeichen ein
 
Wie wär's mit nem Label2.Repaint in deiner for-Schleife?

ghost007 14. Apr 2007 15:20

Re: for schliefe baut komische zeichen ein
 
Liste der Anhänge anzeigen (Anzahl: 1)
hallo,
mit repaint geht es nicht hab ich schon getestet.
Im anhang ein screen von dem fehler.
Ab dem .mp3 sollte eigentlich nichts mehr kommen.

ghost007 14. Apr 2007 15:22

Re: for schliefe baut komische zeichen ein
 
Zitat:

Zitat von inherited
Mach es doch mit Canvas und TextOut.

ich benutzt die label dann um das auf ein canvas zu zeichne.
wie kann ich das direkt machen?

inherited 14. Apr 2007 15:39

Re: for schliefe baut komische zeichen ein
 
Zeichne auf das Canvas deiner Form oder was auch immer du benutzt. TextOut hat 3 parameter: X,Y und den Text. Jetzt könntest du in jedem Schleifendurchlauf X um i*Zeichenbreite verkleinern und schon läuft dein Text durch.

ghost007 14. Apr 2007 16:12

Re: for schliefe baut komische zeichen ein
 
hm, das problem ist nur, das ich um das canvas einen ramen zeichne, so würde der ramen dann hab einen buchstaben verdecken

fLaSh11 14. Apr 2007 16:19

Re: for schliefe baut komische zeichen ein
 
Mach das Ganze größer und rutsche die Buchstaben weiter in die Mitte :)

ghost007 14. Apr 2007 16:21

Re: for schliefe baut komische zeichen ein
 
Zitat:

Zitat von fLaSh11
Mach das Ganze größer und rutsche die Buchstaben weiter in die Mitte :)

hä ?! :gruebel:
er meinte doch das ich die buchstaben quasi aus dem canvas rauszeichen d.h. das sie linksbzw. rechts verschwinden. aber wenn ich es ezz größer mach, dann verschwinden die buchstaben net. oO

inherited 14. Apr 2007 16:38

Re: for schliefe baut komische zeichen ein
 
Dann mal halt auf das Canvas des Labels oder nimm eine PaintBox und Mal auf ein Offscreen-Bitmap.

ghost007 14. Apr 2007 17:17

Re: for schliefe baut komische zeichen ein
 
hm, das problem ist, das des dann auf ein canvas soll, welches ich an mein LCD display sende. wie kann ich das dann darauf übertragen?

Klaus01 14. Apr 2007 17:28

Re: for schliefe baut komische zeichen ein
 
Hallo Christian,

vielleicht kannst Du ja damit ewtas anfangen.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i,j: Integer;
  s:String;
  leerstring:String;
begin
  leerString:='';
  for i:=1 to 2*length(edit1.text) do
    leerString:=leerString+' ';

  s:=leerString;
  i:=0;
  while not checkbox1.checked do
    begin
      inc(i);
      if i=length(leerString) then
        begin
          i:=1;
          s:=leerString;
        end;

      // Buchstaben eine Stelle vorrücken
      for j:=1 to length(edit1.Text) do
        s[j]:=s[j+1];
      // einen Buchstaben hinzufügen
      s[length(edit1.Text)]:=edit1.Text[i];
      label1.Caption:=s;
      application.processMessages;
      sleep(100);
    end;

end;
Grüße
Klaus

ghost007 14. Apr 2007 20:16

Re: for schliefe baut komische zeichen ein
 
hi,
kann es sein, das deine funktion meine anwendung "einfriert" oder sie zumindest sehr langsam macht?

Klaus01 15. Apr 2007 10:14

Re: for schliefe baut komische zeichen ein
 
Dan baue doch anstelle von Sleep das delay ein.

Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz