<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; WSH or AHK: Копирование выделенных ссылок]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=5076</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5076&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «WSH or AHK: Копирование выделенных ссылок».]]></description>
		<lastBuildDate>Fri, 22 Oct 2010 15:30:23 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: WSH or AHK: Копирование выделенных ссылок]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40740#p40740</link>
			<description><![CDATA[<p>Благодарю!</p>]]></description>
			<author><![CDATA[null@example.com (DD)]]></author>
			<pubDate>Fri, 22 Oct 2010 15:30:23 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40740#p40740</guid>
		</item>
		<item>
			<title><![CDATA[Re: WSH or AHK: Копирование выделенных ссылок]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40737#p40737</link>
			<description><![CDATA[<p>В буфер обмена копирует текст не АНК, а приложение, где текст выделен. АНК только может послать команду на копирование, т.е. Ctrl-C или подобную. Приложение может копировать текст в разных форматах, в том числе и HTML. IE и Firefox копируют выделенное в HTML, а Опера вроде бы нет. Извлечь его можно, <a href="http://www.forum.script-coding.com/viewtopic.php?pid=35646#p35646">вот тут</a> я постил функцию для этого. Посмотрите, возможно, сгодится для Ваших целей.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Fri, 22 Oct 2010 13:16:10 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40737#p40737</guid>
		</item>
		<item>
			<title><![CDATA[Re: WSH or AHK: Копирование выделенных ссылок]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40734#p40734</link>
			<description><![CDATA[<div class="quotebox"><cite>DD пишет:</cite><blockquote><p>Умеют ли WSH или AHK копировать выделенный текст с форматированием?</p></blockquote></div><p>AHK точно не умеет!</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 22 Oct 2010 12:47:31 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40734#p40734</guid>
		</item>
		<item>
			<title><![CDATA[WSH or AHK: Копирование выделенных ссылок]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40733#p40733</link>
			<description><![CDATA[<p>Умеют ли WSH или AHK копировать выделенный текст с форматированием?<br />Если да, — можно было бы приладить нижеследующий код, извлекающий ссылки из файла, к заявленной теме, — сохранил выделенный фрагмент с форматированием --&gt; извлёк его линки в буфер.</p><br /><br /><div class="codebox"><pre><code>; Пример №3: скрипт пытается извлечь все адреса FTP и HTTP из текстового или HTML файла.
FileSelectFile, SourceFile, 3,, Выберите текстовый или HTML файл для анализа.
if SourceFile =
    return ; В таком случае выйти.

SplitPath, SourceFile,, SourceFilePath,, SourceFileNoExt
DestFile = %SourceFilePath%\%SourceFileNoExt% Extracted Links.txt

IfExist, %DestFile%
{
    MsgBox, 4,, Переписать существующий файл со ссылками? Нажмите &quot;Нет&quot;, чтобы добавить.`n`nФайл: %DestFile%
    IfMsgBox, Yes
        FileDelete, %DestFile%
}

LinkCount = 0
Loop, read, %SourceFile%, %DestFile%
{
    URLSearchString = %A_LoopReadLine%
    Gosub, URLSearch
}
MsgBox %LinkCount% ссылок было найдено и записано в &quot;%DestFile%&quot;.
return

URLSearch:
; Это делается именно так потому, что некоторые URL содержат внутри себя другие URL:
StringGetPos, URLStart1, URLSearchString, http://
StringGetPos, URLStart2, URLSearchString, ftp://
StringGetPos, URLStart3, URLSearchString, www.

; Найти самую левую стартовую позицию:
URLStart = %URLStart1% ; Задать старт по умолчанию.
Loop
{
    ; Это улучшает производительность (по крайней мере в скрипте со многими переменными),
    ; если &quot;URLStart%A_Index%&quot; вычисляется только один раз:
    ArrayElement := URLStart%A_Index%
    if ArrayElement = ; Достигнут конец массива.
        break
    if ArrayElement = -1 ; Этот элемент дисквалифицируется.
        continue
    if URLStart = -1
        URLStart = %ArrayElement%
    else ; URLStart содержит допустимую позицию, поэтому сравнить её с ArrayElement.
    {
        if ArrayElement &lt;&gt; -1
            if ArrayElement &lt; %URLStart%
                URLStart = %ArrayElement%
    }
}

if URLStart = -1 ; URLSearchString не содержит URL.
    return

; Иначе извлечь этот URL:
StringTrimLeft, URL, URLSearchString, %URLStart% ; Опустить начальную/ненужную часть.
Loop, parse, URL, %A_Tab%%A_Space%&lt;&gt; ; Найти первый пробел, табуляцию или угловую скобку (если есть).
{
    URL = %A_LoopField%
    break ; т.е. совершается только одна итерация цикла, чтобы извлечь первое &quot;поле&quot;.
}
; Если цикл выше совершил ноль итераций, поскольку не было найдено ни одного конечного символа,
; оставить содержимое переменной URL нетронутым.

; Если URL оканчивается двойной кавычкой, удалить её. Сейчас для этого используется StringReplace,
; но имейте в виду, что двойные кавычки, видимо, разрешены внутри URL, так что это может их повредить:
StringReplace, URLCleansed, URL, &quot;,, All
FileAppend, %URLCleansed%`n
LinkCount += 1

; Нет ли в этой строке других URL:
StringLen, CharactersToOmit, URL
CharactersToOmit += %URLStart%
StringTrimLeft, URLSearchString, URLSearchString, %CharactersToOmit%
Gosub, URLSearch ; Рекурсивный вызов подпрограммой самой себя.
return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (DD)]]></author>
			<pubDate>Fri, 22 Oct 2010 12:38:20 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40733#p40733</guid>
		</item>
	</channel>
</rss>
