Witam,
- 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).
- 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.