Показать сообщение отдельно
  #8 (permalink)  
Старый 06.12.2014, 16:46
Аватар для iyaki
Новичок на форуме
Отправить личное сообщение для iyaki Посмотреть профиль Найти все сообщения от iyaki
 
Регистрация: 05.12.2014
Сообщений: 9

В общем решил выйти таким способом.
<!DOCTYPE html>
<html>
    <head>
       <title>Оборчуний построчный v 2.0</title>
	   <style>
		input, out{
			display:block;
			margin-top:10px;
		}

		body{
			background-color: #FAEBD7; 
		}
		textarea{
			width: 78%;
			margin-top:10px;
			margin-right: 20px;
		}
		
		form {
			margin-top: 10px;
			width: 100%;
		}
		i {
			color : red;
		}

		
	   </style>
    </head>
    <body>
		<div id = "wraper">
			
				<div id ="inter">
				<form action="/echo" method="post">
					<label for ="in_field"> Сюда кинуть исходник </label><br>
					<textarea name = "in" id="in_field" autofocus></textarea>
					<input type="submit" value="Обернуть" onclick="work();">
				</form>
				</div>
				<div id ="out">
				<form action="/echo" method="post">
					<label for ="out_field">Здесь появится результат!</label><br>
					<textarea name = "out" id="out_field" rows="1" cols="10" ></textarea>
				</form>
				</div>
		</div>
		
		<p> Програмка оборачивает код в кавычки, мне понадобилась для внесения кода в Глисманки. <br>
			Ввиду того, что не очень то удобно навешивать сторонний скрипт на сайт через "innerHTML"= '' <br>
			+'...' Тем более прописывать каждый раз в ручную +'...' после каждой проверки или дописки  <br> 
			Код будет иметь следующий вид +' Тут код ;\n' и сохранит все табы вначале строк, но уберетв конце.  <br>
			Так же добавятся <i> ";" </i> если строка не оканчивается на : <i> "," </i> ,  <i> ";" </i> , <i> "{" </i> ,<i> "}" </i> , <i> ")" </i>  или <i> "else" </i> <br>
			При добавлении на сайт табы и отступы будут видны в созданном скрипте.<br>
			Проще использовать горячие клавиши <i> "Tab" </i> для перехода к окну результата, <i> "Ctrl + A" </i> для выделения  и <i>  "Ctrl + C" </i> для копирования в буфер обмена!
		</p>
		<script>
			var in_field = ge('in_field');
			in_field.value = "";
			out_field.value = "";
			var e_h = false;
			function ge(id)
			{
				return document.getElementById(id);
			}
			function work() {
				var lines = in_field.value.split("\n");
				var str_for_cons =[];
				var fin_str ="";
				var out_field = ge('out_field');
				var str_len = 0;
				for (i = 0; i < lines.length;i++)
				{
					lines[i] = lines[i].replace(/\s*$/,'');// .replace(/^\s*/,'') начало строки
					var last = lines[i][lines[i].length-1];
					var str = lines[i].substring(lines[i].length-4, lines[i].length);
					if ((str != "else")&&(last != "\)")&&(last != "\}")&&(last != "\,")&&(last != "\{")&&(last != "\;")) lines[i] = lines[i] +"\;";
					str_for_cons[i] =  "+'" + lines[i] +"\\" +"n"+"'";
					fin_str += str_for_cons[i] +"\n";
					if (str_for_cons[i].length > str_len) str_len = str_for_cons[i].length;
				}
				out_field.value = fin_str;
				out_field.cols = str_len ;
				out_field.rows = lines.length;
			}
		</script>
    </body>
</html>



теперь хоть не вручную лепить плюсики, вот чего правда сюда бы добавить так это сохранение кода)
Как показала практика
if(y1<y3)
{
min=y1;
max=y3;
}
выдает так
+'if(y1+'{'
+'min=y1;'
+'max=y3;'
+'}'
решается пробелами с обеих сторон больше/меньше

Последний раз редактировалось iyaki, 17.12.2014 в 09:23. Причина: Выход версии 2.0))
Ответить с цитированием