Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.08.07;
Скачать: CL | DM;

Вниз

StringGrid и таблица Word   Найти похожие ветки 

 
Максон ©   (2011-04-11 12:19) [0]

Уважаемые форумчане, подскажите или наведите на мысль
Каким образом  данные из StringGrid можно перенести в готовую таблицу шаблона Word.


 
clickmaker ©   (2011-04-11 12:37) [1]

н-р, с помощью TWordApplication


 
Dennis I. Komarov ©   (2011-04-11 12:42) [2]

и вот как же на нее наводить, прикажите?

цикл по всем строкам
 цикл по всем столбцам
   в ячейку таблицы в word вставить соотверствующее содержимое из StringGrid


 
OW ©   (2011-04-11 12:49) [3]

var
 W, T: Variant;
begin
 W :=  CreateOleObject("Word.Application");
 try
   W.Documents.Open("C:\1.doc",EmptyParam,EmptyParam,EmptyParam,
                               EmptyParam,EmptyParam,EmptyParam,
                               EmptyParam,EmptyParam,EmptyParam);
   T := W.ActiveDocument.Tables.Item(1);
   T.Cell(1, 1).Range.Text := "qwer";


 
Максон ©   (2011-04-11 12:49) [4]

Это код почему-то не работает

procedure TForm2.DocbtnClick(Sender: TObject);

var RowPoint: Integer;
begin
   if strngrd1.RowCount > 1 then
   begin
     if FileExists(GetCurrentDir + "\mmm.dot") then
     begin
               //
       WA := CreateOLEObject("Word.Application");
       WA.Documents.Add(GetCurrentDir + "\mmm.dot", false, 0);
       WA.Options.CheckSpellingAsYouType := false;
       WA.Options.CheckGrammarAsYouType := false;
       //

       // на всю талицу сделал закладку "Таблица"
       WA.ActiveDocument.Bookmarks.Item("ТАБЛИЦА").Select;
       for RowPoint := 2 to strngrd1.RowCount do
       begin
                   //
         // Добавляем новую строку
         WA.Selection.Tables.Item(1).Rows.Add(EmptyParam);
         // Заполняем строку
         WA.Selection.Tables.Item(1).Cell( 2, 1).Range.Text := IntToStr(RowPoint - 1) + "."; // 1-ый столбец

         WA.Selection.Tables.Item(1).Cell( 2, 2).Range.Text := strngrd1.Cells[0, RowPoint - 1];  // 2-ой столбец

         WA.Selection.Tables.Item(1).Cell( 2, 3).Range.Text := strngrd1.Cells[1, RowPoint - 1];   // 3-тий столбец

         WA.Selection.Tables.Item(1).Cell( 2, 4).Range.Text := strngrd1.Cells[2, RowPoint - 1];   // 4-тый столбец

         WA.Selection.Tables.Item(1).Cell( 2, 5).Range.Text := strngrd1.Cells[5, RowPoint - 1];   // 6-той столбец

         WA.Selection.Tables.Item(1).Cell( 2, 6).Range.Text := strngrd1.Cells[6, RowPoint - 1];   // 7-мой столбец

         WA.Selection.Tables.Item(1).Cell( 2, 7).Range.Text := strngrd1.Cells[7, RowPoint - 1];   // 8-мой столбец

       end;
 end;
 end;
 end;


 
Dennis I. Komarov ©   (2011-04-11 12:59) [5]

Кофе или ромашки?


 
Максон ©   (2011-04-11 13:01) [6]

Ребята, ну я правда не знаю как сделать :(


 
Максон ©   (2011-04-11 13:37) [7]

Как посоветовали переделал все

procedure TForm2.DocbtnClick(Sender: TObject);
var
W, T: Variant;
begin
W :=  CreateOleObject("Word.Application");

W.Visible:=True;
W.DisplayAlerts:=True;

try
  W.Documents.Open(GetCurrentDir +"\mmm.dot",EmptyParam,EmptyParam,EmptyParam,
                              EmptyParam,EmptyParam,EmptyParam,
                              EmptyParam,EmptyParam,EmptyParam);
  T := W.ActiveDocument.Tables.Item(1);
  T.Cell(5, 2).Range.Text := strngrd1.Cells[0,2];
 finally
end;
end;


Но все равно не получается отображение данных в таблице. Уже весь букварь перелистал, не могу назначить нужную ячейку в Stringgrid


 
OW ©   (2011-04-11 14:50) [8]


>   T.Cell(1, 1).Range.Text := "qwer";

"qwer" в первой таблице,  в ячейке (1 1), есть?


 
Dennis I. Komarov ©   (2011-04-11 15:27) [9]

Универсальный метод для:

Открываем Ворд (файл)
Макрос на запись
Написали текст
Макрос стоп
Смотрим...


 
Smile   (2011-04-11 15:39) [10]

YurikGL
Уже как несколько лет назад выложил информацию про это в категорию "Статьи", да и на http://articles.org.ru/ много инфы по этому вопросу


 
Максон ©   (2011-04-11 16:57) [11]


> >   T.Cell(1, 1).Range.Text := "qwer";"qwer" в первой таблице,
>   в ячейке (1 1), есть?


Да есть, так получается.
А вот из Stringrid - никак


 
Максон ©   (2011-04-11 17:01) [12]

Ребята, спасибо огромное, щас буду разбираться


 
Dennis I. Komarov ©   (2011-04-11 17:40) [13]


> Да есть, так получается.А вот из Stringrid - никак

Ох уж эти сказочники...


 
Максон ©   (2011-04-11 18:12) [14]

Все равно не получается.


var
RowCount:integer;
begin
....

T.Cell(1, 1).Range.Text:=StringGrid.Cells[1,RowCount-1];


 
OW ©   (2011-04-12 08:38) [15]

sg := stringgrid1;

for i := 0 to sg.rowcount - 1 do
for j := 0 to sg.colcount - 1 do
 Showmessage(sg.cells[i,j]);


 
Максон ©   (2011-04-12 13:30) [16]


> sg := stringgrid1;for i := 0 to sg.rowcount - 1 do for j
> := 0 to sg.colcount - 1 do  Showmessage(sg.cells[i,j]);


у меня вот что вышло.
И добавляются только последние строки


var
i:integer;
T:variant;

begin
//выбираю таблицу
T := WA.ActiveDocument.Tables.Item(3);

//запускаю цикл
       for i := 1 to strngrd1.RowCount-1 do

          begin
         // Добавляем новую строку
         T.rows.add(EmptyParam);
//нумерация строк
         T.Cell(1, 1).Range.Text := IntToStr(RowPoint - 1) + ".";
//ввод данных из Stringgrid
         T.Cell(1, 2).Range.Text := strngrd1.Cells[0, RowPoint - 1];
         T.Cell(1, 3).Range.Text := strngrd1.Cells[1, RowPoint - 1];
         T.Cell(1, 4).Range.Text := strngrd1.Cells[2, RowPoint - 1];


Посоветуйте  пожалуйста как правильно сделать


 
Германн ©   (2011-04-12 13:43) [17]


> //запускаю цикл

Счетчик цикла i. А в теле цикла какой-то непонятный RowPoint.


 
Максон ©   (2011-04-12 13:49) [18]

извиняюсь вот как должно быть


var
i:integer;
T:variant;

begin
//выбираю таблицу
T := WA.ActiveDocument.Tables.Item(3);

//запускаю цикл
      for i := 1 to strngrd1.RowCount-1 do

         begin
        // Добавляем новую строку
        T.rows.add(EmptyParam);
//нумерация строк
        T.Cell(1, 1).Range.Text := IntToStr(i - 1) + ".";
//ввод данных из Stringgrid
        T.Cell(1, 2).Range.Text := strngrd1.Cells[0, i - 1];
        T.Cell(1, 3).Range.Text := strngrd1.Cells[1, i - 1];
        T.Cell(1, 4).Range.Text := strngrd1.Cells[2, i - 1];


 
Smile   (2011-04-12 14:20) [19]

Странная, какая-то ветка.
Похоже, что автор ничего читать и искать не желает
:(
Мог бы зайти сюда:
http://articles.org.ru/cn/?c=92
или уж сразу сюда:
Как экспортировать StringGrid в MS Word таблицуhttp://www.kansoftware.ru/?tid=4061


 
Dennis I. Komarov ©   (2011-04-12 14:40) [20]

У тебя ошибка в программе, ищи...


 
DTMail   (2011-04-13 07:17) [21]

А как организовать аналогичный экспорт данных из StringGrid в открытый документ Word в таблицу в документе, начиная с ячейки, в котоую установлен курсор?


 
Dennis I. Komarov ©   (2011-04-13 14:52) [22]


> DTMail   (13.04.11 07:17) [21]

А зачем?
Для этого буфер обмена вроде бы есть...

Хотя, вроде можно...


 
Максон ©   (2011-04-14 07:09) [23]

Почитав умные книжки у меня вот что получилось.
Объясните пожалуйста, как добавлять все строки.

procedure TForm2.DocbtnClick(Sender: TObject);
var
W, T, N: Variant;
iRows,Cols, i:Integer;

begin
W :=  CreateOleObject("Word.Application");

W.Visible:=True;
W.DisplayAlerts:=True;

try
 W.Documents.Open(GetCurrentDir +"\mmm.dot",EmptyParam,EmptyParam,EmptyParam,
                             EmptyParam,EmptyParam,EmptyParam,
                             EmptyParam,EmptyParam,EmptyParam);

 //  выбор талицы
 T:=W.ActiveDocument.Tables.Item(1);
 // обозначение номера строки в таблице 1
//Данные будут вноситься с 4 строки
 N:=W.ActiveDocument.Tables.Item(1).Rows.Item(4);
 // запуск цикла строк  от 1 до последнего кол-ва в стринггриде
 for i:=1 to strngrd1.RowCount-1 do
 // добавление строк
 T.Rows.Add(N);

 //запуск цикла по строкам и столбцам
 for   iRows:=1 to strngrd1.RowCount-1 do
 for   Cols:=1 to strngrd1.ColCount-1 do

 // нумерация строчек
 T.Cell(iRows+3 ,1).Range.Text:= IntToStr(iRows ) + ".";
 

//ВОТ ДО ЭТОГО МОМЕНТА ВСЕ РАБОТАЕТ

//ЭТОТ КОД ТОЖЕ РАБОЧИЙ ТОЛЬКО ДОБАВЛЯЕТСЯ 1 СТРОКА
 {T.Cell(4,2).Range.Text:= strngrd1.Cells[0,1]+#13+ strngrd1.Cells[1,1]+#13+ strngrd1.Cells[2,1];

 T.Cell(4,3).Range.Text:= strngrd1.Cells[3,1];
 T.Cell(4,4).Range.Text:= strngrd1.Cells[4,1];
 T.Cell(4,5).Range.Text:= strngrd1.Cells[5,1];
 T.Cell(4,6).Range.Text:= strngrd1.Cells[6,1];
 T.Cell(4,7).Range.Text:= strngrd1.Cells[7,1]+","+#13+ strngrd1.Cells[8,1]+","+#13+ strngrd1.Cells[9,1];
 T.Cell(4,8).Range.Text:= strngrd1.Cells[10,1];
 T.Cell(4,9).Range.Text:= strngrd1.Cells[11,1]+#13+ strngrd1.Cells[12,1];
 T.Cell(4,10).Range.Text:= strngrd1.Cells[13,1];
 T.Cell(4,12).Range.Text:= strngrd1.Cells[14,1];
 T.Cell(4,13).Range.Text:= strngrd1.Cells[15,1];
 T.Cell(4,14).Range.Text:= strngrd1.Cells[16,1];
 T.Cell(4,15).Range.Text:= strngrd1.Cells[17,1];}

finally
end;
end;


Вопрос в том как добавлять все строки из Stringgrid, ведь их количество определяется как strngrd1.RowCount.

Все перерыл, ведь запускается цикл от 1
for   iRows:=1 to strngrd1.RowCount-1 do
например, делал вот так

T.Cell(iRows+3,3).Range.Text:= strngrd1.Cells[3,iRows-1];
//Тут  ошибка


Ребята посоветуйте пожалуйста или наведите на мысль


 
Максон ©   (2011-04-14 08:30) [24]


> например, делал вот такT.Cell(iRows+3,3).Range.Text:= strngrd1.
> Cells[3,iRows-1];//Тут  ошибка


при компиляции  выдает ошибку
[Warning] Elector.pas(367): FOR-Loop variable "iRows" may be undefined after loop


 
Dennis I. Komarov ©   (2011-04-14 09:02) [25]


> Ребята посоветуйте пожалуйста или наведите на мысль

...
прицыпились к MSWord со всеми приблудами;
иницилизировали индекс_строки
пока не вышли за предел строк в SG1 делать:
начало
Таблице в Word добавить строку;
Таблица.ячейка(X, последняя):=SG1.Sells[Y, индекс_строки];
(аналогично поступить) с другими
Inc(индекс_строки);
конец;
Корректно отцепились;


Все. Переводи.

> при компиляции  выдает ошибку

не вижу...


 
OW ©   (2011-04-14 09:26) [26]


> Dennis I. Komarov ©   (14.04.11 09:02) [25]
>
>


да он просто издевается, имхо.


 
Dennis I. Komarov ©   (2011-04-14 09:34) [27]


> OW ©   (14.04.11 09:26) [26]

Это ему не поможет... код сам писать будет ;)


 
Максон ©   (2011-04-14 09:39) [28]

Спасибо, Денис.
Заработало.  begin  и end поставил все пошло.
У меня теперь другой вопрос:
1. цикл по столбцам  обязательно делать. у меня количество столбцов фиксированное - их 20.
2. не могу разобраться с индексом строки

Ребята, вы уж меня извините за тупые вопросы я  чуть больше полгода на delphi подсел. Тяму не хватает


 
Dennis I. Komarov ©   (2011-04-14 09:56) [29]

1. Не обязательно.
2. Плохо, а чего с ним разбираться?


 
Максон ©   (2011-04-14 13:57) [30]

Столкнулся еще с одной проблемой
На форме есть Radiogroup пользователь вносит данные в edit-ы, выбирает из Radiogroup нужное событие "есть" или "нет" нажимает на кнопку и в Stringgrid вносится запись, далее после внесения всех данных, нажимает на кнопку "распечатать" и данные из Stringgrid экспортируются в шаблон таблицы word.
Теперь вопрос как сделать так чтобы данные из Stringgrid-а отображались в 2-х таблицах, те у кого есть событие "есть" отображались в таблице 1, а те у кого событие - "нет" в таблице 2.


procedure TForm2.DocbtnClick(Sender: TObject);
var
W, T, N: Variant;
iRows :Integer;
i:Integer;
// индекс строки
//x:string;
//s, r:Integer;
begin

W :=  CreateOleObject("Word.Application");

W.Visible:=True;
W.DisplayAlerts:=True;

try
 W.Documents.Open(GetCurrentDir +"\mmm.dot",EmptyParam,EmptyParam,EmptyParam,
                             EmptyParam,EmptyParam,EmptyParam,
                             EmptyParam,EmptyParam,EmptyParam);

    //  Д Л Я    С О Б Ы Т И Я   "ЕСТЬ"
//данные вносятся в ячейку Stringgrid, но в таблице не отображаются
 if strngrd1.Cells[18, strngrd1.RowCount-1]="есть" then
 begin //

 //  обозначение  таблицы ее номера
 T:=W.ActiveDocument.Tables.Item(1);
 // обозначение номера строки в определенной таблице
 N:=W.ActiveDocument.Tables.Item(1).Rows.Item(4);
 // запуск цикла строк  от 1 до последнего кол-ва в стринггриде
 for i:=1 to strngrd1.RowCount-1 do
 // добавление строк
  T.Rows.Add(N);
 // добавление строчек

 //запуск цикла по строкам и столбцам
 for   iRows:=1 to strngrd1.RowCount-1 do
 //for   Cols:=1 to strngrd1.ColCount-1 do
 begin
 // нумерация строчек
 T.Cell(iRows+3 ,1).Range.Text:= IntToStr(iRows ) + ".";

 

 T.Cell(iRows+3,2).Range.Text:= strngrd1.Cells[0,iRows+0]+#13+ strngrd1.Cells[1,iRows+0]+#13+ strngrd1.Cells[2,iRows+0];

 ////////////
 T.Cell(iRows+3,3).Range.Text:= strngrd1.Cells[3,iRows+0];
 T.Cell(iRows+3,4).Range.Text:= strngrd1.Cells[4,iRows+0];
 T.Cell(iRows+3,5).Range.Text:= strngrd1.Cells[5,iRows+0];
 T.Cell(iRows+3,6).Range.Text:= strngrd1.Cells[6,iRows+0];
 T.Cell(iRows+3,7).Range.Text:= strngrd1.Cells[7,iRows+0]+","+#13+ strngrd1.Cells[8,iRows+0]+","+#13+ strngrd1.Cells[9,iRows+0];
 T.Cell(iRows+3,8).Range.Text:= strngrd1.Cells[10,iRows+0];
 T.Cell(iRows+3,9).Range.Text:= strngrd1.Cells[11,iRows+0]+#13+ strngrd1.Cells[12,iRows+0];
 T.Cell(iRows+3,10).Range.Text:= strngrd1.Cells[13,iRows+0];
 T.Cell(iRows+3,12).Range.Text:= strngrd1.Cells[14,iRows+0];
 T.Cell(iRows+3,13).Range.Text:= strngrd1.Cells[15,iRows+0];
 T.Cell(iRows+3,14).Range.Text:= strngrd1.Cells[16,iRows+0];
 T.Cell(iRows+3,15).Range.Text:= strngrd1.Cells[17,iRows+0];

 end;
 end;

 //    Д Л Я   С О Б Ы Т И Я   "НЕТ"
 if strngrd1.Cells[18, strngrd1.RowCount-1]="нет" then
 begin //

 //  обозначение  таблицы ее номера
 T:=W.ActiveDocument.Tables.Item(2);
 // обозначение номера строки в определенной таблице
 N:=W.ActiveDocument.Tables.Item(2).Rows.Item(4);
 // запуск цикла строк  от 1 до последнего кол-ва в стринггриде
 for i:=1 to strngrd1.RowCount-1 do
 // добавление строк
  T.Rows.Add(N);
 // добавление строчек

 //запуск цикла по строкам и столбцам
 for   iRows:=1 to strngrd1.RowCount-1 do
 //for   Cols:=1 to strngrd1.ColCount-1 do
 begin
 // нумерация строчек
 T.Cell(iRows+3 ,1).Range.Text:= IntToStr(iRows ) + ".";

 

 T.Cell(iRows+3,2).Range.Text:= strngrd1.Cells[0,iRows+0]+#13+ strngrd1.Cells[1,iRows+0]+#13+ strngrd1.Cells[2,iRows+0];

 ////////////
 T.Cell(iRows+3,3).Range.Text:= strngrd1.Cells[3,iRows+0];
 T.Cell(iRows+3,4).Range.Text:= strngrd1.Cells[4,iRows+0];
 T.Cell(iRows+3,5).Range.Text:= strngrd1.Cells[5,iRows+0];
 T.Cell(iRows+3,6).Range.Text:= strngrd1.Cells[6,iRows+0];
 T.Cell(iRows+3,7).Range.Text:= strngrd1.Cells[7,iRows+0]+","+#13+ strngrd1.Cells[8,iRows+0]+","+#13+ strngrd1.Cells[9,iRows+0];
 T.Cell(iRows+3,8).Range.Text:= strngrd1.Cells[10,iRows+0];
 T.Cell(iRows+3,9).Range.Text:= strngrd1.Cells[11,iRows+0]+#13+ strngrd1.Cells[12,iRows+0];
 T.Cell(iRows+3,10).Range.Text:= strngrd1.Cells[13,iRows+0];
 T.Cell(iRows+3,12).Range.Text:= strngrd1.Cells[14,iRows+0];
 T.Cell(iRows+3,13).Range.Text:= strngrd1.Cells[15,iRows+0];
 T.Cell(iRows+3,14).Range.Text:= strngrd1.Cells[16,iRows+0];
 T.Cell(iRows+3,15).Range.Text:= strngrd1.Cells[17,iRows+0];

 end;
 end;
finally
end;
end;


Код рабочий, единственное что не могу сообразить почему он добавляет в таблицу по последней записи, т.е. если последняя запись с событием "есть", то он все данные из Stringgrid перегоняет в первую таблицу и наоборот. Видимо все дело в strngrd1.RowCount-1?
Посоветуйте пожалуйста как быть в данной ситуации?


 
Dennis I. Komarov ©   (2011-04-14 14:39) [31]


> Код рабочий, единственное что ...

Ужас, а не код, даже смотреть противно...

> Посоветуйте пожалуйста как быть в данной ситуации?

Выброси это чудо и переводи [25]


 
OW ©   (2011-04-14 14:57) [32]

Q:почему он добавляет в таблицу по последней записи
A:

>  if strngrd1.Cells[18, strngrd1.RowCount-1]="нет" then
>  begin //

перевод такой
если последняя строка, 18 столбец = "нет"
то, не даем расслабляться компу дальше..


 
Максон ©   (2011-04-15 09:37) [33]

Все равно не получается:(

if strngrd1.Cells[18, strngrd1.RowCount-1]="нет" then

Добавляются данные только в ту таблицу по событию последней строчки.

А как сделать чтоб  все строки с событием "есть" отражались в таблице1,
все строки с событием "нет" отражались в таблице 2.


 
Dennis I. Komarov ©   (2011-04-15 09:52) [34]

Не надо хранить данные в визуальных компонентах, создай хотя бы массив записей и храни (экспортируй) там.

З.Ы. Хотя о чем это я. Чукча писатель...


 
Максон ©   (2011-04-15 09:57) [35]


> З.Ы. Хотя о чем это я. Чукча писатель...

Денис я всегда за здоровую критику, но вот оскорблять не надо.
Основ  delphi не знаю, но очень хочу научится


 
Dennis I. Komarov ©   (2011-04-15 10:21) [36]

Ну так делай выводы...

З.Ы.
http://lurkmore.ru/%D7%F3%EA%F7%E0_%ED%E5_%F7%E8%F2%E0%F2%E5%EB%FC


 
OW ©   (2011-04-15 12:01) [37]


> Максон ©

все что надо
доступ к ячейке там
W :=  CreateOleObject("Word.Application");
try
  W.Documents.Open("C:\1.doc",EmptyParam,EmptyParam,EmptyParam,
                              EmptyParam,EmptyParam,EmptyParam,
                              EmptyParam,EmptyParam,EmptyParam);
  T := W.ActiveDocument.Tables.Item(1);
  T.Cell(1, 1).Range.Text := "qwer";

и
доступ к ячейке тут
for i := 0 to sg.rowcount - 1 do
for j := 0 to sg.colcount - 1 do
Showmessage(sg.cells[i,j]);


остальное - логика. Элементарная.
Денис и Ваш покорный, и любой другой программист, могли бы 150 раз написать все это, но это нужно сделать Вам самому. Если Вам, конечно, это надо - стать программистом
А если нет - какие проблемы.. Если я не могу трубу отлить/выкатать, я ее покапаю в магазине, готовую и красивую.


 
Максон ©   (2011-04-26 11:44) [38]

Здраствуйте, снова мучаюсь со Stringgrid-ом
При вводе в Stringgrid данных , например, 2 строки с событием "есть" и 2 строки с событием "нет" в 2-х таблицах ворд добавляются по 4 строки и нумерация идет дальше, в таблице1 нумерация 1,2 , в таблице 2 нумерация 3,4.
Подскажите, пожалуйста, что здесь неверно?

procedure TForm2.DocbtnClick(Sender: TObject);
var
W, T,L,M, N: Variant;
iRows :Integer;

begin

W :=  CreateOleObject("Word.Application");
W.Visible:=True;
W.DisplayAlerts:=True;

try
 W.Documents.Open(GetCurrentDir +"\mmm.dot",EmptyParam,EmptyParam,EmptyParam,
                             EmptyParam,EmptyParam,EmptyParam,
                             EmptyParam,EmptyParam,EmptyParam);
                 //  обозначение  таблицы ее номера
             T:=W.ActiveDocument.Tables.Item(1);
             // обозначение номера строки в определенной таблице
             N:=W.ActiveDocument.Tables.Item(1).Rows.Item(4);

             L:=W.ActiveDocument.Tables.Item(2);
             // обозначение номера строки в определенной таблице
             M:=W.ActiveDocument.Tables.Item(2).Rows.Item(4);

 //запуск цикла по строкам, т.к. количество столбцов фиксировано
     for   iRows:=1 to strngrd1.RowCount-1 do
     begin
              T.Rows.Add(N);//добавление строк в таблице 1
              L.Rows.Add(M);//добавление строк в таблице 2
//если 19 колонка и строка = "есть" тогда
         if strngrd1.Cells[19, iRows]="есть" then
         begin

//нумерация строкв таблице 1
             T.Cell(iRows+3 ,1).Range.Text:= IntToStr(iRows) + ".";
//заполнение таблицы данными
//.....
             end;
//если 19 колонка   и строка = "нет" тогда
             if strngrd1.Cells[19, iRows]="нет" then
             begin

//нумерация строк в таблице 2
               L.Cell(iRows+3 ,1).Range.Text:= IntToStr(iRows) + ".";
//заполнение таблицы данными
             end;
 

       end;

finally
end;
end;


 
brother ©   (2011-04-26 11:48) [39]

> if strngrd1.Cells[19, iRows]="есть" then


> if strngrd1.Cells[19, iRows]="нет" then

какое будет поведение если там бкдет стоять, например: Есть/Нет?


 
Максон ©   (2011-04-26 11:58) [40]

Если будет стоять "есть", то все  строки  strngrd1.Cells[19, iRows] должны отображаться в таблице1, а если "нет" , то в таблице2.



Страницы: 1 2 вся ветка

Текущий архив: 2011.08.07;
Скачать: CL | DM;

Наверх




Память: 0.6 MB
Время: 0.009 c
15-1302722024
Palladin
2011-04-13 23:13
2011.08.07
Хранители


15-1303203122
OW
2011-04-19 12:52
2011.08.07
MDI оболочка для любых программ


2-1302509942
Максон
2011-04-11 12:19
2011.08.07
StringGrid и таблица Word


15-1302754323
И. Павел
2011-04-14 08:12
2011.08.07
ABBYY тормозит мою программу. Не пойму, каким образом...


15-1303072193
Юрий
2011-04-18 00:29
2011.08.07
С днем рождения ! 18 апреля 2011 понедельник