Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 построчно из стринглиста  [new]
стрин глист
Guest
Препод озверел: есть стринглист с заранее неизвестным количеством строк (но пустых строчек в нем точно нету!). Нужжо из стринглиста построчно вытащить все значения но вытащить их крайне хитро - создать предварительно динамически лейблы (сколько строк в стринглисте - столько и лейблов создать) и заполнить их. То есть строка = создать лейбл, строка = создать лейбл, и так до конца стринглиста. Каши на форме не будет - значений всегда не более 12-15, о сотнях речи не идет. Помогите спасите спасибо пожалуйста.
6 янв 18, 20:41    [21084998]     Ответить | Цитировать Сообщить модератору
 Re: построчно из стринглиста  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 9990
В чем проблема написать цикл и вызов конструктора и инициализацию TLabel?
6 янв 18, 20:49    [21085014]     Ответить | Цитировать Сообщить модератору
 Re: построчно из стринглиста  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 57918
стрин глист> Препод озверел: ...
стрин глист> То есть строка = создать лейбл, строка = создать лейбл
стрин глист> значений всегда не более 12-15, о сотнях речи не идет.

А в чём проблема? Это даже для лабораторной слабовато.
Создание компонент, 1 цикл, TLabel.Create, Caption.

Posted via ActualForum NNTP Server 1.5

6 янв 18, 20:55    [21085020]     Ответить | Цитировать Сообщить модератору
 Re: построчно из стринглиста  [new]
qwertEHOK
Member

Откуда: Волгоград
Сообщений: 246
var
sl:TStringList;
i:integer;
tl:TLabel;
begin
  sl:=Tstringlist.Create;
  sl.loadfromfile;
  for i:=0 to sl.count-1 do
  begin
     tl:=Tlaber.Create(form1);
     tl.left := 100;
     tl.Autosize:=false;
     tl.Height:=17;
     tl.Width:=45;
     tl.Font.Size:=11;
     tl.Name := 'Left'+IntToStr(i);
     tl.Caption := sl[i];
     tl.top := i * Height;
     tl.Parent := Form1;
  end;
  sl.Free;
end;


как то так. не проверял
7 янв 18, 10:39    [21085596]     Ответить | Цитировать Сообщить модератору
 Re: построчно из стринглиста  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 57918
qwertEHOK> tl.Height:=17;
> tl.top := i * Height;

На внешний вид в данном конкретном случае это не
повлияет, но подумайте, всё ли правильно в этом коде.

Posted via ActualForum NNTP Server 1.5

7 янв 18, 13:48    [21085841]     Ответить | Цитировать Сообщить модератору
 Re: построчно из стринглиста  [new]
стрин глист
Guest
Все прекрасно к этом коде ,оно работает и я вас сердечно благодарю за это qwertEHOK! Я только Tlaber на TLabel заменил и все буковки выстроились как надо.


Теперь другая проблема - я в дизайнере могу выделить компонент и назначить ему

procedure TForm1.Label1Click(Sender: TObject);
  begin
    ShowMessage('Welcome!');
  end;


но как быть с динамическими лейблами?! Допустим в первый раз создалось 11 лейблов и нужно на каждый из них повесить событие. Во второй раз создалось 8 лейблов и нужно на каждый из них повесить событие. Как такое вообще можно?
7 янв 18, 15:33    [21085976]     Ответить | Цитировать Сообщить модератору
 Re: построчно из стринглиста  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 2609
стрин глист,

tl.OnClick := НазваниеПроцедурыСобытия;
7 янв 18, 15:40    [21085981]     Ответить | Цитировать Сообщить модератору
 Re: построчно из стринглиста  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 2193
стрин глист,

а чем 8 и 11 принципиально отличаются? Если ты повесил хотя бы на один лейбл событие, что же тебе помешает сделать это с остальными n? для того, что бы их различить удобно использовать свойство Tag : (Sender as TComponent).Tag.
7 янв 18, 15:53    [21085987]     Ответить | Цитировать Сообщить модератору
 Re: построчно из стринглиста  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 2609
makhaon,

Алгоритм с 11 лэйблами на 27% сложнее)
7 янв 18, 15:56    [21085992]     Ответить | Цитировать Сообщить модератору
 Re: построчно из стринглиста  [new]
стрин глист
Guest
YuRock
стрин глист,

tl.OnClick := НазваниеПроцедурыСобытия;

Прошу прощения у меня нет логики - под <НазваниеПроцедурыСобытия> что имеет ввиду? Мне же на каждый лейбл нужно отдельное событие, а тут я оптом задам всем одно и то же <НазваниеПроцедурыСобытия> - правильно?
7 янв 18, 16:32    [21086028]     Ответить | Цитировать Сообщить модератору
 Re: построчно из стринглиста  [new]
стрин глист
Guest
спасибо -разобрался ,уже отправил ему на почту и даже получил особое приглашение с зачеткой ,тему можно закрывать.

qwertEHOK - особая благодарность что до сих пор остаешся человечным человеком.
7 янв 18, 19:17    [21086228]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить