Einzelnen Beitrag anzeigen

Vader

Registriert seit: 6. Mai 2003
804 Beiträge
 
Delphi 6 Enterprise
 
#1

" text wellenförmig laufen lassen "

  Alt 6. Okt 2005, 09:56
hallo,

hab da einen code in der delphi-ecke aufgeschnappt " text wellenförmig laufen lassen "

Delphi-Quellcode:
type
  ausschlag = -20..20;
 
const
  bewegung: integer = 0;
 
procedure WaveTextOut(cnv: TCanvas; x, y: integer;
  amplitude: ausschlag; txt: string);
var
  a, i, j, z, lg: integer;
  s: TSize;
begin
  lg := length(txt);
  if lg = 0 then exit;
  a := abs(amplitude);
  with cnv do begin
    s := TextExtent(txt);
    fillrect(rect(x - 2, y - a, x + s.cx + 2, y + s.cy + a));
    z := y;
    j := 0;
    moveto(x, y);
    for i := 0 to lg - 1 do begin
      if txt[i + 1] <> #32 then
        z := trunc(y + sin(i - j - bewegung) * amplitude) else inc(j);
      textout(penpos.x, z, txt[i + 1]);
    end;
  end;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  Timer1.interval := 110;
  with canvas do begin
    brush.color := clmaroon;
    font.color := clyellow;
    font.name := 'Fixedsys';
  end;
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if bewegung = 6 then bewegung := 1 else inc(bewegung);
  WaveTextOut(canvas, 25, 100, -6,
    'Das ist ein Beispiel für bewegten Wellentext');
end;
kommt die fehlermeldung:

Delphi-Quellcode:
[Fehler] Unit1.pas(77): Der linken Seite kann nichts zugewiesen werden

if bewegung = 6 then bewegung := 1 else inc(bewegung);
mfg vader
  Mit Zitat antworten Zitat