Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/40: Рейтинг темы: голосов - 40, средняя оценка - 4.98
0 / 0 / 0
Регистрация: 26.08.2015
Сообщений: 9
1

Вывод данных из текстового файла в StringGrid

31.08.2015, 12:53. Показов 7834. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, помогите новичку кодом) Имеется таблица StringGrid(фото прикреплено ниже) нужно начиная со второй строки в таблицу, также выводились данные второй строки файла(прикреплен ниже) и далее по порядку. Заранее спасибо за помощь!)
Миниатюры
Вывод данных из текстового файла в StringGrid  
Вложения
Тип файла: txt previousplaning.txt (90 байт, 100 просмотров)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.08.2015, 12:53
Ответы с готовыми решениями:

Вывод в stringgrid из текстового файла
Подскажите как можно вывести определённый столбец из текстового файла в котором таблица в String...

Вывод в stringgrid из текстового файла.
Здравствуйте. У меня есть массив. Помогите, пожалуйста доделать вывод в stringgrid из текстового...

Вывод информации из текстового файла в StringGrid
Скажите пожалуйста,как в StringGrid выводить текстовую информацию. Код работает правильно но не...

Запись данных из текстового файла в Stringgrid
Нужно считать данные с файла, причем в каждой строчке сначала идет слово, а потом через пробелы два...

13
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
31.08.2015, 13:33 2
Лучший ответ Сообщение было отмечено lerandivan как решение

Решение

Например так.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure TForm1.Button1Click(Sender: TObject);
var a,b:TStringlist;
    i,j:integer;
begin
a:=TStringlist.Create;
a.LoadFromFile('1.txt'); //Ваш файл в папке с программой
StringGrid1.RowCount:=a.Count;
StringGrid1.ColCount:=5;
for i:=1 to a.Count-1 do
 begin
  b:=TStringlist.Create;
  b.Delimiter:=' ';
  b.DelimitedText:=a.Strings[i];
  StringGrid1.Cells[0,i]:=b.Strings[0];
  StringGrid1.Cells[1,i]:=b.Strings[1]+'  '+b.Strings[2];
  for j:=2 to 4 do
  StringGrid1.Cells[j,i]:=b.Strings[j+1];
  b.Free;
 end;
a.Free;
end;
1
0 / 0 / 0
Регистрация: 26.08.2015
Сообщений: 9
31.08.2015, 14:01  [ТС] 3
Спасибо, работает!) Можно еще вопрос? У меня исходная таблица состоит из 8 строк, как сделать так, чтобы после этих 2 двух строк заполненных из файла, остальные 6 оставались пустыми?
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
31.08.2015, 14:04 4
Цитата Сообщение от lerandivan Посмотреть сообщение
У меня исходная таблица состоит из 8 строк,
Тогда уж с учетом фиксированной строки буде 2+6+1=9.
Delphi
1
StringGrid1.RowCount:=9;
Добавлено через 1 минуту
Или просто задать количество строк и столбцов в инспекторе объектов.
1
0 / 0 / 0
Регистрация: 26.08.2015
Сообщений: 9
31.08.2015, 14:18  [ТС] 5
Спасибо большое, Вам!) Очень сильно выручили)
0
0 / 0 / 0
Регистрация: 26.08.2015
Сообщений: 9
31.08.2015, 21:32  [ТС] 6
Опять сел... Со второй таблицей не могу разобраться(на фото) Загружаю в нее файл(прикреплен) программа выдает ошибку 'List index out of bounds(5)'. Что делаю не так?
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
begin
a:=TStringlist.Create;
a.LoadFromFile('work\2.txt'); //Ваш файл в папке с программой
StringGrid1.RowCount:=6;
StringGrid1.ColCount:=5;
for i:=1 to a.Count-1 do
 begin
  b:=TStringlist.Create;
  b.Delimiter:=' ';
  b.DelimitedText:=a.Strings[i];
  StringGrid1.Cells[0,i]:=b.Strings[0];
  StringGrid1.Cells[1,i]:=b.Strings[1]+'  '+b.Strings[2];
  for j:=2 to 4 do
  StringGrid1.Cells[j,i]:=b.Strings[j+1];
  b.Free;
 end;
a.Free;
end;
Миниатюры
Вывод данных из текстового файла в StringGrid  
Вложения
Тип файла: txt 2.txt (256 байт, 35 просмотров)
0
Модератор
9261 / 6039 / 2379
Регистрация: 21.01.2014
Сообщений: 25,803
Записей в блоге: 3
01.09.2015, 05:52 7
Если просто загрузить данные из приложенного файла в СтрингГрид, то все делается проще... Или ты чего-то не договариваешь...
Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure TForm1.Button1Click(Sender: TObject);
var a : TStringList;
     i : Integer;
begin
 a:=TStringlist.Create;
 a.LoadFromFile('c:\1\2.txt'); //Ваш файл в папке с программой
 StringGrid1.RowCount:=6;
 StringGrid1.ColCount:=5;
 for i := 0 to a.Count - 1 do
  StringGrid1.Rows[i].CommaText := a.Strings[i];
end;
Миниатюры
Вывод данных из текстового файла в StringGrid  
1
0 / 0 / 0
Регистрация: 26.08.2015
Сообщений: 9
01.09.2015, 07:39  [ТС] 8
Да, извините, не договорил... Нужно чтобы таблица заполнялась со второй строки, а данные брались также начиная со второй строки файла.
0
2509 / 1130 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
01.09.2015, 08:05 9
Цитата Сообщение от lerandivan Посмотреть сообщение
Нужно чтобы таблица заполнялась со второй строки, а данные брались также начиная со второй строки файла.
если я тебя правильно понял, то достаточно индекс изменить:
Delphi
1
2
for i := 1 to a.Count - 1 do
  StringGrid1.Rows[i].CommaText := a.Strings[i];
1
0 / 0 / 0
Регистрация: 26.08.2015
Сообщений: 9
01.09.2015, 09:59  [ТС] 10
Спасибо, заработало!) Чтобы не создавать лишних тем опять же спрошу здесь.. Как сделать, чтобы в определенную ячейку таблицы выводилась из файла информация после знака '=' определенного параметра( например в ячейку [2,1] информация из файла после 'AvgBurningByOutLoading=')?? Вот мой код, но он выдает не то что надо... фото таблицы и файл прикреплены
Delphi
1
2
3
4
5
6
7
8
begin
   a:=TStringlist.Create;
   a.LoadFromFile('work\3.txt');
   StringGrid2.RowCount:=34;
   StringGrid2.ColCount:=3;
   for i:=1 to a.Count-1 do
    StringGrid2.Cells[2,1]:=Copy(a[1],Pos('AvgBurningByOutLoading=',a[1])+1,4);
 end;
Миниатюры
Вывод данных из текстового файла в StringGrid  
Вложения
Тип файла: txt 3.txt (1.3 Кб, 30 просмотров)
0
438 / 367 / 132
Регистрация: 09.09.2011
Сообщений: 1,334
01.09.2015, 10:37 11
если бы не первая и последняя строка в файле (begin/end), то можно было одним вызовом загрузить в stringlist поочередно строки типа:
1. параметр 1
2. значение
3. параметр 2
4. значение

а так нужно самому писать код разбора.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
01.09.2015, 12:00 12
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TForm1.Button1Click(Sender: TObject);
var a:TStringlist;
    i:integer;
begin
a:=TStringlist.Create;
a.LoadFromFile('3.txt'); //Ваш файл в папке с программой
StringGrid1.RowCount:=a.Count;
StringGrid1.ColCount:=3;
for i:=1 to a.Count-1 do
StringGrid1.Cells[2,i]:=copy(a.Strings[i],pos('=',a.Strings[i])+1,
                             length(a.Strings[i])-pos('=',a.Strings[i]));
a.Free;
end;
1
0 / 0 / 0
Регистрация: 26.08.2015
Сообщений: 9
01.09.2015, 12:35  [ТС] 13
Это работает, только вот параметры в файле раскиданы и не соответствуют строкам в таблице, поэтому и хотел узнать как выделить часть после 'параметр=' до запятой?
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
01.09.2015, 12:52 14
Да Вам хрен знает что вообще нужно. Параметров после знака = то 1,то с десяток, а колонка в таблице одна. Сами придумали, сами и творите, как делать Вам написали. А если не знаете даже основ Делфи,то и не лезьте.

Добавлено через 11 минут
Если между знаком = и первой запятой, то так
Delphi
1
2
StringGrid1.Cells[2,i]:=copy(a.Strings[i],pos('=',a.Strings[i])+1,
  pos(',',a.Strings[i])-pos('=',a.Strings[i])-1);
0
01.09.2015, 12:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.09.2015, 12:52
Помогаю со студенческими работами здесь

Загрузка данных из Excel и текстового файла в StringGrid (Borland Builder C++)
Здравствуйте! Не подскажите как осуществить загрузку данных из Excel и текстового файла в...

Вывод данных из текстового файла в datagridview
Доброго времени суток! Помогите разобраться с проблемой, пожалуйста.:cry: Входные...

Вывод таблицы из данных текстового файла
Есть почти готовая программа: Program Table; Const size = 5; Type Data = Record ...

Вывод данных из текстового файла в Richtextbox
Здравствуйте! У меня есть форма на которой расположено 2 кнопки,по нажатию на первую кнопку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru