Topic: скрипт переноса содержимого.

Подскажите, есть таблица TableGrid2, и надо по двойному щелчку мыши на ячейку перенести данные в текстовое поле Edit1 расположенной в той же Form1

PROCEDURE Form1_TableGrid2_OnCellDoubleClick (Sender: TObject; ACol, ARow: INTEGER);
BEGIN


END.

2 (edited by sibprogsistem 2019-02-28 11:29:59)

Re: скрипт переноса содержимого.

vit007 wrote:

Подскажите, есть таблица TableGrid2, и надо по двойному щелчку мыши на ячейку перенести данные в текстовое поле Edit1 расположенной в той же Form1

PROCEDURE Form1_TableGrid2_OnCellDoubleClick (Sender: TObject; ACol, ARow: INTEGER);
BEGIN


END.

PROCEDURE Form1_TableGrid2_OnCellDoubleClick (Sender: TObject; ACol, ARow: INTEGER);
BEGIN
Form1.Edit1.Text:=SQLEXecute('SELECT ваше_поле FROM ваша_таблица WHERE id=' +Form1.TableGrid2.sqlValue);
END

Re: скрипт переноса содержимого.

Или так

procedure Form1_TableGrid1_OnCellDoubleClick (Sender: TObject; ACol, ARow: Integer);
begin
    Form1.Edit1.Text := Form1.TableGrid1.Cells[ACol,ARow];
end;
Dmitry.

Re: скрипт переноса содержимого.

Работает, а как дописать, чтоб плюсовало значения...

Form1.Edit1.Text := Form1.TableGrid1.Line.Add(Form1.TableGrid1.Cells[0, ARow] + ', ' )

так выдает ошибку... на Line.

Re: скрипт переноса содержимого.

procedure Form1_TableGrid1_OnCellDoubleClick (Sender: TObject; ACol, ARow: Integer);
begin
    Form1.Edit1.Text := Form1.Edit1.Text + Form1.TableGrid1.Cells[ACol,ARow] + ',';
end;
Dmitry.

Re: скрипт переноса содержимого.

Спасибо.

Есть вопрос, а есть процедура проверки на пустую строчку? Или идет проверка не строчки, а таблицы к которой привязана строчка...

Re: скрипт переноса содержимого.

К сожалению не совсем понимаю ваш вопрос, но проверить на пустую строку можно так

// если текст в компоненте не равен пустой строке, тогда делаем...
if Form1.Edit1.Text <> '' then //ваше действие
Dmitry.

Re: скрипт переноса содержимого.

if Form1.Edit2.Text <> '' then Form1.Edit2.Text + Form1.TableGrid2.Cells[ACol,ARow] else Form1.Edit2.Text + ', ' + Form1.TableGrid2.Cells[ACol,ARow];

т.е. идея, чтоб запятая появлялась только когда есть впереди слово.

Re: скрипт переноса содержимого.

попробуйте так

procedure Form1_TableGrid1_OnCellDoubleClick (Sender: TObject; ACol, ARow: Integer);
begin
   if Form1.Edit1.Text <> '' then Form1.Edit1.Text := Form1.Edit1.Text + ', ';      
   Form1.Edit1.Text := Form1.Edit1.Text + Form1.TableGrid1.Cells[ACol,ARow];
end;
Dmitry.

Re: скрипт переноса содержимого.

Работает... А можете механику объяснить. Где-то на форуме встречал, что .Text это, как бы, принудительный параметр, т.е. будет выводить все без ограничений. А вот условие "Если строке меньше или больше пробела, то в строке значение равно самому себе + запятая" Т.е. при первом вызове, условие игнорится, а выполняется вторая строчка... так что ли?

Спасибо.

Re: скрипт переноса содержимого.

procedure Form1_TableGrid1_OnCellDoubleClick (Sender: TObject; ACol, ARow: Integer);
begin
   if Form1.Edit1.Text <> '' then Form1.Edit1.Text := Form1.Edit1.Text + ', ';      
   Form1.Edit1.Text := Form1.Edit1.Text + Form1.TableGrid1.Cells[ACol,ARow];
end;

Google Переводчик smile

Процедура срабатывает при двойном клике по ячейке таблицы.
Начало
    Если текстовое поле не пустое, то в него добавляется запятая.
    В текстовое поле добавляется содержимое ячейки по которой кликнули.
Завершение

Re: скрипт переноса содержимого.

Рекомендую вам ознакомиться с Pascal
http://myvisualdatabase.com/forum/viewt … 462#p13462

Dmitry.