Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Автоматическая построчная работа с ListBox в Delphi

35K
07 декабря 2010 года
GrafAtRuss
15 / / 11.09.2010
Имеется автоматически генерируемый ListBox1 примерно на 150 строк (допустим это пути к файлам).
Требуется выполнить однотипные операции с каждой из строк, например автоматически поочередно отредактировать и добавить их в поле Memo1.
В голову приходит код на подобии:
Код:
procedure MemoFiles(Line: double);
var
  L:double;
begin
  Form1.ListBox1.ItemIndex := Line;
  if Form1.ListBox1.Items.Strings[(Form1.ListBox1.ItemIndex)] = '' then
  Form1.Memo1.Lines.Add('Анализ завершен.')
  else
  Form1.Memo1.Lines.Add('Анализ ' + Form1.ListBox1.Items.Strings[(Form1.ListBox1.ItemIndex)]);
  L := Line + 1;
  MemoFiles (L);
end;

Проблема в том, что ListBox1.ItemIndex не может быть равен текстовому значению Line, а только любому цифровому.
Вопрос в том, как автоматически переводить строки для последующей обработки?
19K
08 декабря 2010 года
Alegun
269 / / 10.09.2010
Если нужно по порядку, перебором, то лучше воспользоваться циклом:

var i: integer; Line : string;
begin
for i:= 0 to ListBox1.Count-1 do begin
Line := ListBox1.Items.Strings;
// здесь делаем что-то с текстом
Memo1.Lines.Add(Line);
end;

а если нужен текст из определённой строки листбокса и он известен, то делаем так:
uses messages;
var Line : string;
begin
ListBox1.Perform(LB_SELECTSTRING,-1,longint(Pchar('Здесь искомый текст')));
Line:=ListBox1.Items.Strings[ListBox1.ItemIndex];
// делаем что-то с текстом
Memo1.Lines.Add(Line);
end;
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог