1 Востаннє редагувалося Romanvolja (24.03.2017 06:42:47)

Тема: Як із CheckListBox додати в Edit (Delphi)

В поле Memo додається добре

procedure TForm1.BitBtn2Click(Sender: TObject);
var
   I : integer;
begin
   Memo1.Clear;
   for I := 0 to CheckListBox1.Items.Count -1 do
   begin
    if CheckListBox1.Checked[i] then
    Memo1.Lines.Add(CheckListBox1.Items[i]);
   end;
end;

А в Edit чомусь не виходить

procedure TForm1.BitBtn2Click(Sender: TObject);
var
   I : integer;
begin
   Edit1.Clear;
   for I := 0 to CheckListBox1.Items.Count -1 do
   begin
    if CheckListBox1.Checked[i] then
    Edit1.Text:=CheckListBox1.Items[i];
   end;
end;

Як можна це досягнути. За допомогу буду щиро вдячний.

2

Re: Як із CheckListBox додати в Edit (Delphi)

А в Edit чомусь не виходить

невже це компiлюэться:

Edit1:=CheckListBox1.Items[i];

Приведення типів даних і властивостей класів. Пiсля властивостi крапка жмак SPACE, дивимося.

3

Re: Як із CheckListBox додати в Edit (Delphi)

А в Edit чомусь не виходить

Навiщо в Edit писати циклом лише одне останнє значення? Може тоді так треба?

    procedure TForm1.BitBtn2Click(Sender: TObject);
    var
       I : integer;
    begin
       Edit1.Clear;
       for I := CheckListBox1.Items.Count -1 downto 0 do
        if CheckListBox1.Checked[i] then begin
         Edit1.Text:=CheckListBox1.Items[i];
         Break;
       end;
    end;

Чи що треба?

Подякували: Torbins1

4

Re: Як із CheckListBox додати в Edit (Delphi)

Будь ласка, замість "не виходить", "не працює", "не так" пишіть конкретно - що ви очікували, а що отримали. Телепати з нас кепські.

Подякували: Torbins1

5 Востаннє редагувалося Romanvolja (26.03.2017 08:34:58)

Re: Як із CheckListBox додати в Edit (Delphi)

Я хотів всі вибрані значення (тобто відмічені галочками у CheckListBox) записати у Edit

Вирішив проблему так:

procedure TRiderBase_Fr.Button2Click(Sender: TObject);
var
  I : integer;
begin
   Edit1.Clear;
   for I := 0 to CheckListBox1.Items.Count -1 do
   begin
    if CheckListBox1.Checked[i] then
    Edit1.Text:=Edit1.Text+CheckListBox1.Items[i]+'; ';
   end;
end;

Не знаю чи оптимальний варіант, та працює.

Вибачте за забраний у вас час. Дякую всім що відгукнулися.

Подякували: 0xDADA11C71

6

Re: Як із CheckListBox додати в Edit (Delphi)

Romanvolja, Величезне спасибі за наданий код! Ви мені дуже допомогли, тепер я зможу зламати клятих москали! Слава Україні!

7

Re: Як із CheckListBox додати в Edit (Delphi)

Пише з тульскої лікарні наш поціновувач, хоча може то Тор.

8

Re: Як із CheckListBox додати в Edit (Delphi)

Або уже когось зламав :D

9

Re: Як із CheckListBox додати в Edit (Delphi)

Москалів зламав, Пентагон наступний.

10 Востаннє редагувалося oleh1818 (03.11.2017 22:07:45)

Re: Як із CheckListBox додати в Edit (Delphi)

procedure TRiderBase_Fr.Button2Click(Sender: TObject);
    var
      I : integer;
    begin
       Edit1.Clear;
       for I := 0 to CheckListBox1.Items.Count -1 do
       begin
        if CheckListBox1.Checked[i] = true then
        Edit1.Text:=Edit1.Text+CheckListBox1.Items[i]+'; ';
       end;
    end;
Подякували: Torbins1

11

Re: Як із CheckListBox додати в Edit (Delphi)

oleh1818, здається, все, що ви зробили - додали "=true"? Це безглузда дія. Checked[ i ] вже має значення типу boolean, і порівнювати його з true - зайва операція. Це те саме, що писати, наприклад, if (2+2=4)=true then... - це "порівняння" і так вже робиться самим if.
А от якщо щось тут і слід зробити, то припинити смикати GUI в циклі і по-людськи назвати змінні:

procedure TRiderBase_Fr.GatherSelected(Sender: TObject);
    var
      i : integer;
      s : string;
    begin
       for i := 0 to clbOptions.Items.Count -1 do
       begin
        if clbOptions.Checked[i] then
          s := s + clbOptions.Items[i]+'; ';
       end;
       edOptions.Text := s;
    end;
Подякували: varkon, bees, Romanvolja3