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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.07.2013, 13:58
cadil cadil вне форума
Начинающий
 
Регистрация: 24.10.2007
Сообщения: 169
Репутация: 10
По умолчанию Запись среди команд одной процедуры выполнение другой

Подскажите, пожалуйста, как в рамках одной процедуры записать одной строкой выполение другой процедуры, механически не включая команд этой процедуры.
Например, после команды
Код:
MSWord.ActiveDocument.tables.item(1).cell(c,8).range.delete;
процедуры
Код:
procedure TForm1.Timer3Timer(Sender: TObject);      //очистка таблицы от записей
begin
c:= c+1;
r:=table1.Rows.Count;
if ((c < r) or (c = r))  then
begin
MSWord.ActiveDocument.tables.item(1).cell(c,2).range.delete;
MSWord.ActiveDocument.tables.item(1).cell(c,3).range.delete;
MSWord.ActiveDocument.tables.item(1).cell(c,4).range.delete;
MSWord.ActiveDocument.tables.item(1).cell(c,5).range.delete;
MSWord.ActiveDocument.tables.item(1).cell(c,6).range.delete;
MSWord.ActiveDocument.tables.item(1).cell(c,7).range.delete;
MSWord.ActiveDocument.tables.item(1).cell(c,8).range.delete;
end
else
Timer3.Enabled := False;
end;
вставить выполнение одной строкой процедуры
Код:
procedure TForm1.Edit1DblClick(Sender: TObject);   //повторная загрузка ранее открытого рисунка
begin
 n:= 0;
 Form1.Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
 ComboBox2.Text := '                  ';     //стирание записей описания дефекта
 ComboBox3.Text := '       ';
 ComboBox4.Text := '                  ';
end;
Если это можно сделать в принципе.
Спасибо!
Ответить с цитированием
  #2  
Старый 16.07.2013, 14:06
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
По умолчанию

Ну если я правильно понял, то например так
Код:
procedure TForm1.Timer3Timer(Sender: TObject);      //очистка таблицы от записей
begin
c:= c+1;
r:=table1.Rows.Count;
if ((c < r) or (c = r))  then
begin
MSWord.ActiveDocument.tables.item(1).cell(c,2).range.delete;
MSWord.ActiveDocument.tables.item(1).cell(c,3).range.delete;
MSWord.ActiveDocument.tables.item(1).cell(c,4).range.delete;
MSWord.ActiveDocument.tables.item(1).cell(c,5).range.delete;
MSWord.ActiveDocument.tables.item(1).cell(c,6).range.delete;
MSWord.ActiveDocument.tables.item(1).cell(c,7).range.delete;
MSWord.ActiveDocument.tables.item(1).cell(c,8).range.delete;
Edit1DblClick(nil);//<<<===------ вон
end
else
Timer3.Enabled := False;
end;
А если не так, но напишите что у Вас получается БЕЗ того, что Вы спрашиваете, и Что Вы хотите получить?
Ответить с цитированием
Этот пользователь сказал Спасибо icWasya за это полезное сообщение:
cadil (18.07.2013)
  #3  
Старый 16.07.2013, 14:16
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Сократите код немного
Код:
...

for i :=2 to 8 do
MSWord.ActiveDocument.tables.item(1).cell(c,i).range.delete;
end else...
а по вопросу - создайте отдельную процедуру и используйте её потом где угодно
Код:
procedure EdDblClk;   //повторная загрузка ранее открытого рисунка
begin
 n:= 0;
 Form1.Image1.Picture.LoadFromFile(Form1.OpenPictureDialog1.FileName);
 Form1.ComboBox2.Text := '                  ';     //стирание записей описания дефекта
 Form1.ComboBox3.Text := '       ';
 Form1.ComboBox4.Text := '                  ';
end;
Пример использования
Код:
procedure TForm1.Edit1DblClick(Sender: TObject);
begin
EdDblClk;
end;

Последний раз редактировалось Alegun, 16.07.2013 в 14:35. Причина: исправление ошибок
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
cadil (18.07.2013)
  #4  
Старый 18.07.2013, 09:19
cadil cadil вне форума
Начинающий
 
Регистрация: 24.10.2007
Сообщения: 169
Репутация: 10
По умолчанию

Цитата:
Сообщение от icWasya
Ну если я правильно понял, то например так

А если не так, но напишите что у Вас получается БЕЗ того, что Вы спрашиваете, и Что Вы хотите получить?
Благодарю!
Ваше решение и решение Alegun позволят мне решить эту задачу.
И еще вопрос ...
Подскажите, пожалуйста, как в компиляторе, например, Delphi 2009 подсчитать КОЛИЧЕСТВО КОМАНД в проекте?
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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