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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2009, 13:36   #1
aks
Пользователь
 
Аватар для aks
 
Регистрация: 03.02.2009
Сообщений: 44
По умолчанию как загрузить текстовый фаил в StringGrid?

Кто-нибудь знает как загрузить текстовый фаил в StringGrid?

From Stilet: Назвать нормально тему рука не поднимается? Мож в баню - попариться?

Последний раз редактировалось Stilet; 17.03.2009 в 14:06.
aks вне форума Ответить с цитированием
Старый 17.03.2009, 14:05   #2
[Smarik]
Веб-разработчик
Форумчанин
 
Аватар для [Smarik]
 
Регистрация: 16.01.2008
Сообщений: 451
По умолчанию

все зависит от того как устроен текстовый файл, приведу пример своей курсовой
Структура файла:
Код:
3
4
40
40
40
50
50
50
50
1 число количество строк
2 число количство столбцов
следующие 3 числа строка
следующие 4 файла столбец
(у меня загружается только 0 строка и 0 столбец, центр таблицы пуст)
Код:
procedure Tenter.Open1Click(Sender: TObject);
var
  readf:textfile;
  st:string;
  i,j,l:integer;
begin
    if od.Execute then
    begin
        assignfile(readf,od.FileName);
        reset(readf);
        readln(readf,post);
        sg.RowCount:=post;
        readln(readf,potr);
        sg.ColCount:=potr;
        for i:=1 to post do
        begin
            readln(readf,st);
            sg.Cells[0,i]:=st;
        end;
        for j:=1 to potr do
        begin
            readln(readf,st);
            sg.Cells[j,0]:=st;
        end;
        closefile(readf);
    end;
end;
Я ваш новый друг, смиритесь!
[Smarik] вне форума Ответить с цитированием
Старый 17.03.2009, 14:08   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Есть TStringGrid.Rows[].LoadFromFile если файл содержит соответствующую структуру конечно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.03.2009, 22:00   #4
[Smarik]
Веб-разработчик
Форумчанин
 
Аватар для [Smarik]
 
Регистрация: 16.01.2008
Сообщений: 451
По умолчанию

хм, а какая именно должна быть структура? у меня сейчас нету виндовса следовательно и делфи, сам изучить не могу, но подозреваю функция очень полезная.
Я ваш новый друг, смиритесь!
[Smarik] вне форума Ответить с цитированием
Старый 20.03.2009, 08:25   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Этот метод аналогичен вот чему:
Код:
while not eof(f) do begin
 readln(f,s);
 StringGrid.cell[колонка,StringGrid.ColCount-1]:=s;
 StringGrid.ColCount:=StringGrid.ColCount+1
end;
Соответственно
TStringGrid.Cols[].LoadFromFile
Будет довавлять каждую строчку файла в новую строчку грида в указанную колонку.

Вот тебе еще в нагрузку пример читающий из файла все данные как полагатся:

Код:
var k,s:TStringList;i:integer;
begin
s:=TStringList.Create;k:=TStringList.Create;
k.LoadFromFile('file1.txt');
s.Delimiter:=' '; // Это разделитель между элементами
StringGrid1.Rows[i].Delimiter:=s.Delimiter;
StringGrid1.RowCount:=k.Count+1;
StringGrid1.ColCount:=1;
for i:=0 to k.Count-1 do begin
 s.DelimitedText:=k[i];
 if StringGrid1.ColCount<s.Count then
  StringGrid1.ColCount:=s.Count;
  StringGrid1.Rows[i].DelimitedText:=s.DelimitedText;
end;
s.free;k.Free;
end;
А вот файл к примеру:
Код:
1 2 3 4 5 6
q w e r t y u io o
s df g h j jk k klkjkljl kjk l kjl kjl
Разделитель ты можеш выбрать самю
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.03.2009, 17:04   #6
[Smarik]
Веб-разработчик
Форумчанин
 
Аватар для [Smarik]
 
Регистрация: 16.01.2008
Сообщений: 451
По умолчанию

я так прнимаю если таблица 2 на 2 и открываешь файл где расчитано на таблицу 5 на 5 то таблица автоматом не увеличится?
Я ваш новый друг, смиритесь!
[Smarik] вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение Excel ячеек в текстовый фаил jopaz Общие вопросы Delphi 4 06.10.2008 00:04
Задача на текстовый фаил nadea11 Помощь студентам 7 06.05.2008 17:47
Как динамично быстро загрузить в компонент Stringgrid 34 символа? SkAndrew Общие вопросы Delphi 11 13.04.2008 12:42
Как загрузить текстовый файл в Delphi? aidyn Помощь студентам 7 30.05.2007 20:56