asdasd napisał(a)
Nie ma w informatyce pojęcia 'czcionka'. Czcionka jest uzywana w druku, a w informatyce mamy FONT.
Ludzie, nie potraficie się nauczyc?!
a po polsku "font" to ....? czcionka! :-)
a jesli chodzi o samo pytanie to:
najprosciej bylo by zrobic petle zmniejszajaca czcionke i porównywać czy juz sie zmiesci text w label, jesli tak to zastosujemy ten rozmiar czcionki i wychodzimy z petli.
ale zastanawiam sie czy nie da sie tego zwyczajnie wyliczyc, bez uzyania petli i wywolywania 100 razy tej samej funkcji...?
cos w tym stylu:
procedure TForm1.Edit1Change(Sender: TObject);
var s:String;
begin
s:=edit1.text;
Label1.Caption:=s;
label1.Canvas.Font.Size:=1000;
label1.Font.Size:=trunc(1000* (Label1.Width / label1.Canvas.TextWidth(s+' ')) );
end;
dziala to duzo szybciej niz petla, ale tez mniej dokladnie.
ja bym proponowal polaczyc to z petla, tzn:
tym sposobem oszacowac przyblizony rozmiar czcionki, a nastepnie "poprawic go" petla.