Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.08.2012, 21:18   #1
mishax
Пользователь
 
Регистрация: 30.05.2012
Сообщений: 36
По умолчанию Перемещение по коду

Стоить дельфи 7.

Предположим, я написал любую процедуру или функцию и обозначил (вверху).

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

Как можно настроить поведение ссылок?
mishax вне форума Ответить с цитированием
Старый 25.08.2012, 21:20   #2
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

*Взялся за голову*
Код в студию... Желательно кастрированный до уровня (полу-)рабочего примера.

Если не понятно как сделать распознание модификаторов - то просто.
У большинства нажимаемых контролов есть эвент OnMouseUp, срабатывает, когда кликнули на контрол, и отпустили кнопку мыши (в момент отпускания).

Код:
{  TShiftState = set of (ssShift, ssAlt, ssCtrl,
    ssLeft, ssRight, ssMiddle, ssDouble);
}
procedure TDLL_Injector_Form.btn_StartExeLibMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if Shift = ssCtrl then begin
    //штотатам
  end;
end;
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}

Последний раз редактировалось Johnson; 25.08.2012 в 21:23.
Johnson вне форума Ответить с цитированием
Старый 25.08.2012, 21:31   #3
mishax
Пользователь
 
Регистрация: 30.05.2012
Сообщений: 36
По умолчанию

Цитата:
Сообщение от Johnson Посмотреть сообщение
*Взялся за голову*
Код в студию... Желательно кастрированный до уровня (полу-)рабочего примера.
пример:
Код:
uses .....
type
  TForm1 = class(TForm)
  ...
  procedure alert;
  procedure alertname;
  private
    { Private declarations }
  public
  published
    { Public declarations }
  end;
implementation

{$R *.dfm}

procedure TForm1.alert;
begin
showmessage(alert);
end;

procedure TForm1.alertname;
begin
alert('Александр');
end;
end;
end.
По моему, негде не ошибся.
Если нажать на выделенное слово alert в процедуре alertname (+зажать ctrl), то кинет на procedure TForm1.alert;, а бывает и кинет на описание сверху (подчеркнуто)
mishax вне форума Ответить с цитированием
Старый 25.08.2012, 21:35   #4
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

Или я чего-то не понимаю в основах дельфи, или у Вас ошибка.
Как минимум тут
Код:
showmessage(alert);
Нельзя в эту функцию передать аттрибутом процедуру.

Опишите конкретнее желаемое поведение программы.

PS: Если есть форма или общий класс в приложении - то рекомендую Ваши процедуры делать методами этого класса. Объявлять в public формы в данном случае.
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Старый 25.08.2012, 21:59   #5
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Цитата:
Опишите конкретнее желаемое поведение программы.
ТС просит объяснить поведение не программы, а среды разработки.
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
    procedure M1;
  end;

procedure P1;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure P1;
begin
  Form1.M1;
end;

{ TForm1 }

procedure TForm1.M1;
begin
  P1;
end;

end.
Если Ctrl+клик на
Код:
Form1.M1;
(строка 29), то курсор перейдет на
Код:
procedure TForm1.M1;
в разделе implementation. А если Ctrl+клик на
Код:
begin
  P1;
end;
(строка 36), то на
Код:
procedure P1;
в разделе interface.

P/S: У мну Delphi 2010.

Последний раз редактировалось Sibedir; 25.08.2012 в 22:12.
Sibedir вне форума Ответить с цитированием
Старый 26.08.2012, 00:16   #6
mishax
Пользователь
 
Регистрация: 30.05.2012
Сообщений: 36
По умолчанию

Цитата:
Сообщение от Sibedir Посмотреть сообщение
ТС просит объяснить поведение не программы, а среды разработки.
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
    procedure M1;
  end;

procedure P1;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure P1;
begin
  Form1.M1;
end;

{ TForm1 }

procedure TForm1.M1;
begin
  P1;
end;

end.
Если Ctrl+клик на
Код:
Form1.M1;
(строка 29), то курсор перейдет на
Код:
procedure TForm1.M1;
в разделе implementation. А если Ctrl+клик на
Код:
begin
  P1;
end;
(строка 36), то на
Код:
procedure P1;
в разделе interface.

P/S: У мну Delphi 2010.
да, поведение среды, извините не корректно выразился)

хотелось бы, чтобы при клике на вызов процедуры/функции переход был на строку с ее описанием (название и тело), а не ее название в шапке файла.
mishax вне форума Ответить с цитированием
Старый 26.08.2012, 04:24   #7
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Толкового ответа не дам, но может это жизнь облегчит: Ctrl+↓

http://www.interface.ru/home.asp?artId=21924
Sibedir вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Комментарий к коду mbeats Помощь студентам 4 07.03.2011 13:40
Комментарий к коду Гость2010 Помощь студентам 3 17.06.2010 10:13
комментарии к коду *Alex* Помощь студентам 0 07.05.2010 10:46
описание к коду! vetalij Общие вопросы C/C++ 3 02.03.2010 01:38
Комментарии к коду Ярослав Помощь студентам 4 23.11.2007 16:57