0 / 0 / 0
Регистрация: 25.05.2018
Сообщений: 1

Нужно, чтобы переносились из одного stringgrid в другой. Переносится, но на те же строки и образуются пустые строки

29.05.2018, 09:30. Показов 1167. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прикрепляю код. Помогите пожалуйста. Я в DElphi новичок
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
var
   i: integer;
begin
StringGrid2.Show;
    StringGrid2.Cells[1, 0]:=label1.caption;
  StringGrid2.Cells[2, 0]:=label2.caption;
  StringGrid2.Cells[3, 0]:=label3.caption;
 
  StringGrid2.Cells[4, 0]:=label7.caption;
 
   StringGrid2.Cells[5, 0]:=label4.caption;
 
        StringGrid2.Cells[0, 0]:='№';
 
    for i := 1 to StringGrid1.RowCount -1 do
  if strtoint(StringGrid1.Cells[5,i])<=2 then StringGrid2.Cells[0,i] :=StringGrid1.Cells[0,i];
    for i := 1 to StringGrid1.RowCount - 1 do
  if strtoint(StringGrid1.Cells[5,i])<=2 then StringGrid2.Cells[1,i] :=StringGrid1.Cells[1,i];
    for i := 1 to StringGrid1.RowCount - 1 do
  if strtoint(StringGrid1.Cells[5,i])<=2 then StringGrid2.Cells[2,i] :=StringGrid1.Cells[2,i];
    for i := 1 to StringGrid1.RowCount - 1 do
  if strtoint(StringGrid1.Cells[5,i])<=2 then StringGrid2.Cells[3,i] :=StringGrid1.Cells[3,i];
    for i := 1 to StringGrid1.RowCount - 1 do
  if strtoint(StringGrid1.Cells[5,i])<=2 then StringGrid2.Cells[4,i] :=StringGrid1.Cells[4,i];
    for i := 1 to StringGrid1.RowCount - 1 do
  if strtoint(StringGrid1.Cells[5,i])<=2 then StringGrid2.Cells[5,i] :=StringGrid1.Cells[5,i];
 
 
 with StringGrid2 do
 for i:= 0 to RowCount do begin
 StringGrid2.Cells[0, i]:=IntToStr(i);
      StringGrid2.Cells[0, 0]:='№';
 end;
   end;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.05.2018, 09:30
Ответы с готовыми решениями:

Скопировать нужные строки из одного листа на другой, но так чтобы строки копировались подряд
:'( Здравствуйте, уважаемые профессионалы!!! Осваиваю ВБА! Не могу решить &quot;простую&quot; задачку: необходимо выбрать нужные ячейки...

Перенос строки из одного StringGrid-а в другой
Мне нужно найти элемент строки StringGrid-а, и перенести эту строку в другой StringGrid. Поиск я сделал. Но вот как перенести всю строку...

Перепишите содержимое одного файла в другой, имея строчную структуру и удаляя пустые строки
Создать текстовый файл f1.Перепишите его содержимое в файл f2 имея строчную структуру и удаляя пустые строки

3
Модератор
 Аватар для D1973
9929 / 6467 / 2457
Регистрация: 21.01.2014
Сообщений: 27,424
Записей в блоге: 3
29.05.2018, 10:58
Цитата Сообщение от olga42 Посмотреть сообщение
for i := 1 to StringGrid1.RowCount -1 do
* if strtoint(StringGrid1.Cells[5,i])<=2 then StringGrid2.Cells[0,i] :=StringGrid1.Cells[0,i];
* * for i := 1 to StringGrid1.RowCount - 1 do
* if strtoint(StringGrid1.Cells[5,i])<=2 then StringGrid2.Cells[1,i] :=StringGrid1.Cells[1,i];
* * for i := 1 to StringGrid1.RowCount - 1 do
* if strtoint(StringGrid1.Cells[5,i])<=2 then StringGrid2.Cells[2,i] :=StringGrid1.Cells[2,i];
* * for i := 1 to StringGrid1.RowCount - 1 do
* if strtoint(StringGrid1.Cells[5,i])<=2 then StringGrid2.Cells[3,i] :=StringGrid1.Cells[3,i];
* * for i := 1 to StringGrid1.RowCount - 1 do
* if strtoint(StringGrid1.Cells[5,i])<=2 then StringGrid2.Cells[4,i] :=StringGrid1.Cells[4,i];
* * for i := 1 to StringGrid1.RowCount - 1 do
* if strtoint(StringGrid1.Cells[5,i])<=2 then StringGrid2.Cells[5,i] :=StringGrid1.Cells[5,i];
Что за мракобесие!!! Задание свое огласите!
0
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
29.05.2018, 10:59
Напишите лучше условие задачи, а то похоже Вы дурью маетесь.
0
Модератор
 Аватар для D1973
9929 / 6467 / 2457
Регистрация: 21.01.2014
Сообщений: 27,424
Записей в блоге: 3
29.05.2018, 11:13
Предположу, что ТС хотел увидеть это...
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TForm1.Button1Click(Sender: TObject);
var i, k: integer;
begin
 for i := StringGrid2.FixedRows to StringGrid2.RowCount - 1 do
  StringGrid2.Rows[i].Clear;
 StringGrid2.RowCount := StringGrid2.FixedRows + 1;
 StringGrid2.Rows[0].CommaText := Format('%s,"%s","%s","%s","%s","%s"', ['№', Label1.Caption, Label2.Caption, Label3.Caption, Label7.Caption, Label4.Caption ]);
 StringGrid2.Visible := true;
 k := StringGrid2.FixedRows;
 for i := StringGrid1.FixedRows to StringGrid1.RowCount - 1 do
  if StrToInt(StringGrid1.Cells[5, i]) <= 2 then
   begin
    StringGrid2.Rows[k] := StringGrid1.Rows[i];
    StringGrid2.Cells[0, k] := IntToStr(k);
    StringGrid2.RowCount := StringGrid2.RowCount + 1;
    inc(k);
   end;
 StringGrid2.RowCount := StringGrid2.RowCount - 1;
end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.05.2018, 11:13
Помогаю со студенческими работами здесь

Удалить пустые строки по значение + удалить строки если определенные строки ниже содержат пустые ячейки
Добрый день, есть страница в excel (прикрепил файл с примером, в оригинале 520 строк) она формируется из 15 других страниц. Каждая страница...

Удалить пустые строки в StringGrid
в StringGrid нужно удалить все пустые строки есть такой код на удаление c := StringGrid2.RowCount+1; for w:=1 to c do if...

Удалить пустые строки из stringgrid
На форме есть стринггрид в котором примерно 22000-27000 строк, и 22 столбца. Из них заполнены не все, но заполнены полностью строки. И...

Из одного текстового файла переписать строки с данными в другой, исключая строки, содержащие цифры
Из текстового файла name1 переписать строки с данными в файл name2, исключая строки содержащие цифры

Нужно удалить все пустые строки
Написал процедуру, но как то криво работает. procedure TForm1.sSpeedButton35Click(Sender: TObject); var i,j,k,l:integer; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru