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

Ваш аккаунт

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

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

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

Как считать данные из файла и выдать их в окно?

15K
27 июля 2006 года
Tigr@
4 / / 26.02.2006
Привет, всем!
Программа на Delphi.
Задача: Надо считать данные из существующего файла (к примеру, текстового) и отобразить их в окне.
Например:
(a)cодержание текст.файла (см. так, как написано):
P.S. [строка с пробелами] - это пустая строка и она присутствует в тексте.

[строка с пробелами]
Курс "Привет, тебе!"
[строка с пробелами]
1. Агафонов Иван ГР-1123
2. Сидоренко Мария ГР-1123
3. Носков Роман ГР-1123
4. Ручкина Яна ГР-1123
[строка с пробелами]
5. Наумов Леонид ГР-7895
6. Красавина Вера ГР-7895
[строка с пробелами]
7. Пасквалина Ляля ГР-9401
[строка с пробелами]

(б) вид окна д.б. таким:
________________________________________
|_______ФИО_______|_________Номер гр_____|
Агафонов Иван ГР-1123
Сидоренко Мария ГР-1123 и т.д.

Проблема состоит в том, как считать все данные из файла, минуя все пустые строки и пробелы, и отобразить их в окне. И,еще какой компонент надо использовать для отображения данных, к примеру, для ini подходит TValueListEditor, а в моем случае какое подойдет? Пробовала использовать TlistView, но не поняла, как вставить данные из файла...

Пожалуйста, помогите мне решить эту задачу. Было бы время, я бы постаралась разобраться, но это нужно срочно...
Заранее благодарю.
339
28 июля 2006 года
verybadbug
619 / / 12.09.2005
кидаешь на форму ListView.... устанавливаешь ListView.ViewStyle := vsReport..... далее добавляешь пару колонок (дабл клик на ListViev.Columns)...

вот тебе код добавления твоих данных.....
Код:
const
  FileName = '1.txt';
var
  SL: TStringList;
  S: String;
  I: Integer;
  Item: TListItem;
begin
  ListView1.Items.BeginUpdate;
  SL := TStringList.Create;
  try
    ListView1.Items.Clear;
    SL.LoadFromFile(FileName);
    while SL.Count > 0 do begin
      S := Trim(SL[0]);
      I := Pos('.', S);
      if I > 0 then begin
        Delete(S, 1, I + 1);
        Item := ListView1.Items.Add;
        I := Pos(' ГР', S);
        if I = 0 then Item.Caption := S
        else begin
          Item.Caption := Copy(S, 1, I - 1);
          Delete(S, 1, I);
          Item.SubItems.Add(S);
        end;
      end;
      SL.Delete(0);
    end;
  finally
    SL.Free;
    ListView1.Items.EndUpdate;
  end;
end;

если нужны пояснения - пиши.....:p
1.8K
10 августа 2006 года
Death Knight
139 / / 19.02.2006
НЕ совсем понял что тебе нужно, но что если элемент Memo, и воспользоваться функцией Memo1.Strings.LoadFromFile, вроде так, давно Дельфи не загружал, да и вообще удалил его...
1.8K
11 августа 2006 года
LastSoul
279 / / 28.12.2005
[QUOTE=Death Knight]НЕ совсем понял что тебе нужно, но что если элемент Memo, и воспользоваться функцией Memo1.Strings.LoadFromFile, вроде так, давно Дельфи не загружал, да и вообще удалил его...[/QUOTE]
Таким образом содержимое файла отобразится со всякими лишними пробелами и пустыми строками
И колонки как в ListView неполучиться сделать в Memo
18K
23 августа 2006 года
sysprg
4 / / 08.06.2006
Ну, тогда перед добавлением в форму проверь - не пустая ли строка.

Типа IF s <> '' then добавить ...
18K
23 августа 2006 года
sysprg
4 / / 08.06.2006
В догонку. Сорру, невнимательно просмотрел исходник - там есть проверка на наличие текста, ха него отвечает строки
i := Pos('.', S);
IF i > 0 Then ...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог