Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ограничить поле вывода [D7, XP]


Артём ©   (2011-02-23 15:38:00) 

Здравствуйте мастера! Подскажите пожалуста как можно подсчитать количество введёных симвлов в поле Edit


Anatoly Podgoretsky   (2011-02-23 19:15:00) [1]

> Германн  (23.02.2011 18:44:09)  [9]

Хейты которые длиннее рубить попалам


И. Павел   (2011-02-23 19:06:00) [2]


> Артём

А вообще, с задачей разбивки строк прекрасно справляется даже TMemo с заданным свойством WordWrap = true;


Германн   (2011-02-23 18:44:00) [3]


> ограничение по длине height

)))


KilkennyCat   (2011-02-23 18:10:00) [4]


> "государственное образовательное учреждение начального профессионального
> образования". В компонент Label1 должно вывестись государственное
> образовательно учреждениев label2 учреждениеначального
> профессионального образования.

оно еще и думать должно грамматически?


Артём   (2011-02-23 16:56:00) [5]

спасибо


И. Павел   (2011-02-23 16:54:00) [6]


> Артём   (23.02.11 16:39) [5]

Тогда задайте Label.AutoSize = false и в обработчике нажатия на кнопку напишите примерно так (если что - доработайте немного, т.к. код проверял мало):

procedure TForm1.sButton1Click(Sender: TObject);
var i, ToL1, pWord: integer;
begin
 ToL1 := -2;
 Edit1.Text := Trim(Edit1.Text);
 pWord := -1;
 for i := 1 to Length(Edit1.Text) do
 begin
   if (Edit1.Text[i] = ' ') and (Edit1.Text[i - 1] <> ' ') then pWord := i-1;
   if Label1.Canvas.TextWidth(Copy(Edit1.Text, 1, i)) > Label1.ClientWidth then
   begin
     ToL1 := pWord;
     break;
   end;
 end;
 if ToL1 = -2 then ToL1 := Length(Edit1.Text);

 Label1.Caption := Copy(Edit1.Text, 1, ToL1);
 Label2.Caption := Copy(Edit1.Text, ToL1 + 1, Length(Edit1.Text) - ToL1);
end;


Артём   (2011-02-23 16:39:00) [7]

незнаю... задать наверное для label1 ограничение по длине height  как-то =)


Anatoly Podgoretsky   (2011-02-23 16:37:00) [8]

> Артём  (23.02.2011 16:15:02)  [2]

Какие только задания в вузах не придумают, не устаю удивляться.


И. Павел   (2011-02-23 16:37:00) [9]


> Артём   (23.02.11 16:15) [2]

А по какому критерию программа должна определить, где в Edit будет кончаться текст для Label1 и начинаться для Label2?


Артём   (2011-02-23 16:15:00) [10]

прошу прощения.... Это я вспомнил... Но мне нужно маленьеко другое.... Не могу разобратьяс как ограничит поле вывода... То есть есть дава компонента Edit и Label в поле еdiт ввожу например "государственное образовательное учреждение начального профессионального образования". В компонент Label1 должно вывестись государственное образовательно учреждение в label2 учреждение начального профессионального образования.


Игорь Шевченко   (2011-02-23 15:59:00) [11]

Length(Edit.Text)


Наверх

Титульная страница Поиск, карта сайта Написать письмо