<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; Редактор с подсветкой синтаксиса (HTA, JS)]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7391&amp;type=atom" />
	<updated>2012-07-26T09:57:04Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=7391</id>
		<entry>
			<title type="html"><![CDATA[Re: Редактор с подсветкой синтаксиса (HTA, JS)]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62048#p62048" />
			<content type="html"><![CDATA[<p>Возможно, вы правы, и msxml4.exe&nbsp; - нестандартный компонент Windows. Погуглите, &quot;msxml&quot;. </p><p>Но физически, это представляет собой один файл msxml.exe и msxml4.dll где-то в недрах system32. Причем, dll зарегистрирована, как класс. Но ее можно не регистрировать, а, просто, подложить рядом к msxml.exe</p><p>XSLT-преобразование - прекрасная вещь для временной подсветки синтаксиса. Причем, можно написать, как прямое, так и обратное преобразование. Этот проект - хороший повод изучить XSLT-преобразования. Фактически, XSLT - это &quot;великий и могучий&quot; язык программирования, решающий специфическую задачу обхода и преобразования одних древовидных структур XML в другие XML.</p><p>Однако, немного поразмыслил. Есть ложка дегтя. XSLT работает только с правильными XML. А термин &quot;HTML-редактор&quot; предполагает, что текст в редакторе может в быть невалидным XML-кодом. Тогда вся эта кухня с XSLT работать не будет. В этом случае, в самом деле, эффективнее будет прямой цикл по тексту в редакторе и замена одних комбинаций текста (идентифицированных, как теги) на другие комбинации текста.</p>]]></content>
			<author>
				<name><![CDATA[trash0000]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28394</uri>
			</author>
			<updated>2012-07-26T09:57:04Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62048#p62048</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Редактор с подсветкой синтаксиса (HTA, JS)]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62042#p62042" />
			<content type="html"><![CDATA[<p><strong>SergeyA</strong><br />Решения чего нужны? В рамках заданной Вами логики - непрерывная проверка содержимого DIV&#039;а - я не вижу корректного решения. Попробуйте привязать проверку к событию keypress, например, или keyup. <strong>trash0000</strong> предложил интересный вариант, правда, я с XSLT-преобразованиями ещё не на &quot;ты&quot;.</p><p><strong>trash0000</strong><br />В моей винде нет &quot;стандартного файла Windows: msxml4.exe&quot;.<br />W7HB32SP1</p>]]></content>
			<author>
				<name><![CDATA[Serge Yolkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27503</uri>
			</author>
			<updated>2012-07-26T08:14:25Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62042#p62042</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Редактор с подсветкой синтаксиса (HTA, JS)]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62032#p62032" />
			<content type="html"><![CDATA[<p>Цикл не нужен. То, что вы хотите, выполняется, как XSL-преобразование над XML-документом.<br />Возьмите стандартный файл Windows: msxml4.exe Создайте XSL нужного формата, и примените к Вашему HTML-документу.</p>]]></content>
			<author>
				<name><![CDATA[trash0000]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28394</uri>
			</author>
			<updated>2012-07-25T18:17:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62032#p62032</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Редактор с подсветкой синтаксиса (HTA, JS)]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62020#p62020" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Serge Yolkin пишет:</cite><blockquote><p>будет работать настолько активно, что на отображение результатов работы просто не останется времени.</p></blockquote></div><p>Я догадался, по этому и написал, не нужны советы, нужны решения.</p>]]></content>
			<author>
				<name><![CDATA[SergeyA]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27173</uri>
			</author>
			<updated>2012-07-25T13:24:59Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62020#p62020</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Редактор с подсветкой синтаксиса (HTA, JS)]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62013#p62013" />
			<content type="html"><![CDATA[<p>Коллега, цвета выделения, типы циклов и, даже, язык программирования рекомендую оставить на потом. Попробуйте продумать логику работы самого редактора. То, что Вы привели в своём посте, работать не будет. Точнее, будет работать настолько активно, что на отображение результатов работы просто не останется времени.</p>]]></content>
			<author>
				<name><![CDATA[Serge Yolkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27503</uri>
			</author>
			<updated>2012-07-25T10:22:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62013#p62013</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Редактор с подсветкой синтаксиса (HTA, JS)]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62012#p62012" />
			<content type="html"><![CDATA[<p>Как сделать цикл чтобы он обрабатывал всё что введётся в &lt;div&gt; и заменял на нужное, поставил while но он полностью тормазит весь скрипт.</p><div class="codebox"><pre><code>&lt;html&gt;
    &lt;title&gt;Editor with syntax highlighting&lt;/title&gt;
    &lt;head&gt;
        &lt;META Http-equiv=&quot;MSThemeCompatible&quot; content=&quot;Yes&quot;&gt;
        &lt;script&gt;
            function GUISetPosition(Left, Top, Width, Height){
                if (Left == -1){ Left = ((window.screen.width / 2) - (Width / 2)); }
                if (Top == -1){ Top = ((window.screen.height / 2) - (Height / 2)); }
                window.resizeTo(Width, Height);
                window.moveTo(Left, Top);
            }
            function Highlight(){
                while (true) {
                    var str = window.document.getElementById(&quot;QControlEdit&quot;).innerHTML;
                    var str = str.replace(&#039;#include&#039;, &#039;&lt;font color=&quot;#D67FFF&quot;&gt;&lt;kbd&gt;&lt;em&gt;#include&lt;/em&gt;&lt;/kbd&gt;&lt;/font&gt;&#039;);
                    window.document.getElementById(&quot;QControlEdit&quot;).innerHTML = str;
                    break;
                }
            }
            GUISetPosition(-1, -1, 669, 338);
        &lt;/script&gt;
        &lt;HTA:APPLICATION ID=&quot;oHTA&quot;
            APPLICATIONNAME=&quot;WMPTour&quot;
            BORDER=&quot;thick&quot;
            BORDERSTYLE=&quot;normal&quot;
            CAPTION=&quot;yes&quot;
            maximizeButton=&quot;yes&quot;
            minimizeButton=&quot;yes&quot;
            ICON=&quot;explorer.exe&quot;
            SHOWINTASKBAR=&quot;no&quot;
            SINGLEINSTANCE=&quot;yes&quot;
            SYSMENU=&quot;yes&quot;
            VERSION=&quot;1.0&quot;
            WINDOWSTATE=&quot;normal&quot;
        /&gt;
    &lt;/head&gt;
    &lt;style&gt;
        * {
            margin: 0; 
            padding: 0;
        }
        body {
            margin: 0;
            padding: 0;
            overflow: hidden;
            border: none;
        }
        .ClassEditor {
            position: releative;
            left: 0px;
            top: 0px;
            padding: 5px;
            background-color: #F4F4F4;
            width: 100%;
            height: 100%;
            overflow: auto;
            color: #808080;
        }
    &lt;/style&gt;
    &lt;body onLoad=&quot;Highlight();&quot;&gt;
        &lt;div id=&quot;QControlEdit&quot; class=&quot;ClassEditor&quot; contenteditable=&quot;true&quot;&gt;
            #include
        &lt;/div&gt;
    &lt;/body&gt;
&lt;/html&gt;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[SergeyA]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27173</uri>
			</author>
			<updated>2012-07-25T05:36:24Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62012#p62012</id>
		</entry>
</feed>
