Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Оптимизация чтения слов из текстового файла в Delphi: пошаговое руководство

Delphi , Компоненты и Классы , Списки

Оптимизация чтения слов из текстового файла в Delphi

Вопрос пользователя заключается в необходимости оптимизации чтения слов из текстового файла с использованием компонента TStringList в среде разработки Delphi. Пользователь предоставил исходный код, который загружает содержимое текстового файла, но не может эффективно итерировать по словам, чтобы, например, отображать первое слово одной строки, а затем второе и так далее.

Шаг 1: Инициализация компонента TStringList

Для начала необходимо создать экземпляр TStringList, который будет использоваться для работы с текстом файла.

procedure TForm1.FormCreate(Sender: TObject);
var
  list, values: TStringList;
begin
  list := TStringList.Create;
  values := TStringList.Create;
  values.Delimiter := #32; // Разделитель для слов - пробел
end;

Шаг 2: Загрузка файла и итерация по строкам

Загрузим содержимое файла в TStringList и инициализируем индексы для итерации по строкам и словам.

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  S: String;
  curListIdx, curValueIdx: Integer;
begin
  if curListIdx = -1 then
  begin
    list.LoadFromFile('test.txt');
    if list.Count = 0 then Exit;
    curListIdx := 0;
  end;

  if curValueIdx = -1 then
  begin
    if curListIdx = list.Count then
    begin
      curListIdx := -1;
      Exit;
    end;
    values.DelimitedText := list[curListIdx];
    Inc(curListIdx);
    if values.Count = 0 then Exit;
    curValueIdx := 0;
  end;

  S := values[curValueIdx];
  Inc(curValueIdx);
  if curValueIdx = values.Count then
    curValueIdx := -1; // Сброс индекса слова для следующей строки
  else
    ShowMessage('Первое слово строки: ' + S); // Показать первое слово для активной строки
  end;

  // Сдвиг для показа второго слова
  BitBtn2Click(Sender);
  procedure TForm1.BitBtn2Click(Sender: TObject);
  begin
    if curValueIdx <= 0 then
      exit;
    Dec(curValueIdx);
    S := values[curValueIdx];
    Inc(curValueIdx); // Пропустить уже отображенное слово
    if curValueIdx = values.Count then
      curValueIdx := -1;
    else
      ShowMessage('Второе слово строки: ' + S); // Показать второе слово для активной строки
  end;
end;

Шаг 3: Освобождение ресурсов

Не забываем освободить выделенные ресурсы после использования TStringList.

procedure TForm1.FormDestroy(Sender: TObject);
begin
  list.Free;
  values.Free;
end;

Заключение

Используя описанный выше подход, вы сможете оптимизировать чтение слов из текстового файла, позволяя вашей программе последовательно обрабатывать первые и вторые слова каждой строки. Обратите внимание, что для реализации функционала переключения между первым и вторым словом был использован дополнительный обработчик нажатия BitBtn2Click, который аналогично изменяет индекс для отображения второго слова, но сначала уменьшает его для отображения предыдущего слова, а затем увеличивает, чтобы пропустить уже отображенное слово при следующих итерациях.

Создано по материалам из источника по ссылке.

Оптимизация чтения слов из текстового файла в среде разработки Delphi с использованием компонента `TStringList`.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Списки ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-05-09 08:44:44/0.0059559345245361/0