Небольшая корректировка:KDJ wrote:FindReplaceEx.js
Scripts discussion (4)
- Author
- Message
-
Offline
- Posts: 3243
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
-
Offline
- Posts: 1949
- Joined: Sat Mar 06, 2010 7:40 pm
- Location: Poland
-
Offline
- Posts: 96
- Joined: Tue Nov 10, 2015 4:56 am
I run the script FindReplaceEx.js. Click "more" and constantly crashes the window with the text "222". why this is done?KDJ wrote:FindReplaceEx.js
can't we move the way implemented "templates/Packages" in script FindReplaceEx.js to script TextReplace.js?
AkelPad 4.9.8, WinXP x86
-
Offline
- Posts: 1949
- Joined: Sat Mar 06, 2010 7:40 pm
- Location: Poland
FindReplaceEx.js
Fixed: after pressing "More" button, message box is displayed "222".
Fixed: after pressing "More" button, message box is displayed "222".
-
Offline
- Posts: 176
- Joined: Sat Dec 24, 2011 4:05 pm
Привык писать в PascalCase, а не camelCase, из-за чего в JavaScript нередко путаюсь, строча по привычке, к примеру, pStr.Length вместо pStr.length. Тем более, что все методы AkelPad в PascalCase, да и эстетически больше нравится.
Встроенных методов и свойств в JS в принципе не так уж и много. Думаю, а нельзя ли их как-то обернуть, написав псевдонимы в каком-нибудь Include-файле? В C# для подобных целей я мог бы использовать методы-расширения*. Есть ли что-то подобное в JS?
* к примеру:
Встроенных методов и свойств в JS в принципе не так уж и много. Думаю, а нельзя ли их как-то обернуть, написав псевдонимы в каком-нибудь Include-файле? В C# для подобных целей я мог бы использовать методы-расширения*. Есть ли что-то подобное в JS?
* к примеру:
Code: Select all
char CharAt(this string str, int index)
{
return str.charAt(index);
}
...
var c = "тестовая строка".CharAt(3);
Last edited by F. Phoenix on Mon Nov 21, 2016 4:26 am, edited 1 time in total.
-
Offline
- Posts: 1879
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
F. Phoenix
Но из-за того, что в WSH-версии отсутствуют штуки типа Object.defineProperty(), не удастся сделать новые методы неперечисляемыми, так что все это добро будет отсвечивать при переборе через for(var property in object) { … }
Хотя для строк это и не критично.
И аксессоры типа .length создать не получится. Опять же, из-за ограничений используемой версии: ни того же Object.defineProperty() нет, ни Object.prototype.__defineGetter__()/__defineSetter__().
Code: Select all
String.prototype.CharAt = function() {
return this.charAt.apply(this, arguments);
};
String.prototype.Substr = function() {
return this.substr.apply(this, arguments);
};Хотя для строк это и не критично.
И аксессоры типа .length создать не получится. Опять же, из-за ограничений используемой версии: ни того же Object.defineProperty() нет, ни Object.prototype.__defineGetter__()/__defineSetter__().
-
Offline
- Posts: 202
- Joined: Sat Mar 28, 2015 2:36 pm
- Location: Russia
unixTime.js от Infocatcher не пойдет?
-
Offline
- Posts: 2248
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
Code: Select all
AkelPad.ReplaceSel(new Date(parseFloat(AkelPad.GetSelText())*1000).toGMTString());-
Offline
- Posts: 96
- Joined: Tue Nov 10, 2015 4:56 am
конвертирует корректно, только мне надо сделать тысячу замен, для ручной замены это многовато работы...Kley wrote:unixTime.js от Infocatcher не пойдет?
мне нужно заменять
"lu": "1460262830971"
на вид
"lu": "2016-11-18T18:18:38.2564009+03:00"
миллисекунды, часовой пояс это я смогу вручную быстро добавить... мне бы автоматизировать чтобы заменялись на год-месяц-деньTчас:минуты:секунды - для автоматизации скрипт от Infocatcher вроде неподходит, он работает только над выделенным и выводит разную лишнюю для меня информацию...
-
Offline
- Posts: 2248
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
-
Offline
- Posts: 96
- Joined: Tue Nov 10, 2015 4:56 am
к сожалению, скрипт SearchReplace.js не поддерживает .toISOString(), по крайней мере у меня не работает...FeyFre wrote:toGMTString() замените на функцию форматирования в нужном формате(там toISOString() )
пришлось сделать так
Code: Select all
return $1+'"'+new Date(parseFloat($2)).getUTCFullYear() + '-' +new Date(parseFloat($2)).getUTCMonth()+ '-' +new Date(parseFloat($2)).getUTCDate()+ 'T' +new Date(parseFloat($2)).getUTCHours()+ ':' +new Date(parseFloat($2)).getUTCMinutes()+ ':' +new Date(parseFloat($2)).getUTCSeconds()+ '.' +new Date(parseFloat($2)).getUTCMilliseconds()+'"'-
Offline
- Posts: 3243
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
-
Offline
- Posts: 53
- Joined: Wed Dec 09, 2015 6:33 pm
VladSh, я честно пытался, но не смог. В той версии, что у меня была, нет такой функции, добавил новую с github'а (https://raw.githubusercontent.com/Infoc ... nverter.js), вроде функция заявлена, но где она?