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

Delphi Sources



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

Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.02.2012, 15:20
delphihelp delphihelp вне форума
Прохожий
 
Регистрация: 21.02.2012
Сообщения: 22
Репутация: 10
По умолчанию не записывается последняя строка из stringgrid в Edit

Нужно скопировать текст из stringgrid в edit. В каждой ячейке stringgrid находится по одному символу. Размер stringgrid постоянно разный.
У меня не записывается последняя строчка из stringgrid в edit. В чем проблема не пойму.
Код:
for y := 0 to StringGrid1.RowCount do begin
for x := 0 to StringGrid1.ColCount do begin
txt:= txt+(StringGrid1.Cells[x,y]);
Edit1.text:=(txt);

А при занесении наоборот из edit d stringgrid не записывается последняя буква
Код:
m:=strtoint(edit1.text);//например =6
s:=edit2.Text;
for i:=0 to length(s) do
  StringGrid1.Cells[i mod m,i div m]:=s[i+1];

помогите пожалуйста.
  #2  
Старый 21.02.2012, 17:10
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
По умолчанию

во первых

Код:
txt='';for y := 0 to StringGrid1.RowCount-1 do begin
for x := 0 to StringGrid1.ColCount-1 do begin
txt:= txt+(StringGrid1.Cells[x,y]);
Edit1.text:=(txt);

во вторых

Код:
m:=strtoint(edit1.text);//например =6
s:=edit2.Text;
for i:=0 to length(s)-1 do
  StringGrid1.Cells[i mod m,i div m]:=s[i+1];
  #3  
Старый 21.02.2012, 17:20
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

Нет,
Цитата:
length(s)-1
В случае строк, Length возвращаес количество символов, так что там верно, а в случае StringGrid то да, нужно Length(..)-1, так как тут учитывается еще и 0й элемент массива


А, извиняюсь, все верно, не заметил... Сорри.

Последний раз редактировалось YVitaliy, 21.02.2012 в 17:26.
  #4  
Старый 21.02.2012, 18:10
delphihelp delphihelp вне форума
Прохожий
 
Регистрация: 21.02.2012
Сообщения: 22
Репутация: 10
По умолчанию

Код:
m:=strtoint(edit2.text);
shmess:=edit4.Text;
for i:=0 to length(shmess)-1 do
  StringGrid1.Cells[i mod m,i div m]:=shmess[i+1];
странно, но одна буква все равно не отображается, которая бала последняя в edit
и сдесь тоже все равно последняя строка не хочет заноситься в stringgrid

Последний раз редактировалось delphihelp, 21.02.2012 в 19:00.
  #5  
Старый 21.02.2012, 18:47
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

Должно работать 100%. Лучше прикрепи свой неработающий пример, а там может что подправим.
  #6  
Старый 21.02.2012, 19:05
delphihelp delphihelp вне форума
Прохожий
 
Регистрация: 21.02.2012
Сообщения: 22
Репутация: 10
По умолчанию

Вот. В процедуре при нажатии button2 в компонент edit4 не дописывается последняя строка из stringgrid2. Еле нашел, вроде вложился файл. Заранее спасибо за помошь.
Вложения
Тип файла: rar нерабочая.rar (274.4 Кбайт, 5 просмотров)

Последний раз редактировалось delphihelp, 21.02.2012 в 19:09.
Закрытая тема


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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