Простой способ быстро написать длинный однообразный текст программы, например, определение кучи однотипных переменных, задание порядковых номеров, словом, любой алготитмизуемый текст в текстовом формате.

Однажды мне понадобилось задать несколько десятков однотипных переменных. Думаю, ладно, один раз всего надо, сделаю вручную. Попыхтел, покопировал кусками, замены сделал, готово. Через какое-то время понял, надо по-другому делать, а снова всю эту мутотень вводить неохота. Что делать? Вспомнил, что когда-то писал обработчики на JavaScript и скрипты эти позволяют любой текст записать в текстовый файл. Получилась простая программка на JavaScript, которую я потом много раз переделывал под разные задачи.

Здесь я привожу пример, как с помощью JavaScript написать кусок таблицы стилей CSS. Скрипт будет писать в текстовый файл "forCSS.txt" такой отрывок кода CSS:

#l0101, #l0102, #l0103, #l0104, #l0105, #l016,
#l0201, #l0202, #l0203, #l0204, #l0205, #l026,
#l0301, #l0302, #l0303, #l0304, #l0305, #l036,
#l0401, #l0402, #l0403, #l0404, #l0405, #l046
{
float: left; width: 10px; height: 10px; padding: 0px; margin: 0px;
border: 1px solid black;
position: absolute;
}
/* линия 1 */
#l0101 {z-index: 25}
#l0102 {z-index: 24}
#l0103 {z-index: 23}
#l0104 {z-index: 22}
#l0105 {z-index: 21}
#l0106 {z-index: 20}
/* линия 2 */
#l0201 {z-index: 19}
#l0202 {z-index: 18}
#l0203 {z-index: 17}
#l0204 {z-index: 16}
#l0205 {z-index: 15}
#l0206 {z-index: 14}
/* линия 3 */
#l0301 {z-index: 13}
#l0302 {z-index: 12}
#l0303 {z-index: 11}
#l0304 {z-index: 10}
#l0305 {z-index: 9}
#l0306 {z-index: 8}
/* линия 4 */
#l0401 {z-index: 7}
#l0402 {z-index: 6}
#l0403 {z-index: 5}
#l0404 {z-index: 4}
#l0405 {z-index: 3}
#l0406 {z-index: 2}

Скрипт создаст текстовый файл "forCSS.txt" приведенным выше кодом в корневой директории диска "C:\" (если Вы не пропишете путь к своей рабочей директории). Затем из файла "forCSS.txt" можно скопировать содержимое в свою таблицу стилей CSS. Чтобы заработал этот скрипт создайте текстовый файл с расширением "wsf" и поместите в него нижеследующий код, затем запускаете этот файл - скрипт отработает. Итак, код скрипта:

<job id="Job1">
<script id="Main" language="JScript">

mypath = "c:\\"; // путь к рабочей директории, например, "c:\\my_work\\"

var WshShell;
var FSO;
var FSO1;
var er; // ошибка
var f;
BIG_OK = true;
while (BIG_OK) {
FSO = WScript.CreateObject("Scripting.FileSystemObject");
FSO1 = new ActiveXObject("Scripting.FileSystemObject");
WshShell = WScript.CreateObject("WScript.Shell");

LL = 6;
KK = 4;
allstr = '';
for(var k=1; k<=KK; k=k+1)
{
if (k<10)
{ kstr = '0' + k; }
else { kstr = k; }
for(var l=1; l<LL; l=l+1)
{
if (l<10)
{ lstr = '0' + l; }
else { lstr = l; }
allstr = allstr + '#l' + kstr + lstr + ', ';
}
allstr = allstr + '#l' + kstr + l;
if(k<KK) { allstr = allstr + ','; }
allstr = allstr + '\n';
}
allstr = allstr + ' {\n float: left; width: 10px; height: 10px;';
allstr = allstr + ' padding: 0px; margin: 0px;\n border: 1px solid black;\n';
allstr = allstr + ' position: absolute;\n }\n';

i=LL*KK+1;
for(var k=1; k<=KK; k=k+1)
{
if (k<10)
{ kstr = '0' + k; }
else { kstr = k; }
allstr = allstr + '/* линия ' + k + ' */' + '\n';
for(var l=1; l<=LL; l=l+1)
{
if (l<10)
{ lstr = '0' + l; }
else { lstr = l; }
allstr = allstr + ' #l' + kstr + lstr + ' {z-index: ' + i + '}\n';
i=i-1;
}
}

try {
if (FSO.FileExists(mypath + "forCSS.txt")) { FSO.DeleteFile(mypath + "forCSS.txt"); }
f = FSO.CreateTextFile(mypath + "forCSS.txt", true);
f.WriteLine(allstr);
f.Close();
}
catch (er) {
WScript.Echo ("Произошла ошибка");
WScript.Echo ("Выполнение прервано");
WScript.Quit();
}

WScript.Echo ("Выполнение завершено");
WScript.Quit();

}
</script>
</job>

Добавить комментарий


Защитный код
Обновить