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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.06.2012, 11:50
evgen-20058 evgen-20058 вне форума
Прохожий
 
Регистрация: 26.06.2012
Сообщения: 2
Репутация: 10
По умолчанию txt файл в StringGrid

Помогите с решение задачи.
открывается диалог выбора txt файла, который затем считывается и заносится
в грид. Разделитель данных внутри строк - символ табуляции.
не могу понять как реализовать запись в StringGrid
Ответить с цитированием
  #2  
Старый 26.06.2012, 12:25
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Код:
StringGrid.Cells[x,y] := '...';
или как-то так.
Если проблема не в этом, то код в студию с объяснением, что не работает.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #3  
Старый 26.06.2012, 12:29
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
Радость

Цитата:
Сообщение от evgen-20058
не могу понять как реализовать запись в StringGrid
Код:
  StringGrid1.Cells[0, 0]:='Solum';
  StringGrid1.Cells[1, 0]:='debilis';
  StringGrid1.Cells[2, 0]:='mori';
  StringGrid1.Cells[3, 0]:='debent';
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #4  
Старый 26.06.2012, 12:31
evgen-20058 evgen-20058 вне форума
Прохожий
 
Регистрация: 26.06.2012
Сообщения: 2
Репутация: 10
По умолчанию

вот мой код....запись происходит в фиксированное количество колонок....мне же надо чтобы происходило все динамически
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
FName, str:string;
f:TextFile;
n, i:integer;

begin
if OpenDialog1.Execute then begin
  fName := OpenDialog1.FileName;
  end;

with StringGrid1 do begin
  RowCount := 0;
  ColCount := 0;

  AssignFile(f,FName);
  Reset(f);
  n:=0;
  while not eof(f) do
  begin
    readln(f, str);
    n:=n+1;
  end;
RowCount:=n+1;
Cols[0].LoadFromFile(fName);
for i:=RowCount-1 downto 1 do Rows[i].Text:=Rows[i-1].Text;
for i:=1 to RowCount-1 do
  begin
  Rows[i].Delimiter:=#9;
  Rows[i].DelimitedText:=Cells[0,i];
  end;
  end;//stringGrid1
end;//button1click
Ответить с цитированием
  #5  
Старый 26.06.2012, 13:06
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
Радость

Код:
var
  AStrings: TStrings;
  i: Integer;
  n: Integer;
begin
  AStrings:=TStringList.Create;
  try
    AStrings.LoadFromFile('Project1.txt'); // Project1.txt ?
    StringGrid1.RowCount:=AStrings.Count;
    StringGrid1.ColCount:=100; // 100 ? 
    n:=1;
    for i:=0 to AStrings.Count-1 do
    begin
      StringGrid1.Rows[i].Delimiter:=#9;
      StringGrid1.Rows[i].DelimitedText:=AStrings[i]+#9+'|';
      n:=Max(n, StringGrid1.Rows[i].IndexOf('|'));
      StringGrid1.Rows[i].Text:=StringReplace(StringGrid1.Rows[i].Text, '|', '',
        [rfReplaceAll, rfIgnoreCase]);
    end;
    StringGrid1.ColCount:=n;
  finally
    AStrings.Free;
  end;
end;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Этот пользователь сказал Спасибо NumLock за это полезное сообщение:
Alegun (27.06.2012)
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter