Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2015, 16:15   #21
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

В файле 3 позиции в каждой строке? Что является разделителем между позициями? Табуляция? Пробел? Или пробелы?
Цитата:
Что этот код делать должен?
Он хочет распарсить файл.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 21.01.2015, 16:17   #22
viks1
человек
Форумчанин
 
Аватар для viks1
 
Регистрация: 11.05.2009
Сообщений: 517
По умолчанию

Цитата:
Сообщение от lomastr_ Посмотреть сообщение
Что этот код делать должен?
http://programmersforum.ru/showpost....1&postcount=18

Цитата:
В файле 3 позиции в каждой строке? Что является разделителем между позициями? Табуляция? Пробел? Или пробелы?
пробелы
viks1 вне форума Ответить с цитированием
Старый 21.01.2015, 16:23   #23
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Так создай отдельную функцию которая извлекала бы данные в TVlans из обычного String и парсь в цикле.
Типа function Parse(Line: String); TVLans;
Туда будешь отправлять свои линии из TStringList, а оттуда получать уже TVLans, которые корректно будут вгружаться в TList<Vlans>.Add
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 21.01.2015, 16:26   #24
viks1
человек
Форумчанин
 
Аватар для viks1
 
Регистрация: 11.05.2009
Сообщений: 517
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Так создай отдельную функцию которая извлекала бы данные в TVlans из обычного String и парсь в цикле.
Типа function Parse(Line: String); TVLans;
Туда будешь отправлять свои линии из TStringList, а оттуда получать уже TVLans, которые корректно будут вгружаться в TList<Vlans>.Add
Это идея)
пошел кодить)
viks1 вне форума Ответить с цитированием
Старый 21.01.2015, 16:30   #25
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Любой. К примеру вот этого:
Код:

TVlans = class(TObject)
id: string;
name: string;
x: String;
end;
Сразу не увидел. Объекты бывают разные. Ваши объекты в данном случае это записи, они пассивны и не имеют своих функций. Их вообще смело можно заменить с Object на объявление обычного record'a. Тогда Create можно не использовать - Делфи сама поймет что это составной тип и его "не нужно" создавать. Создают обычно экземпляры классов это делается для того чтобы они могли запускать во время Create свои функции и процедуры для формирования своих внутренних полей самостоятельно. Для Ваших записей этого совершенно не требуется. Просто последние версии Делфи стирают эту грань между экземпляром класса и обычным record'ом.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 21.01.2015, 16:41   #26
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

Задействовать какой TDictionary и смело отказаться от лишних сущностей.
lomastr_ вне форума Ответить с цитированием
Старый 21.01.2015, 17:01   #27
viks1
человек
Форумчанин
 
Аватар для viks1
 
Регистрация: 11.05.2009
Сообщений: 517
По умолчанию

Цитата:

Туда будешь отправлять свои линии из TStringList, а оттуда получать уже TVLans, которые корректно будут вгружаться в TList<Vlans>.Add
То есть V1.Add(моя функция) так?
viks1 вне форума Ответить с цитированием
Старый 21.01.2015, 18:24   #28
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
То есть V1.Add(моя функция) так?
Это надо проверять. Если не получится, то создашь еще одну переменную. Сначала сохранишь данные из функции туда. Потом уже оттуда добавишь в V1
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 23.01.2015, 13:09   #29
viks1
человек
Форумчанин
 
Аватар для viks1
 
Регистрация: 11.05.2009
Сообщений: 517
По умолчанию

Как из TList вывести значения в Мемо?
к примеру есть :
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
  SR: TSearchRec;
  S: TStrings;
  St: Tlist<TStrings>;
begin
St:=TList<TStrings>.Create;
  if FindFirst('vlans\*.txt',faAnyFile,SR) = 0 then
  repeat
    S:=TStringList.Create;
    S.LoadFromFile('vlans\'+SR.Name);
    Memo1.Lines.Add(Memo1.Text+#13+S.Text);
    S.Free;
  until FindNext(SR) <> 0;
   FindClose(SR);
   for i := 0 to Memo1.Lines.Count do
St.Add(Memo1.Lines);
St.Sort;
Memo1.Clear;

Memo1.Lines.InsertObject(St)
end;
viks1 вне форума Ответить с цитированием
Старый 23.01.2015, 14:16   #30
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

Много ненужных сущностей, отсюда и не понимание что с этим со всем делать.
Зачем постоянно создавать TStringList?
Зачем загружать в мемо если потом опять перегружать в TStrings?
lomastr_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Java Collections slavarus Помощь студентам 0 06.10.2013 17:57
C#. Generics Arrays/Обобщенные массивы Lasur C# (си шарп) 2 13.03.2012 05:08
== для generics-типов. vedro-compota C# (си шарп) 4 07.04.2011 08:22
System.Collections.IEnumerable; как его подключить? boris-blade Общие вопросы .NET 4 15.03.2010 01:36