![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Помогите! Мне надо вызвать функцию вот код:
Код:
function TForm1.MinimizeText(const TextIn:String; Lab: Tlabel): String; var Leng, A: Integer; FirstPart, Secondpart, tmp: String; begin TMP:=TextIn; Leng := Length(TMP); if (lab.Canvas.TextWidth(TMP)) > lab.Width then begin A:=1; while (lab.canvas.TextWidth(tmp)) > lab.Width do begin FirstPart := LeftStr(TextIn,(leng div 2) - A); SecondPart := RightStr(TextIn,(Leng div 2) - A); tmp:=firstpart+'...'+Secondpart; Inc(A); end; end; Result:=tmp; end; Код:
ts.Caption:=MinimizeText(tmp); |
|
#2
|
||||
|
||||
|
В функции 2 параметра, а в вызове один.
|
|
#3
|
||||
|
||||
|
можно код, если не трудно?
|
|
#4
|
||||
|
||||
|
Какой код? Я же не знаю, для чего эта функция, и какие есть Label'ы в Вашем проекте. В общем виде это будет как-то так наверно:
Код:
ts.Caption:=MinimizeText(tmp, LabelN); ПыСы не вижу смысла объявлять строку в заголовке функции как const, если планируете ее внутри функции изменять. |
| Этот пользователь сказал Спасибо Bargest за это полезное сообщение: | ||
sariman (08.01.2012)
| ||
|
#5
|
||||
|
||||
|
Код:
uses
StrUtils,
type
TForm1 = class(TForm)
Label1: TLabel;
Label3: TLabel;
procedure FormCreate(Sender: TObject);
function MinimizeText(const Text: String; Canvas: TCanvas; Width: Integer): String;
var
TmpStr: String;
Len: Integer;
I: Integer;
FirstPart, SecondPart: String;
begin
TmpStr:=Text;
Len:=Length(TmpStr);
FirstPart:='';
SecondPart:='';
I:=1;
while Canvas.TextWidth(TmpStr)>Width do
begin
FirstPart:=LeftStr(Text, (Len div 2)-I);
SecondPart:=RightStr(Text, (Len div 2)-I);
TmpStr:=FirstPart+'..'+SecondPart;
Inc(I);
end;
Result:=TmpStr;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Label1.Caption:=MinimizeText('Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms', Label1.Canvas, Label1.Width);
Label3.Caption:=MinimizeText('Windows, Messages, SysUtils, Variants', Label1.Canvas, Label1.Width);
end;http://zalil.ru/32391797 |
| Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
sariman (02.01.2012)
| ||
|
#6
|
||||
|
||||
|
спасибо большое!))))
|
|
#7
|
||||
|
||||
|
А подскажите плз, как этот сокращенный текст добавить в tabsheet.Caption?
|