Witam,

  1. Czy przy pomocy Indy (9) da się sprawdzić ilość zalogowanych użytkowników na serwerze?
    Gdy logują się do serwera dostaję wiadomość:
[R] 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
[R] 220-You are user number 10 of 40 allowed.
[R] 220-Local time is now 18:12. Server port: 21.
[R] 220-This is a private system - No anonymous login
[R] 220 You will be disconnected after 2 minutes of inactivity.

Z tej wiadomości odczytuje ilu jest zalogowanych osób, jednak chodzi mi o sprawdzanie tej wartości w każdej chwili, gdy już jestem połączony (bez ponownego rozłączania i logowania).

  1. CopyRect.
    Używając poniższego kodu powielam środkową część obrazka tak, aby była tak samo długa jak napis.
procedure TMainForm.GenerateClick(Sender: TObject);
var
  i: Integer;
begin
  GenerateImage.Enabled := false;
  iMiddle.Invalidate;
  lText.Caption := eText.Text;
  iMiddle.Width := lText.Width + 2;
  lText.Left := (MainForm.Width - ((MainForm.Width - MainForm.ClientWidth) div 2) - lText.Width) div 2;
  iLeft.Left := (MainForm.Width - ((MainForm.Width - MainForm.ClientWidth) div 2) -(30 + iMiddle.Width)) div 2;
  iMiddle.Left := iLeft.Left + iLeft.Width - 2;
  iRight.Left := iMiddle.Left + iMiddle.Width - 1;
  for i := iMiddle.Width downto 0 do
    iMiddle.Canvas.CopyRect(Rect(i, 0, 1, 32), iSource.Canvas, Rect(0, 0, 1, 32));
  iMiddle.Canvas.Refresh;
  GenerateImage.Enabled := true;
end;

Problem leży w tym, że przy dłuższych napisach (nie zawsze) fragment nie jest skopiowany lub wyświetlony ( [???] ). Czasem się udaje, a czasem nie, ogólnie chodzi mi o efekt taki jak na wielu stronach. Mamy 3 części: lewą, środek i prawą, przy czym ta druga powielana jest do długości napisu.