Форум: "Потрепаться";
Текущий архив: 2002.09.09;
Скачать: [xml.tar.bz2];
ВнизПрическа для кода Найти похожие ветки
← →
Alx2 (2002-08-13 14:17) [0]Где-то года полтора использую шароварный причесыватель кода ChienCA (мастер, интегрируемый в Delphi). Вещь довольно приятная, особенно когда приходится открыть и причесать взлохмоченные файлы "слева" для облегчения их изучения.
Вот небольшой пример "до того":
var A:array[0..9, 0..9, 0..9, 0..9] of byte;
procedure InitMatrix;
var i,j,k,n,c:integer;
begin
// Заполняю матрицу символами
c:=0;
for i:=0 to 9 do
for j:=0 to 9 do
for k:=0 to 9 do
for n:=0 to 9 do
begin
A[i,j,k,n]:=c;
Inc(c);
if c>255 then c:=0;
end;
end;
procedure Disturb(S:String);
var i,j,k,n,o:integer;
tmp:byte;
l:String;
begin
l:="";
for i:=1 to Length(S) do l:=l+IntToStr(Ord(S[i]));
for o:=1 to Length(l) do
for i:=0 to 9 do
for j:=0 to 9 do
for k:=0 to 9 do
for n:=0 to 9 do
case StrToInt(l[o]) of
0:begin
tmp:=A[i,j,k,n];
A[i,j,k,n]:=A[j,i,k,n];
A[j,i,k,n]:=tmp;
end;
1:begin
tmp:=A[i,j,k,n];
A[i,j,k,n]:=A[j,k,i,n];
A[j,k,i,n]:=tmp;
end;
2:begin
tmp:=A[i,j,k,n];
A[i,j,k,n]:=A[j,k,n,i];
A[j,k,n,i]:=tmp;
end;
3:begin
tmp:=A[i,j,k,n];
A[i,j,k,n]:=A[k,j,i,n];
A[k,j,i,n]:=tmp;
end;
4:begin
tmp:=A[i,j,k,n];
A[i,j,k,n]:=A[k,j,n,i];
A[k,j,n,i]:=tmp;
end;
5:begin
tmp:=A[i,j,k,n];
A[i,j,k,n]:=A[k,n,j,i];
A[k,n,j,i]:=tmp;
end;
6:begin
tmp:=A[i,j,k,n];
A[i,j,k,n]:=A[k,n,i,j];
A[k,n,i,j]:=tmp;
end;
7:begin
tmp:=A[i,j,k,n];
A[i,j,k,n]:=A[n,k,j,i];
A[n,k,j,i]:=tmp;
end;
8:begin
tmp:=A[i,j,k,n];
A[i,j,k,n]:=A[n,k,j,i];
A[n,k,j,i]:=tmp;
end;
end;
end;
после того:
Var A: Array[0..9, 0..9, 0..9, 0..9] Of Byte;
Procedure InitMatrix;
Var I, J, K, N, C: Integer;
Begin
//
← →
Игорь Шевченко (2002-08-13 14:22) [1]DelForEx - бесплатно и со вкусом :-)
← →
Ученик (2002-08-13 14:51) [2]Развитие темы чужих исходников: может быть существует средство, позволяющее узнать где используются те или иные процедуры, функции (не модули, а именно процедуры, функции) или я что-то упустил в Delphi IDE.
← →
FLIZ_ (2002-08-13 14:52) [3]я тоже хаааачу! :-)
кинь указанную "расческу" на fliz@yandex.ru
если не трудно, хорошо?
спасибо!
← →
Neox (2002-08-13 14:52) [4]А где можно взять эти прически?
← →
Alx2 (2002-08-13 14:59) [5]Ну, началось :))
← →
wicked (2002-08-13 15:08) [6]есть еще "совсем бесплатня"... входит в состав free pascal и называется ptop...
правда, у неё очень серьёзный недостаток - если опции командной строки ей не по вкусу, оставит вам пустой файл... хотя приходит с исходником и при желании и это можно исправить... ;)
← →
Alx2 (2002-08-13 15:09) [7]Вот, кажется "живой" линк:
ftp://ftp.informatik.rwth-aachen.de/pub/mirror/delphi.icm.edu.pl/ftp/d20free/delforex.zip
← →
Ученик (2002-08-13 15:14) [8]http://delphi.mastak.ru/cgi-bin/search.pl?words=DelForEx&n=0
← →
vuk (2002-08-13 15:29) [9]А что, самому ручками сразу нормально написать религия не позволяет? :o)
← →
Игорь Шевченко (2002-08-13 15:35) [10]Ученик © (13.08.02 14:51)
Уже несколько лет ищу такую программу. Написать самому, увы, времени не хватает. Найдете - поделитесь, плз. Может, в GExperts что-то добавят...
← →
Ученик (2002-08-13 15:37) [11]>vuk
Здесь о чужом коде
>Игорь Шевченко
ok
← →
Alx2 (2002-08-13 15:38) [12]>vuk © (13.08.02 15:29)
>А что, самому ручками сразу нормально написать религия не
>позволяет? :o)
Себя процитирую:
"Вещь довольно приятная, особенно когда приходится открыть и причесать взлохмоченные файлы "слева" для облегчения их изучения."
Ну и готовый юнит "полачить" руки чешутся иногда :)
← →
Alx2 (2002-08-13 15:43) [13]>Ученик © (13.08.02 14:51)
А Browser не позволяет это?
Или я что-то недопонял?
← →
Ученик (2002-08-13 15:53) [14]>Alx2
Browser не показывает использование процедур или функций в других модулях, а только использование модулей друг другом.
← →
Alx2 (2002-08-13 15:57) [15]>Ученик © (13.08.02 15:53)
А, нужно что-то типа бровзеровского "used by"?
← →
Ученик (2002-08-13 15:58) [16]>Alx2 © (13.08.02 15:57)
Да, с номером строки
← →
Alx2 (2002-08-13 15:59) [17]Все равно не въезжаю.
>Browser не показывает использование процедур или функций
>в других модулях
У меня показывает. Или как понимать "показывает"?
← →
Ученик (2002-08-13 16:07) [18]> Alx2 © (13.08.02 15:59)
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(Trim(" aaa "));
end;
Что у тебя написано про ShowMessage и Trim ?
← →
Игорь Шевченко (2002-08-13 16:10) [19]Alx2 © (13.08.02 15:59)
Ученик © (13.08.02 16:07)
Меня, кстати, интересует больше не то, что где используется, а то, что нигде не используется. Причем по достаточно большому проекту (~700 units), где визуальный поиск уже не помогает.
← →
Alx2 (2002-08-13 16:12) [20]ShowMessage:
Dialogs.pas (339)
...
Dialogs.pas (1847)
StdActns.pas (921)
....
Unit1.pas (195)
Trim:
Ну, думаю, дальше понятно... sysutils, ... etc
Просто флажок нужно снять в Options->Compiler->debbuging->Reference Info->Defenitions Only
← →
Alx2 (2002-08-13 16:13) [21]>Игорь Шевченко © (13.08.02 16:10)
Так называемый dead code?
← →
Ученик (2002-08-13 16:16) [22]>Alx2 © (13.08.02 16:12)
Классно, "...или я что-то упустил в Delphi IDE".
← →
Alx2 (2002-08-13 16:22) [23]>Игорь Шевченко © (13.08.02 16:10)
В этом случае только из windows.pas наберется не один десяток сотен таких функций.
← →
Игорь Шевченко (2002-08-13 16:56) [24]Alx2 © (13.08.02 16:22)
Не dead code, а "declared, but never used". С возможностью фильтра, естественно. Проект живет своей жизнью, ее надо привести в регулярные рамки. И от старого мусора избавиться.
← →
Jeer (2002-08-13 17:42) [25]Поищите на дисках CodeRush от
www.eagle-software.com
← →
Игорь Шевченко (2002-08-13 17:52) [26]Jeer © (13.08.02 17:42)
Забыл добавить - программа нужна Freeware
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.09.09;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.011 c