Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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.007 c
1-27017
nic418
2002-08-30 05:01
2002.09.09
---|Ветка была без названия|---


3-26854
Piton X
2002-08-12 12:41
2002.09.09
Как мне перегнать данные из таблицы в таблицу Word


1-27034
race1
2002-08-27 17:26
2002.09.09
трабла


14-27217
Андрей Спиридонов
2002-08-15 14:44
2002.09.09
Документация к VCL-компонентам баз данных


1-26974
iq0
2002-08-29 14:21
2002.09.09
посмотр презентаций PowerPoint, или установка PowerPoint Viewer





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский