ähh... sprache is egal right? ;P
Code:
procedure TForm1.Timer1Timer(Sender: TObject);
var
sred:string;
sgreen:string;
sblue:string;
begin
if change then
begin
  inc(count);
  if red.Position < 10 then sred := '00'+IntToStr(red.position);
  if (red.Position > 9) and (red.Position < 99) then sred := '0'+IntToStr(red.position);
  if red.Position > 99 then sred := IntToStr(red.position);

  if green.Position < 10 then sgreen := '00'+IntToStr(green.position);
  if (green.Position > 9) and (green.Position < 99) then sgreen := '0'+IntToStr(green.position);
  if green.Position > 99 then sgreen := IntToStr(green.position);

  if blue.Position < 10 then sblue := '00'+IntToStr(blue.position);
  if (blue.Position > 9) and (blue.Position < 99) then sblue := '0'+IntToStr(blue.position);
  if blue.Position > 99 then sblue := IntToStr(blue.position);
  port.WriteStr(sred+sgreen+sblue+#13#10);
  change := false;
end;