Использование Notepad++ v6.2.2 как редактора MQ4 - Страница 2
Страница 2 из 3 ПерваяПервая 1 2 3 ПоследняяПоследняя
Показано с 11 по 20 из 29

Тема: Использование Notepad++ v6.2.2 как редактора MQ4

  1. #11
    Местный
    Регистрация
    23.08.2012
    Сообщений
    199
    Благодарности
    Получено: 61
    Отправлено: 49

    Python script

    Начало

    Version plusplus

    Функциия def fgetFuncName

    Переменная re_findall содержит список разложения переданной строки по шаблону. Если совпадений не найдено, то размер этого списка будет равен 0. Если были найдены совпадения, то согласно шаблону, каждый элемент списка re_findall будет содержать список, состоящий из двух элементов. В данном случае этими элементами будут тип возвращаемого значения, если это функция или void если это процедура и название процедуры/функции.

    Добавим к скрипту блок #0.2 1 - #0.2 2

    Код:
    def fgetFuncName(startLine):
    	#ver 0.2
    	isFind = False
    	tl = startLine
    	while not isFind and tl >= 1:
    		re_findall = re_funcname(e.getLine(tl))
    		#0.2 1=================
    		if len(re_findall) > 0:
    			isFind = True
    			return(re_findall[0][1])
    			#writeln(str(re_findall[0][1])+ ' : len = '+ str(len(re_findall[0])) +' : nl = '+str(tl))
    		#0.2 2=================
    		tl=tl-1
    Лирическое отступление

    Как открыть сохраненный скрипт:

    Если установка Notepad++ происходила по приводимой инструкции, то скрипты можно найти по адресу:
    Npp / plugins / Config / PythonScript / scripts

    где Npp - папка, куда был установлен Notepad++

    Скрипт у нас примет вид:

    Код:
    #1==========================================================
    import re
    
    e = editor
    c = console
    n = notepad
    
    #2==========================================================
    pattern_FunctionDesc =	'''
    						#Can start anywhere
    						(int|double|string|bool|datetime|void)	#=>Grouping<RETTYPE>
    						[\s\t]+									#<EMPTYSYMBOL>(Space or tab)
    						(										#=>Grouping function name
    						[_]*									#<UNDERLINE>
    						[A-Za-z]+								#<ALFABETSYMBOL>
    						[A-Za-z_\.]*							#(<ALFABETSYMBOL>|<UNDERLINE>|<DOT>)
    						)										#=<Grouping function name
    						[\s\t]*									#<EMPTYSYMBOL>
    						[(]+									#<LEFTPARANTESIS>
    						'''
    #3==========================================================						
    
    def writeln(_str):
    	c.write(_str)
    	c.write('\n')
    
    def re_funcname(strSource):
    	re_pattern	= re.compile(pattern_FunctionDesc, re.VERBOSE)
    	re_search	= re_pattern.findall(strSource)
    	return(re_search);	
    	
    def fgetFuncName(startLine):
    	#ver 0.2
    	isFind = False
    	tl = startLine
    	while not isFind and tl >= 1:
    		re_findall = re_funcname(e.getLine(tl))
    		#0.2 1=================
    		if len(re_findall) > 0:
    			isFind = True
    			return(re_findall[0][1])
    			#writeln(str(re_findall[0][1])+ ' : len = '+ str(len(re_findall[0])) +' : nl = '+str(tl))
    		#0.2 2=================
    		tl=tl-1
    
    #4==========================================================						
    curPos  = e.getCurrentPos()
    curLine = e.lineFromPosition(curPos)
    
    fname = fgetFuncName(curLine)
    writeln(fname)

    Вы не можете благодарить!

  2. #12
    Местный
    Регистрация
    23.08.2012
    Сообщений
    199
    Благодарности
    Получено: 61
    Отправлено: 49

    Python script

    Начало

    Version plusplus

    Этот вариант скрипта умеет не только определять название редактируемой функции, но и инкрементирует значение в блоке Ver

    Код:
    #1==========================================================
    import re
    
    e = editor
    c = console
    n = notepad
    
    #2==========================================================
    pattern_FunctionDesc =	'''
    						#Can start anywhere
    						(int|double|string|bool|datetime|void)	#=>Grouping<RETTYPE>
    						[\s\t]+									#<EMPTYSYMBOL>(Space or tab)
    						(										#=>Grouping function name
    						[_]*									#<UNDERLINE>
    						[A-Za-z]+								#<ALFABETSYMBOL>
    						[A-Za-z_\.]*							#(<ALFABETSYMBOL>|<UNDERLINE>|<DOT>)
    						)										#=<Grouping function name
    						[\s\t]*									#<EMPTYSYMBOL>
    						[(]+									#<LEFTPARANTESIS>
    						'''
    
    #2 1========================================================						
    pattern_VerLine =	'''
    				#Can start anywhere
    				(VER|Ver|ver)
    				'''
    #2 2========================================================
    				
    #3==========================================================						
    
    def writeln(_str):
    	c.write(_str)
    	c.write('\n')
    
    #3 1========================================================	
    def fre_findall(_str, pattern):
    	re_compile = re.compile(pattern, re.VERBOSE)
    	re_findall = re_compile.findall(_str)
    	return(re_findall)	
    #3 2========================================================
    	
    def re_funcname(str_source):
    	re_pattern	= re.compile(pattern_FunctionDesc, re.VERBOSE)
    	re_findall	= re_pattern.findall(str_source)
    	return(re_findall);	
    	
    def fgetFuncName(startLine):
    	#ver 0.2
    	isFind = False
    	tl = startLine
    	while not isFind and tl >= 1:
    		re_findall = re_funcname(e.getLine(tl))
    		#0.2 1=================
    		if len(re_findall) > 0:
    			isFind = True
    			return(re_findall[0][1])
    			#writeln(str(re_findall[0][1])+ ' : len = '+ str(len(re_findall[0])) +' : nl = '+str(tl))
    		#0.2 2=================
    		tl=tl-1
    
    #3 3========================================================
    def fgetVerLine(startLine):
    	isFind = False
    	tl = startLine
    	while not isFind and tl >= 1:
    		re_findall = fre_findall(e.getLine(tl), pattern_VerLine)
    		if len(re_findall) > 0:
    			isFind = True
    			return(tl)
    		tl=tl-1	
    
    def fgetVer(nl):
    	re_findall = fre_findall(e.getLine(nl), '([0-9]{1,4})')
    	return(re_findall)
    	
    def fsrtVer(maj, mid, sub):
    	return(str(maj)+'.'+str(mid)+'.'+str(sub))
    	
    def incVer(maj, mid, sub):
    	sub = sub+1
    	if sub > 99:
    		sub = 0
    		mid = mid+1
    		if mid > 9:
    			mid = 0
    			maj = maj+1
    	return(fsrtVer(maj,mid,sub))
    #3 4========================================================	
    
    #4==========================================================						
    curPos  = e.getCurrentPos()
    curLine = e.lineFromPosition(curPos)
    
    fname = fgetFuncName(curLine)
    nlVer = fgetVerLine(curLine)
    
    #4 1========================================================
    ver = fgetVer(nlVer)
    maj_ver = int(ver[0])
    mid_ver = int(ver[1])
    sub_ver = int(ver[2])
    
    old_ver = fsrtVer(maj_ver, mid_ver, sub_ver) 
    new_ver = incVer(maj_ver, mid_ver, sub_ver)
    
    sVer = e.getLine(nlVer).replace(old_ver, new_ver)
    
    e.replaceWholeLine(nlVer, sVer)
    
    writeln(sVer)
    writeln(old_ver)
    writeln(new_ver)
    #4 2========================================================

    Вы не можете благодарить!

  3. #13
    Местный
    Регистрация
    23.08.2012
    Сообщений
    199
    Благодарности
    Получено: 61
    Отправлено: 49

    Python script

    Начало

    Version plusplus

    Усложним немного скрипт, чтоб он научился заменять дату на текущую:
    Код:
    import re
    import datetime
    
    dt = datetime.datetime.now()
    new_date = dt.strftime('%Y.%m.%d')
    
    e = editor
    c = console
    n = notepad
    
    pattern_FunctionDesc =	'''
    						#Can start anywhere
    						(int|double|string|bool|datetime|void)	#=>Grouping<RETTYPE>
    						[\s\t]+									#<EMPTYSYMBOL>(Space or tab)
    						(										#=>Grouping function name
    						[_]*									#<UNDERLINE>
    						[A-Za-z]+								#<ALFABETSYMBOL>
    						[A-Za-z_\.]*							#(<ALFABETSYMBOL>|<UNDERLINE>|<DOT>)
    						)										#=<Grouping function name
    						[\s\t]*									#<EMPTYSYMBOL>
    						[(]+									#<LEFTPARANTESIS>
    						'''
    
    pattern_VerLine =	'''
    				#Can start anywhere
    				(VER|Ver|ver)
    				'''
    				
    pattern_Date =	'''
    				([0-9]{4}.[0-9]{2}.[0-9]{2})
    				'''
    
    def writeln(_str):
    	c.write(_str)
    	c.write('\n')
    
    def fre_findall(_str, pattern):
    	re_compile = re.compile(pattern, re.VERBOSE)
    	re_findall = re_compile.findall(_str)
    	return(re_findall)	
    	
    def re_funcname(str_source):
    	re_pattern	= re.compile(pattern_FunctionDesc, re.VERBOSE)
    	re_findall	= re_pattern.findall(str_source)
    	return(re_findall);	
    	
    def fgetFuncName(startLine):
    	#ver 0.2
    	isFind = False
    	tl = startLine
    	while not isFind and tl >= 1:
    		re_findall = re_funcname(e.getLine(tl))
    		#0.2 1=================
    		if len(re_findall) > 0:
    			isFind = True
    			return(re_findall[0][1])
    			#writeln(str(re_findall[0][1])+ ' : len = '+ str(len(re_findall[0])) +' : nl = '+str(tl))
    		#0.2 2=================
    		tl=tl-1
    
    def fgetVerLine(startLine):
    	isFind = False
    	tl = startLine
    	while not isFind and tl >= 1:
    		re_findall = fre_findall(e.getLine(tl), pattern_VerLine)
    		if len(re_findall) > 0:
    			isFind = True
    			return(tl)
    		tl=tl-1	
    
    def fgetVer(nl):
    	re_findall = fre_findall(e.getLine(nl), '([0-9]{1,4})')
    	return(re_findall)
    	
    def fsrtVer(maj, mid, sub):
    	return(str(maj)+'.'+str(mid)+'.'+str(sub))
    	
    def incVer(maj, mid, sub):
    	sub = sub+1
    	if sub > 99:
    		sub = 0
    		mid = mid+1
    		if mid > 9:
    			mid = 0
    			maj = maj+1
    	return(fsrtVer(maj,mid,sub))
    
    def fgetDate(nl):
    	re_findall = fre_findall(e.getLine(nl), pattern_Date)
    	return(re_findall)
    
    curPos  = e.getCurrentPos()
    curLine = e.lineFromPosition(curPos)
    
    fname = fgetFuncName(curLine)
    nlVer = fgetVerLine(curLine)
    
    ver = fgetVer(nlVer)
    maj_ver = int(ver[0])
    mid_ver = int(ver[1])
    sub_ver = int(ver[2])
    
    old_ver = fsrtVer(maj_ver, mid_ver, sub_ver) 
    new_ver = incVer(maj_ver, mid_ver, sub_ver)
    
    sVer = e.getLine(nlVer).replace(old_ver, new_ver)
    
    e.replaceWholeLine(nlVer, sVer)
    
    writeln(sVer)
    writeln(old_ver)
    writeln(new_ver)
    
    nlDate = nlVer+1
    date = fgetDate(nlDate)
    if len(date) >= 1:
    	old_date = str(date[0])
    	sDate = e.getLine(nlDate).replace(old_date, new_date)
    else:
    	sDate = e.getLine(nlDate).replace('\n',"\t"+new_date+"\n")
    e.replaceWholeLine(nlDate, sDate)	
    writeln(sDate)
    В предыдущий раз мы определили номер строки, где расположен первый блок Ver, если двигаться от курсора вверх.

    По шаблону VerTPL мы знаем, что блок Date находится строкой ниже чем блок Ver. Паттерном pattern_Date мы определяем дату, которая была в блоке Date

    Код:
    dt = datetime.datetime.now()
    new_date = dt.strftime('%Y.%m.%d')
    new_date содержит сегодняшнюю дату в формате 'ГГГГ.ММ.ДД'

    Далее....
    Методом replace объекта str мы меняем старую дату на новую.

    Методом replaceWholeLine объекта editor мы замещаем старую строку с блоком Date на новую.

    Вы не можете благодарить!

  4. #14
    Местный
    Регистрация
    23.08.2012
    Сообщений
    199
    Благодарности
    Получено: 61
    Отправлено: 49

    Python script

    Начало

    Version plusplus

    Сегодняшний вариант скрипта решает задачу инкрементирования не только Блока Ver редактируемой процедуры/функции, но и глобального блока Ver, если он расположен на второй строке файла

    Код:
    import re
    import datetime
    
    dt = datetime.datetime.now()
    new_date = dt.strftime('%Y.%m.%d')
    
    e = editor
    c = console
    n = notepad
    
    #patterns
    pattern_FunctionDesc =	'''
    						#Can start anywhere
    						(int|double|string|bool|datetime|void)	#=>Grouping<RETTYPE>
    						[\s\t]+									#<EMPTYSYMBOL>(Space or tab)
    						(										#=>Grouping function name
    						[_]*									#<UNDERLINE>
    						[A-Za-z]+								#<ALFABETSYMBOL>
    						[A-Za-z_\.]*							#(<ALFABETSYMBOL>|<UNDERLINE>|<DOT>)
    						)										#=<Grouping function name
    						[\s\t]*									#<EMPTYSYMBOL>
    						[(]+									#<LEFTPARANTESIS>
    						'''
    
    pattern_VerLine =	'''
    				#Can start anywhere
    				(VER|Ver|ver)
    				'''
    				
    pattern_Date =	'''
    				([0-9]{4}.[0-9]{2}.[0-9]{2})
    				'''
    
    def writeln(_str):
    	c.write(_str)
    	c.write('\n')
    
    def fre_findall(_str, pattern):
    	re_compile = re.compile(pattern, re.VERBOSE)
    	re_findall = re_compile.findall(_str)
    	return(re_findall)	
    
    #FuncName	
    def re_funcname(str_source):
    	re_pattern	= re.compile(pattern_FunctionDesc, re.VERBOSE)
    	re_findall	= re_pattern.findall(str_source)
    	return(re_findall);	
    	
    def fgetFuncName(startLine):
    	#ver 0.2
    	isFind = False
    	tl = startLine
    	while not isFind and tl >= 1:
    		re_findall = re_funcname(e.getLine(tl))
    		#0.2 1=================
    		if len(re_findall) > 0:
    			isFind = True
    			return(re_findall[0][1])
    			#writeln(str(re_findall[0][1])+ ' : len = '+ str(len(re_findall[0])) +' : nl = '+str(tl))
    		#0.2 2=================
    		tl=tl-1
    
    #VerLine		
    def fgetVerLine(startLine):
    	isFind = False
    	tl = startLine
    	while not isFind and tl >= 1:
    		re_findall = fre_findall(e.getLine(tl), pattern_VerLine)
    		if len(re_findall) > 0:
    			isFind = True
    			return(tl)
    		tl=tl-1	
    
    #Ver		
    def fgetVer(nl):
    	re_findall = fre_findall(e.getLine(nl), '([0-9]{1,4})')
    	return(re_findall)
    	
    def fsrtVer(maj, mid, sub):
    	return(str(maj)+'.'+str(mid)+'.'+str(sub))
    	
    def incVer(maj, mid, sub):
    	sub = sub+1
    	if sub > 99:
    		sub = 0
    		mid = mid+1
    		if mid > 9:
    			mid = 0
    			maj = maj+1
    	return(fsrtVer(maj,mid,sub))
    
    def setVer(nl):	
    	ver = fgetVer(nl)
    	maj_ver = int(ver[0])
    	mid_ver = int(ver[1])
    	sub_ver = int(ver[2])
    
    	old_ver = fsrtVer(maj_ver, mid_ver, sub_ver) 
    	new_ver = incVer(maj_ver, mid_ver, sub_ver)
    
    	sVer = e.getLine(nl).replace(old_ver, new_ver)
    
    	e.replaceWholeLine(nl, sVer)
    
    #Date	
    def fgetDate(nl):
    	re_findall = fre_findall(e.getLine(nl), pattern_Date)
    	return(re_findall)
    
    def setDate(nl):
    	date = fgetDate(nl)
    	if len(date) >= 1:
    		old_date = str(date[0])
    		sDate = e.getLine(nl).replace(old_date, new_date)
    	else:
    		sDate = e.getLine(nl).replace('\n',"\t"+new_date+"\n")
    	e.replaceWholeLine(nl, sDate)	
    	
    #Global	
    curPos  = e.getCurrentPos()
    curLine = e.lineFromPosition(curPos)
    
    fname = fgetFuncName(curLine)
    
    nls = {curLine, 2}
    nl_old = 0
    
    for nl in nls: 
    	nlVer = fgetVerLine(nl)
    	if nlVer <> nl_old:	
    		setVer(nlVer)
    
    		nlDate = nlVer+1
    		setDate(nlDate)
    	
    	nl_old = nlVer

    Вы не можете благодарить!

  5. #15
    Местный
    Регистрация
    23.08.2012
    Сообщений
    199
    Благодарности
    Получено: 61
    Отправлено: 49

    Python script

    Начало

    Version plusplus

    Эта версия скрипта научилась изменять поле Hist в глобальном блоке Версии

    см. рисунок.



    Пояснение.

    Если скрипт вызвать, когда курсор находится внутри какой-либо процедуры/функции, то:

    Меняется блок Ver и Date текущей процедуры/функции (блок 1 на рисунке).
    Меняется блок Ver и Date глобального блока Версии (блок 2 на рисунке).
    В поле Hist глобального блока Версии добавляется название процедуры/функции в которой находится курсор. (блок 2.1 на рисунке)

    код скрипта:

    Код:
    import re
    import datetime
    
    dt = datetime.datetime.now()
    new_date = dt.strftime('%Y.%m.%d')
    new_ver = '0.0.0'
    fname = ''
    
    author = 'artamir'
    
    e = editor
    c = console
    n = notepad
    
    #patterns
    pattern_FunctionDesc =	'''
    						#Can start anywhere
    						(int|double|string|bool|datetime|void)	#=>Grouping<RETTYPE>
    						[\s\t]+									#<EMPTYSYMBOL>(Space or tab)
    						(										#=>Grouping function name
    						[_]*									#<UNDERLINE>
    						[A-Za-z]+								#<ALFABETSYMBOL>
    						[A-Za-z_\.]*							#(<ALFABETSYMBOL>|<UNDERLINE>|<DOT>)
    						)										#=<Grouping function name
    						[\s\t]*									#<EMPTYSYMBOL>
    						[(]+									#<LEFTPARANTESIS>
    						'''
    
    pattern_VerLine =	'''
    				#Can start anywhere
    				(VER|Ver|ver)
    				'''
    				
    pattern_Date =	'''
    				([0-9]{4}.[0-9]{2}.[0-9]{2})
    				'''
    
    #editor
    def fgetColumn(nl, pattern):
    	sol = e.positionFromLine(nl)
    	eol = e.getLineEndPosition(nl)
    	e.setTargetStart(sol)
    	e.setTargetEnd(eol)
    	sit = e.searchInTarget(pattern)
    	
    	if not sit:
    		return(18)
    	else:
    		return(e.getColumn(sit))
    
    def fgetIndent(nl, pattern):
    	col = fgetColumn(nl,pattern);
    	count_tabs = col / 4;
    	writeln('col = '+str(col)+' ct = '+str(count_tabs))
    	sRet = '\t'*(count_tabs+1)
    	sRet += ' '*(col-count_tabs*4)
    	return(sRet)
    	
    #console				
    def writeln(_str):
    	c.write(_str)
    	c.write('\n')
    
    def fre_findall(_str, pattern):
    	re_compile = re.compile(pattern, re.VERBOSE)
    	re_findall = re_compile.findall(_str)
    	return(re_findall)	
    
    #FuncName	
    def re_funcname(str_source):
    	re_pattern	= re.compile(pattern_FunctionDesc, re.VERBOSE)
    	re_findall	= re_pattern.findall(str_source)
    	return(re_findall);	
    	
    def fgetFuncName(startLine):
    	#ver 0.2
    	isFind = False
    	tl = startLine
    	while not isFind and tl >= 1:
    		re_findall = re_funcname(e.getLine(tl))
    		#0.2 1=================
    		if len(re_findall) > 0:
    			isFind = True
    			return(re_findall[0][1])
    			#writeln(str(re_findall[0][1])+ ' : len = '+ str(len(re_findall[0])) +' : nl = '+str(tl))
    		#0.2 2=================
    		tl=tl-1
    
    #VerLine		
    def fgetVerLine(startLine):
    	isFind = False
    	tl = startLine
    	while not isFind and tl >= 1:
    		re_findall = fre_findall(e.getLine(tl), pattern_VerLine)
    		if len(re_findall) > 0:
    			isFind = True
    			return(tl)
    		tl=tl-1	
    
    #Ver		
    def fgetVer(nl):
    	re_findall = fre_findall(e.getLine(nl), '([0-9]{1,4})')
    	return(re_findall)
    	
    def fsrtVer(maj, mid, sub):
    	return(str(maj)+'.'+str(mid)+'.'+str(sub))
    	
    def incVer(maj, mid, sub):
    	sub = sub+1
    	if sub > 99:
    		sub = 0
    		mid = mid+1
    		if mid > 9:
    			mid = 0
    			maj = maj+1
    	return(fsrtVer(maj,mid,sub))
    
    def setVer(nl):	
    	ver = fgetVer(nl)
    	maj_ver = int(ver[0])
    	mid_ver = int(ver[1])
    	sub_ver = int(ver[2])
    
    	old_ver = fsrtVer(maj_ver, mid_ver, sub_ver) 
    	new_ver = incVer(maj_ver, mid_ver, sub_ver)
    
    	sVer = e.getLine(nl).replace(old_ver, new_ver)
    
    	e.replaceWholeLine(nl, sVer)
    	return(new_ver)
    
    #Date	
    def fgetDate(nl):
    	re_findall = fre_findall(e.getLine(nl), pattern_Date)
    	return(re_findall)
    
    def setDate(nl):
    	date = fgetDate(nl)
    	if len(date) >= 1:
    		old_date = str(date[0])
    		sDate = e.getLine(nl).replace(old_date, new_date)
    	else:
    		sDate = e.getLine(nl).replace('\n',"\t"+new_date+"\n")
    	e.replaceWholeLine(nl, sDate)	
    
    #Hist	
    def setNewHist(nl):
    	sHist = '\n'+fgetIndent(nl, ':')+'@'+str(new_ver)+'@'+str(new_date)+'@'+author+'\t[]\t'+str(fname)
    	lep	= e.getLineEndPosition(nl)
    	e.insertText(lep,'\t'+sHist)
    	
    #Global	
    curPos  = e.getCurrentPos()
    curLine = e.lineFromPosition(curPos)
    
    fname = fgetFuncName(curLine)
    
    nls = {curLine, 2}
    nl_old = 0
    
    for nl in nls: 
    	writeln('nl = '+str(nl)+' new_ver = '+str(new_ver))
    	nlVer = fgetVerLine(nl)
    	if nlVer <> nl_old:	
    		new_ver = setVer(nlVer)
    
    		nlDate = nlVer+1
    		setDate(nlDate)
    	
    	if int(nl) == 2:
    			setNewHist(nlDate+1)
    			
    	nl_old = nlVer

    Вы не можете благодарить!

  6. #16
    Местный
    Регистрация
    23.08.2012
    Сообщений
    199
    Благодарности
    Получено: 61
    Отправлено: 49

    Python script

    Добавление скрипта на панель инструментов Notepad ++

    Чтобы добавить скрипт на панель инструментов, следуем инструкции:

    Шаг 1



    Шаг 2



    Результат


    Вы не можете благодарить!

  7. #17
    Местный
    Регистрация
    23.08.2012
    Сообщений
    199
    Благодарности
    Получено: 61
    Отправлено: 49
    Обновился Notepad++ до версии 6.3.2
    Скачать архив с предустановленным текстовым редактором можно отсюда

    Что нового:
    Добавлен UDL mql4v632

    Возможность сворачивания в комментарии через конструкцию
    //{ - Открывающий элемент фолдинга
    //.. - Промежуточный элемент фолдинга
    //} - Закрывающий элемент фолдинга

    Сворачивание блочных комментариев.

    Сворачивание в коде по конструкции:
    { - Открывающий элемент фолдинга
    } - Закрывающий элемент фолдинга

    Компиляция экспертов по <F6>
    эксперт должен находиться в директории experts директории терминала.

    Обновлены скрипты VerTPL и Verpp

    Что называется распаковал и пользуйся

    Вы не можете благодарить!

  8. #18
    Местный
    Регистрация
    23.08.2012
    Сообщений
    199
    Благодарности
    Получено: 61
    Отправлено: 49
    Столкнулся недавно с проблемой. На больших файлах со сложной структурой у меня слетал фолдинг. Решение оказалось очень простым. Меню <Правка - Формат конца строк - Преобразовать в Win-формат>

    11_LinesEnd.gif

    Вы не можете благодарить!

  9. #19
    Местный
    Регистрация
    23.08.2012
    Сообщений
    199
    Благодарности
    Получено: 61
    Отправлено: 49

    Notepad++ v6.4.2

    Обновился редактор Notepad++ до версии 6.4.2
    Брать отсюда.

    В состав добавлены плагины:
    Python Script с набором скриптов.
    NppExec со скриптом компиляции советников прямо из редактора.

    Архив создан по типу: распаковал и пользуйся.

    Вы не можете благодарить!

  10. #20

    Регистрация
    04.01.2014
    Сообщений
    3
    Благодарности
    Получено: 1
    Отправлено: 0
    У меня не отображается список функций в NP++ для mq4-файлов . Так и должно быть, или это глюк какой то?

    Вы не можете благодарить!

Страница 2 из 3 ПерваяПервая 1 2 3 ПоследняяПоследняя

Похожие темы

  1. Использование отложенных ордеров
    от Kyfley в разделе Разговоры о трейдинге
    Ответов: 269
    Последнее сообщение: 18.01.2017, 13:17
  2. Использование нескольких счетов
    от qwezz в разделе Разговоры о трейдинге
    Ответов: 385
    Последнее сообщение: 15.01.2016, 17:39
  3. Использование Visual Studio, как редактора MQL4 программ
    от Алексей Волчанский в разделе Программирование на MQL
    Ответов: 19
    Последнее сообщение: 05.08.2014, 16:38
  4. Использование советников
    от yosuf в разделе Разное
    Ответов: 1
    Последнее сообщение: 04.08.2014, 21:43

Метки этой темы

Ваши права

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