StringList, ListBox, Разделитель

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Ответить
maksmkv
новенький
Сообщения: 22
Зарегистрирован: 29.08.2013 23:58:50

StringList, ListBox, Разделитель

Сообщение maksmkv »

По поиску на форуме ответа не нашел (((

Решил использовать 2 ListBox и файл с разделителем. Но опять что-то не идет.
В общем есть файл вида :
......
Имя1 | url1
Имя2 | url2
Имя3 | url3
......

Есть 2 ListBox - 1-й содержит имя 2-й невидим и содержит url

Как прочитать файл с разделителем? На delphiworld ясного ответа тоже не нашел (.
wadman
постоялец
Сообщения: 122
Зарегистрирован: 18.10.2016 14:54:28
Контактная информация:

Сообщение wadman »

Придется немного попрограммировать. Подсказка: TStrings.NameValueSeparator, .Names, .Values.
maksmkv
новенький
Сообщения: 22
Зарегистрирован: 29.08.2013 23:58:50

Сообщение maksmkv »

wadman писал(а):Придется немного попрограммировать. Подсказка: TStrings.NameValueSeparator, .Names, .Values.



Сделал, но почему -то только 1-я строка вставляется (((

Код: Выделить всё

var
  SL: TStringList;
  Temp: string;
  i: Integer;
  f: TextFile;
begin
  if OpenDialog1.Execute then
  begin
      SL := TStringList.Create;
      SL.LoadFromFile(OpenDialog1.FileName);
      SL.Delimiter := '|';
      SL.QuoteChar := '"';
      SL.StrictDelimiter := True;
      SL.DelimitedText :=SL.Text;

    for i := 0 to SL.Count - 1 do begin
    ListBox2.Items.Add(SL.Names[i]);
    ListBox3.Items.Add(SL.ValueFromIndex[i]);
    end;
    end;
  end;
wadman
постоялец
Сообщения: 122
Зарегистрирован: 18.10.2016 14:54:28
Контактная информация:

Сообщение wadman »

maksmkv писал(а):      SL.Delimiter := '|';
      SL.QuoteChar := '"';
      SL.StrictDelimiter := True;
      SL.DelimitedText :=SL.Text;

Вот не было такого в подсказке. :)
maksmkv
новенький
Сообщения: 22
Зарегистрирован: 29.08.2013 23:58:50

Сообщение maksmkv »

wadman писал(а):
maksmkv писал(а):      SL.Delimiter := '|';
      SL.QuoteChar := '"';
      SL.StrictDelimiter := True;
      SL.DelimitedText :=SL.Text;

Вот не было такого в подсказке. :)



Уже все сделал , СПАСИБО
Ответить