Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ] > Код на шару!
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.10.2024, 16:34
andreyarut andreyarut вне форума
Прохожий
 
Регистрация: 09.10.2024
Сообщения: 1
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Запись в StringGrid из текстового файла

Здравствуйте! Обращаюсь к Вам за помощью! Я новичок в Delphi, никак не получается загрузить данные из текстового файла в таблицу! Вроде бы должно быть элементарно, но никак не получается. Кое что я конечно сделал, а вот дальше не продвинуться. Высылаю сам текстовый файл и код. Если не трудно, помогите!
Вложения
Тип файла: 7z 004.7z (190.6 Кбайт, 1 просмотров)
Ответить с цитированием
  #2  
Старый 10.10.2024, 20:20
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,057
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Лень лезть в архив. Выложи сюда структуру файла данных.
Ответить с цитированием
  #3  
Старый 11.10.2024, 22:47
Vladimr Vladimr вне форума
Прохожий
 
Регистрация: 17.03.2021
Сообщения: 45
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Если надо только сделать кнопку загрузки из файла в таблицу, то для твоего формата подойдет
Код:
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;

Есть готовый вариант с сохранением и загрузкой в прикрепленном файле.
Вложения
Тип файла: zip Primer.zip (951.1 Кбайт, 2 просмотров)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:43.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter