Показать сообщение отдельно
  #3  
Старый 18.12.2024, 23:36
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,100
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

можно чуть попроще:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  I : Integer;
begin
  CheckListBox1.Items.BeginUpdate;
  Try
    CheckListBox1.Items.Clear;
    CheckListBox1.Items.LoadFromFile('C:\...\file.txt');
    For I := 0 To CheckListBox1.Items.Count-1 Do
      CheckListBox1.Items[i] := Copy(CheckListBox1.Items[i],2,Length(CheckListBox1.Items[i])-1);
  Finally
    CheckListBox1.Items.EndUpdate;
  End;
end;

PS. кажется, что кода больше, но тут просто добавлена небольшая защита. Блокируем обновление компонента, потом грузим данные из файла, меняем (удаляем первый символ) и в конце разблокируем обновление. Вместо удаления символа используем копирование подстроки, причина - в отличии от Delete, которая процедура, изменяющая переданную строку, Copy - функция, возвращающая результат.
Ответить с цитированием