| View previous topic :: View next topic | 
	
	
		| Author | Message | 
	
		| Alextp 
 
  
 Joined: 06 Feb 2005
 Posts: 4957
 
 
 | 
			
				|  (Separately) Posted: Tue May 29, 2012 17:04    Post subject: SynWrite add-on: Find ID |   |  
				| 
 |  
				| Запрос 
 Сделано:
 http://рамсофт.рф/downloads/FindID.zip
 http://рамсофт.рф/downloads/src_FindID.zip
 
 
 RamSoft- можешь сделать это в виде DLL? или Exe? я буду передавать тебе а)имя файла б) номер строки-колонки с кареткой. ты будешь читать файл и возвращать а)имя файла б) номер строки-колонки с ID declaration.
 _________________
 UniViewer - CudaText - LogViewer
 
 
 Last edited by Alextp on Thu Jun 07, 2012 15:33; edited 4 times in total
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| RamSoft 
 
  
 Joined: 04 Aug 2010
 Posts: 65
 Location: Москва
 
 | 
			
				|  (Separately) Posted: Tue May 29, 2012 17:26    Post subject: |   |  
				| 
 |  
				| Ок. Идёт, я займусь этим. 
 З.Ы. А слово под кореткой сможешь передавать?
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| Alextp 
 
  
 Joined: 06 Feb 2005
 Posts: 4957
 
 
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| RamSoft 
 
  
 Joined: 04 Aug 2010
 Posts: 65
 Location: Москва
 
 | 
			
				|  (Separately) Posted: Wed May 30, 2012 17:59    Post subject: |   |  
				| 
 |  
				| Тестовый вариант, пока ищет только по паскалу объявленные функции и процедуры в пределах текущего файла. 
 На вход:
 "имя файла" "номер строки" "позиция каретки"
 
 На выход:
 "имя файла" "номер строки" "позиция каретки"
 
 Через консоль думаю разберёшься.
 
 З.Ы. С переменными чуть позже.
 
 Скачать: http://rghost.ru/private/38375450/02d406b08641ce6b21c26b54853ca6d2
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| Alextp 
 
  
 Joined: 06 Feb 2005
 Posts: 4957
 
 
 | 
			
				|  (Separately) Posted: Wed May 30, 2012 18:37    Post subject: |   |  
				| 
 |  
				| запустил на SecInfo.dpr (WDX плагин)- сработало Просьба:
 
 при запуске а)без пар-ров б)с неверным filename - выдавать справку (Usage: mmm.exe <filename> <line number> <column number>)
 
 2. Сделать вывод в виде INI:
 
 [Result]
 Filename=<.....>
 LineNum=<...>
 ColNum=<...>
 
 при ошибке:
 
 [Result]
 Filename=
 
 тогда я запущу "mmm.exe .... > 1.ini" и легко спарсю ini.
 
 3. назвать FindID.exe
 
 Добавлено спустя 15 минут:
 
 4. перехватить Exceptions, и выводить message ошибки
 ([Result] при этом не надо)
 
 Добавлено спустя 1 час 14 минут:
 
 5. детектить а)not FileExists(filename)
 б)ошибку чтения
 в)номер строки <=0 или > числа строк
 г)номер колонки <=0 или > длины строки
 
 выдавать при этом "Error: ....текст......"
 _________________
 UniViewer - CudaText - LogViewer
 
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| RamSoft 
 
  
 Joined: 04 Aug 2010
 Posts: 65
 Location: Москва
 
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| Alextp 
 
  
 Joined: 06 Feb 2005
 Posts: 4957
 
 
 | 
			
				|  (Separately) Posted: Wed May 30, 2012 22:18    Post subject: |   |  
				| 
 |  
				| сразу ошибки. 1- запуск без пар-ров выдает не Usage info, а что-то на кирилице (в FAR непонятно что)
 2- запуск с колонкой=330 выдал И ошибку И репорт
 (Note- колонку надо проверять после чтения строки)
 3- запуск FindId ddddddd -> опять кирилица
 
 Можешь взять строки
 Error: bad number (%s) //для плохого номера стр/кол
 Error: wrong line number (%d)
 Error: wrong column number (%d for line %d)
 Error: file not found
 Error: file read error
 Error: invalid command line options
 
 Добавлено спустя 3 минуты:
 
 Usage: FindID <filename> <ID_line_num> <ID_column_num>
 [ /paths=path1;path2;... ]
 _________________
 UniViewer - CudaText - LogViewer
 
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| RamSoft 
 
  
 Joined: 04 Aug 2010
 Posts: 65
 Location: Москва
 
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| Alextp 
 
  
 Joined: 06 Feb 2005
 Posts: 4957
 
 
 | 
			
				|  (Separately) Posted: Thu May 31, 2012 13:42    Post subject: |   |  
				| 
 |  
				| мал. ошибка- не тот номер в ошибке 
 
  	  | Code: |  	  | findid.exe C:\Prog\SecInfo\SecInfo.dpr 3 33
Error: wrong column number (33 for line 16)
 
 | 
 
 
  	  | Code: |  	  | {$E wdx}
 library SecInfo;
 
 {$R *.RES}
 
 uses
 ..
 
 | 
 Ждем рабочую версию c Uses, c пар-ром /paths=path1;path2
 _________________
 UniViewer - CudaText - LogViewer
 
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| RamSoft 
 
  
 Joined: 04 Aug 2010
 Posts: 65
 Location: Москва
 
 | 
			
				|  (Separately) Posted: Thu May 31, 2012 13:56    Post subject: |   |  
				| 
 |  
				| Ок. 
 А что ты хочешь передавать в /paths?
 Содержимое Syn.ini [setup].paths ? Я и сам в силах это прочесть.
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| Alextp 
 
  
 Joined: 06 Feb 2005
 Posts: 4957
 
 
 | 
			
				|  (Separately) Posted: Thu May 31, 2012 17:14    Post subject: |   |  
				| 
 |  
				| да, пути поиска. Сам -не надо, твоя утилита недолжна зависеть от Syn.ini. Не забудь про подд-ку * в путях. _________________
 UniViewer - CudaText - LogViewer
 
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| RamSoft 
 
  
 Joined: 04 Aug 2010
 Posts: 65
 Location: Москва
 
 | 
			
				|  (Separately) Posted: Thu May 31, 2012 17:38    Post subject: |   |  
				| 
 |  
				|  	  | Alextp wrote: |  	  | да, пути поиска. Сам -не надо, твоя утилита недолжна зависеть от Syn.ini. Не забудь про подд-ку * в путях. | 
 Про "*" я помню и уже учёл это.
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| Alextp 
 
  
 Joined: 06 Feb 2005
 Posts: 4957
 
 
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| RamSoft 
 
  
 Joined: 04 Aug 2010
 Posts: 65
 Location: Москва
 
 | 
			
				|  (Separately) Posted: Fri Jun 01, 2012 12:10    Post subject: |   |  
				| 
 |  
				| Alextp, Исходник будет. 
 ВОПРОС! : Ты обворачиваешь пути в «" "» ?
 
 Posted after 2 hours 11 minutes:
 
 !Update.
 + Add searh in Uses
 + Param "/paths"
 
 http://рамсофт.рф/downloads/FindID.zip
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| Alextp 
 
  
 Joined: 06 Feb 2005
 Posts: 4957
 
 
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		|  |