Registriert seit: 6. Mai 2003
804 Beiträge
Delphi 6 Enterprise
|
" text wellenförmig laufen lassen "
6. Okt 2005, 10: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
|
|
Zitat
|