![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Здравствуйте! Обращаюсь к Вам за помощью! Я новичок в Delphi, никак не получается загрузить данные из текстового файла в таблицу! Вроде бы должно быть элементарно, но никак не получается.
Кое что я конечно сделал, а вот дальше не продвинуться. Высылаю сам текстовый файл и код. Если не трудно, помогите! |
|
#2
|
|||
|
|||
|
Лень лезть в архив. Выложи сюда структуру файла данных.
|
|
#3
|
|||
|
|||
|
Если надо только сделать кнопку загрузки из файла в таблицу, то для твоего формата подойдет
Код:
procedure TForm1.N2Click(Sender: TObject);
var
F:TextFile;
p:integer; //для запоминания столбца для вывода
str:string; //для копирования строки изи файла
col:integer; //для подсчета кол-ва строк
str1:string; //для заполнения таблицы
begin
col:=0;
if OpenDialog1.Execute Then
begin
assignFile(F, OpenDialog1.FileName);
Reset(F);
while not eof(f) do
begin
Readln(F, str);
if length(str)>3 then //для игнорирования пустых строк
begin
col:=col+1; //кол-во прочитанных строк
StringGrid1.rowcount:=col+1;
StringGrid1.Cells[0,col]:=IntToStr(col);// Нумерация столбцов
{} //разбивка по таблице
p:=1;
while pos(' ',str)>0 do //разбивка исходной строки для таблицы
begin
str1:=copy(str,1,pos(' ',str)-1);
delete(str,1,pos(' ',str)); //удаляем часть текста который вывели в таблицу
StringGrid1.Cells[p,col]:=str1;
p:=p+1;
end;
while pos(' ',str)>0 do delete(str,pos(' ',str),1); //удаление лишних пробелов, (в файле, в конце каждой строки стоит лишний пробел)
StringGrid1.Cells[p,col]:=str; //вывод остатка (иначе в конце каждой строки пришлось бы ставить знак разделителя)
{} //разбивка по таблице
end;
end;
CloseFile(F);
end;
end;Есть готовый вариант с сохранением и загрузкой в прикрепленном файле. |