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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2012, 12:21   #1
werrey
Форумчанин
 
Регистрация: 01.02.2011
Сообщений: 105
По умолчанию Загрузить в Stringgrid содержимое Мемо

Здравствуйте.

Подскажите пожалуйста, как загрузить текст из Мемо в Stringgrid,
чтобы он заполнил соответствующие ячейки?
Вот текст в Мемо:

1|2|3|4|5|6|7|8|9
1|2|3|4|5|6|7|8|9
1|2|3|4|5|6|7|8|9
1|2|3|4|5|6|7|8|9

Stringgrid состоит из 9-и колонок и 4-х строк.
Соответственно в Stringgrid каждая цифра должна загрузиться в свою
ячейку, без символа '|' .
werrey вне форума Ответить с цитированием
Старый 23.04.2012, 12:48   #2
denisbrain
Форумчанин
 
Регистрация: 29.05.2011
Сообщений: 449
По умолчанию

Цитата:
Сообщение от werrey Посмотреть сообщение
Здравствуйте.

Подскажите пожалуйста, как загрузить текст из Мемо в Stringgrid,
чтобы он заполнил соответствующие ячейки?
Вот текст в Мемо:

1|2|3|4|5|6|7|8|9
1|2|3|4|5|6|7|8|9
1|2|3|4|5|6|7|8|9
1|2|3|4|5|6|7|8|9

Stringgrid состоит из 9-и колонок и 4-строк.
Соответственно в Stringgrid каждая цифра должна загрузиться в свою
ячейку, без символа '|' .

Код:
Function LoadTableFormFile(Table:TStringGrid;Filename:string;ch:char=';';StartRow:integer=0):boolean;
var t,l,x,y:integer;
    s2,s:string;
    f:textfile;
begin
if fileage(Filename)>0 then begin
  assignfile(f,Filename);
  reset(F);
y:=StartRow-1;

  repeat
  readln(f,s);
  y:=y+1;
  if y>=Table.RowCount then Table.RowCount:=y+1;
  l:=length(s);
  s2:='';
  t:=0;
  x:=1;
  while x<l do begin
       if s[x]='#' then begin
     s2:=s2+chr(strtoint(copy(s,x+1,2)));
     x:=x+3; end;
     if (s[x]=ch) or (x=l) then begin
     if x=l then if s[x]<>ch then s2:=s2+s[x];


     Table.Cells[t,y]:=s2;
     t:=t+1;
     if t> Table.ColCount then Table.ColCount:=t+1;
     s2:='';
     end else
     begin
      s2:=s2+s[x];
     end;
      x:=x+1;
    end;

  until eof(f);
  closefile(f);
  end;
end;


Function SaVeTabelToCSV(Table:TStringGrid;Filename:string;ch:char=';'):integer;
  var x,y:integer;
      s:string;
      F:Textfile;
      function ecran(s:string):string;
      var s2:string;i:integer;
      begin
      s2:='';
        for I:=1 to length(s) do if (s[i]<>ch) or (ord(s[i])<32) then s2:=s2+s[i] else s2:=s2+'#'+inttostr(ord(s[I]));
        result:=s2;
      end;
begin
Rewrite(f,Filename);
for y:=0 to Table.RowCount-1 do begin
  s:='';
  for X:=0 to Table.ColCount-1 do
  s:=s+ecran(Table.Cells[x,y])+ch;
  writeln(f,s);
end;
 closefile(F);
end;

Код:
LoadTableFormFile(StringGrid1,filename,'|');



если из TStringList


Код:
Function LoadTableFormTStringList(Table:TStringGrid;TextList:TstringList;ch:char=';';StartRow:integer=0):boolean;
var m,t,l,x,y:integer;
    s2,s:string;
    f:textfile;
begin
if TextList<>nil then begin
y:=StartRow-1;
  for M:=0 to TextList.count-1 do begin 
  s:=TextList[m];
  y:=y+1;
  if y>=Table.RowCount then Table.RowCount:=y+1;
  l:=length(s);
  s2:='';
  t:=0;
  x:=1;
  while x<l do begin
       if s[x]='#' then begin
     s2:=s2+chr(strtoint(copy(s,x+1,2)));
     x:=x+3; end;
     if (s[x]=ch) or (x=l) then begin
     if x=l then if s[x]<>ch then s2:=s2+s[x];
     Table.Cells[t,y]:=s2;
     t:=t+1;
     if t> Table.ColCount then Table.ColCount:=t+1;
     s2:='';
     end else
     begin
      s2:=s2+s[x];
     end;
      x:=x+1;
    end;
 end;end;

 end;

Код:
LoadTableFormTStringList(form1.StringGrid1,TstringList(form1.memo1.lines),'|');
задания на pascal/delphi ICQ 368254335
Tel +79177425326 mail denis-naymov1985(at)mail.ru login skype denis.new.skype

Последний раз редактировалось denisbrain; 23.04.2012 в 12:53.
denisbrain вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузить stringGrid из массива a kta87 Общие вопросы Delphi 2 01.02.2012 19:35
Содержимое ячеек StringGrid Тупица( Помощь студентам 0 10.12.2010 22:27
Как сохранить содержимое StringGrid-a в Unicode? iiunbreakableii Общие вопросы Delphi 2 28.08.2009 14:48
как загрузить текстовый фаил в StringGrid? aks Помощь студентам 5 20.03.2009 17:04
Загрузить текст из файла в мемо Teen4jump Общие вопросы Delphi 2 17.08.2007 21:05