<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Вставить картинку png в скрипт без пути]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=8810</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=8810&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Вставить картинку png в скрипт без пути».]]></description>
		<lastBuildDate>Fri, 25 Oct 2013 16:03:59 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Вставить картинку png в скрипт без пути]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76445#p76445</link>
			<description><![CDATA[<p><strong>Indomito</strong><br />Спасибо, но перед этим нашёл вариант от SKAN - <a href="http://www.autohotkey.com/board/topic/85709-base64enc-base64dec-base64-encoder-decoder/?hl=%2Bbase64#entry583013">http://www.autohotkey.com/board/topic/8 … ntry583013</a> и уже переделал по его примеру. По ощущениям, штука мощная. Попробовал 2 картинки 1920 x 1080, скорость очень даже. Файл скрипта весит в 2 раза меньше, по сравнению с моим вариантом записи байт.</p><p>В этом коде учтено ограничение на длинну переменной, можно писать большие файлы.<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>

    ; http://forum.script-coding.com/viewtopic.php?pid=76445#p76445

#SingleInstance Force 
SetBatchLines -1
TempPic := A_Temp &quot;\Pic.png&quot; 
I := 1
 
GoSub, DATAInit
Gui, Margin, 0, 0 
Gui, -Caption +AlwaysOnTop -DPIScale +ToolWindow +E0x08000000 
Gui, Add, Picture, w60 h-1 gChangePic vPic, % DataToFile(DATA%I%, TempPic)
FileDelete, %TempPic% 
Gui, Show, NA
SetTimer ChangePic, -1000
Return

2::
ChangePic:
    I := I = 1 ? 2 : 1
    GuiControl, -Redraw, Pic
    GuiControl, , Pic, % DataToFile(DATA%I%, TempPic)  
    FileDelete, %TempPic% 
    GuiControl, +Redraw, Pic
    SetTimer ChangePic, -1000
    Return  

Esc::
    ExitApp  
 
 
DataToFile( InData, TrgFile) {    
    DllCall( &quot;Crypt32.dll\CryptStringToBinary&quot; ( A_IsUnicode ? &quot;W&quot; : &quot;A&quot; ), UInt,&amp;InData 
        , UInt,StrLen(InData), UInt,1, UInt,0, UIntP,Bytes, Int,0, Int,0, &quot;CDECL Int&quot; ) 
    VarSetCapacity( OutData, Req := Bytes * ( A_IsUnicode ? 2 : 1 ) ) 
    DllCall( &quot;Crypt32.dll\CryptStringToBinary&quot; ( A_IsUnicode ? &quot;W&quot; : &quot;A&quot; ), UInt,&amp;InData 
        , UInt,StrLen(InData), UInt,1, Str,OutData, UIntP,Req, Int,0, Int,0, &quot;CDECL Int&quot; )   
    File := FileOpen(TrgFile, &quot;w&quot;), File.length := 0, File.RawWrite(OutData, Bytes) 
    File.Close(), VarSetcapacity( OutData, 0)  
    Return TrgFile 
} 


 
 ; Программа получения переменной из файла
SetBatchLines -1
File = D:\Images\3D-part2\Glassina (9).jpg
NameVar = DATA2
Clipboard := DataToVar(Base64enc(File), NameVar)  
MsgBox Готово, смотри буфер. 
Return 
 
DataToVar(DATA, Name, RowLen = 128) {  
    StringReplace, Var, DATA, `r`n, , 1
    DATALen := StrLen(Var), Step := 0, tLen := 1 
    Loop % Ceil(DATALen / RowLen)
    {   
        Str .= SubStr(Var, tLen, RowLen) &quot;`n&quot; 
        tLen += RowLen, ++Step
        If (Step * RowLen &gt;= 16000)  
            Step := 0, Str .= &quot;)`n&quot; Name &quot; = %&quot; Name &quot;%`n(`n&quot; 
    }   
    Return Name &quot; = `n(`n&quot; Str &quot;)&quot;
}    
 
Base64enc(File) {  
    FileGetSize, Size, %File%
    FileRead, Bin, *c %File%  
    DllCall( &quot;Crypt32.dll\CryptBinaryToString&quot; ( A_IsUnicode ? &quot;W&quot; : &quot;A&quot; ) 
        , UInt,&amp;Bin, UInt,Size, UInt,1, UInt,0, UIntP,TChars, &quot;CDECL Int&quot; ) 
    VarSetCapacity( OutData, Req := TChars * ( A_IsUnicode ? 2 : 1 ) ) 
    DllCall( &quot;Crypt32.dll\CryptBinaryToString&quot; ( A_IsUnicode ? &quot;W&quot; : &quot;A&quot; ) 
        , UInt,&amp;Bin, UInt,Size, UInt,1, Str,OutData, UIntP,Req, &quot;CDECL Int&quot; ) 
    Return OutData 
}    





 

DATAInit: 

DATA1 = 
(
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
)

DATA2 = 
(
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
)


Return
   
</code></pre></div></div></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Fri, 25 Oct 2013 16:03:59 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76445#p76445</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вставить картинку png в скрипт без пути]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76440#p76440</link>
			<description><![CDATA[<p><span style="color: green"><strong>Ядрён</strong>, повышайте грамотность. Также не стоит в названии темы употреблять слова вроде &quot;помогите&quot;, не несущие смысловой нагрузки. Они затрудняют поиск. </span></p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Fri, 25 Oct 2013 14:45:09 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76440#p76440</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вставить картинку png в скрипт без пути]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76438#p76438</link>
			<description><![CDATA[<p>Сейчас найду новую версию, этой года или более <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" /></p><p><strong>UPD</strong></p><p>Вот тут <span class="bbu"><a href="http://www.autohotkey.com/board/topic/5545-base64-coderdecoder/">http://www.autohotkey.com/board/topic/5 … erdecoder/</a> </span>- прочти, вроде всё сделали, но я не стал всё тему полностью читать.</p><p>Или это - <span class="bbu"><a href="http://www.autohotkey.com/board/topic/64481-include-virtually-any-file-in-a-script-exezipdlletc/">Include virtually any file in a script (exe/zip/dll/etc....)</a></span></p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Fri, 25 Oct 2013 12:59:00 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76438#p76438</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вставить картинку png в скрипт без пути]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76437#p76437</link>
			<description><![CDATA[<p><strong>YMP</strong><br />Ясно, спасибо надо допилить, если метод BASE64 не намного лучше.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Fri, 25 Oct 2013 12:55:18 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76437#p76437</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вставить картинку png в скрипт без пути]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76436#p76436</link>
			<description><![CDATA[<p><strong>serzh82saratov</strong><br />Basic Usage and Syntax -&gt; Scripts<br /></p><div class="quotebox"><blockquote><p>A continuation section cannot produce a line whose total length is greater than 16,383 characters (if it tries, the program will alert you the moment the script is launched). One way to work around this is to do a series of concatenations into a variable. For example:<br /></p><div class="codebox"><pre><code>
Var =
(
...
)
Var = %Var%`n  ; Add more text to the variable via another continuation section.
(
...
)
FileAppend, %Var%, C:\My File.txt
</code></pre></div></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Fri, 25 Oct 2013 12:42:20 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76436#p76436</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вставить картинку png в скрипт без пути]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76435#p76435</link>
			<description><![CDATA[<p><strong>Ядрён</strong> Есть два метода, простой и сложный, хотя кому как <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" /></p><br /><p><span class="bbu"><strong>Метод №1</strong></span></p><p>Использовать <strong>FileInstall</strong></p><p>Скрипт(фрагмент №1 - установка) </p><div class="codebox"><pre><code>; Ресурсы скрипта
FileCreateDir, %A_WorkingDir%ASOS_RES ; Создаём папку для ресурсов
FileSetAttrib, +H, %A_WorkingDir%ASOS_RES ; Делаем её скрытой
FileInstall, ASOS_RES\windows7.jpg, ASOS_RES\windows7.jpg, 1 ; Картинка для рестарта
FileInstall, ASOS_RES\Os_Settings_Gear.ico, ASOS_RES\Os_Settings_Gear.ico, 1 ; иконка в трее
FileInstall, ASOS_RES\ON.mp3, ASOS_RES\ON.mp3, 1    ; звук ON
FileInstall, ASOS_RES\OFF.mp3, ASOS_RES\OFF.mp3, 1  ; звук OFF</code></pre></div><p>Скрипт(фрагмент №2 - использование) </p><div class="codebox"><pre><code>Gui, test:Add, Picture, gMyPicture AltSubmit, ASOS_RES\windows7.jpg</code></pre></div><br /><p><span class="bbu"><strong>Метод №2</strong></span></p><p> Использовать готовый скрипт <strong>Convert_BASE64.ahk</strong> для конвертации в <strong>BASE64</strong>, его можно взять у меня. </p><p>Вот начальный фрагмент скрипта, т.е. инструкция как его использовать.</p><div class="codebox"><pre><code>;How to use!:
;1. Download and save the .ahk to a directory of your choosing.
;2. Run the script
;3. Select a file you want to include with your script(s)
;4. Enter a name for the function you call to recreate the file (valid function names only)
;5. Wait for it to do its stuff
;6. Answer the questions on how you want to save the script
;7. Simply include the code via #include or pasting it into your script
;8. Call the function with Extract_*name* and the path/name 
;          of the file you want it to save as and it will recreate the file</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Fri, 25 Oct 2013 12:30:00 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76435#p76435</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вставить картинку png в скрипт без пути]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76434#p76434</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Например если прописать в переменную скрипта набор байт файла весом 300кб, то будет эта ошибка.</p></blockquote></div><p>Видимо ограничение на длинну переменной 16384 символов включая имя переменной. Но не могу найти это в справке...</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Fri, 25 Oct 2013 12:03:21 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76434#p76434</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вставить картинку png в скрипт без пути]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76433#p76433</link>
			<description><![CDATA[<p>Подправил код.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Fri, 25 Oct 2013 11:50:08 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76433#p76433</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вставить картинку png в скрипт без пути]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76432#p76432</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Ничего не понял. Где continuation section?</p></blockquote></div><p>Например если прописать в переменную скрипта набор байт файла весом 300кб, то будет эта ошибка.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Fri, 25 Oct 2013 11:18:39 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76432#p76432</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вставить картинку png в скрипт без пути]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76431#p76431</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Ну это просто название переменной, я и не говорил что там hex.</p></blockquote></div><p>Как это не говорил? Название переменной об этом и говорит.</p><div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Ещё вопрос: при более длинных строках байт чем в моём коде, такая ошибка:<br /></p><div class="quotebox"><blockquote><p>Line Text: . &quot; 252 140 226 105 134 58 231 36 246 175 119 116 120 46 231 65 226 63 16 88 223 254 208 118 11&quot;<br />Error: Continuation section too long.</p></blockquote></div><p>Надо переделать в обычную многострочную переменную это понятно. Но почему выражения не поддерживают длинные строки?</p></blockquote></div><p>Ничего не понял. Где continuation section?</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Fri, 25 Oct 2013 11:14:40 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76431#p76431</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вставить картинку png в скрипт без пути]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76430#p76430</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Надо переделать в обычную многострочную переменную это понятно.</p></blockquote></div><p>Хм. Тоже самое - <em>Error: Continuation section too long.</em></p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Fri, 25 Oct 2013 11:08:42 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76430#p76430</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вставить картинку png в скрипт без пути]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76429#p76429</link>
			<description><![CDATA[<p>Ну это просто название переменной, я и не говорил что там hex. Можно обозвать и как StrBytes, или кому как по вкусу.<br />Тут больше косяк в:<br /> </p><div class="quotebox"><blockquote><p>HexToFile( hex, Path)&nbsp; {<br />	<strong>RegExReplace(hex, A_Space, &quot;&quot;, Length) </strong><br />	VarSetCapacity(buf, Length, 0)</p><p>	Loop, parse, hex, %A_Space% <br />		NumPut(<strong>A_LoopField + 0</strong>, buf, A_Index - 1, &quot;UChar&quot;)&nbsp; </p><p>	file := FileOpen(Path, &quot;w&quot;)<br />	file.RawWrite(buf, Length)<br />	file.Close()<br />	Return Path<br />}</p></blockquote></div><p>StringReplace и минус одно ненужное вычисление, дало ещё 10% к скорости:<br /></p><div class="codebox"><pre><code>
HexToFile( hex, Path)  {  
    StringReplace, #, hex, %A_Space%, , UseErrorLevel 
    VarSetCapacity(buf, Length := ErrorLevel, 0)
    
    Loop, parse, hex, %A_Space% 
        NumPut(A_LoopField, buf, A_Index - 1, &quot;UChar&quot;)  
    
    file := FileOpen(Path, &quot;w&quot;), file.length := 0 
    file.RawWrite(buf, Length), file.Close() 
    Return Path
}    
</code></pre></div><p>Ещё вопрос: при более длинных строках байт чем в моём коде, такая ошибка:<br /></p><div class="quotebox"><blockquote><p>Line Text: . &quot; 252 140 226 105 134 58 231 36 246 175 119 116 120 46 231 65 226 63 16 88 223 254 208 118 11&quot;<br />Error: Continuation section too long.</p></blockquote></div><p>Надо переделать в обычную многострочную переменную это понятно. Но почему выражения не поддерживают длинные строки?</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Fri, 25 Oct 2013 10:50:33 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76429#p76429</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вставить картинку png в скрипт без пути]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76428#p76428</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><div class="codebox"><pre><code>
Clipboard := hex &quot;&quot;&quot;&quot;
MsgBox Готово, смотри буфер.
</code></pre></div></blockquote></div><p>Вообще-то в буфере не hex, а dec. Hex = hexadecimal.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Fri, 25 Oct 2013 10:37:48 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76428#p76428</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вставить картинку png в скрипт без пути]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76425#p76425</link>
			<description><![CDATA[<p>Спасибо огромное за ваше терпение, всё разобрался.</p>]]></description>
			<author><![CDATA[null@example.com (Ядрён)]]></author>
			<pubDate>Fri, 25 Oct 2013 09:57:51 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76425#p76425</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вставить картинку png в скрипт без пути]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76424#p76424</link>
			<description><![CDATA[<div class="codebox"><pre><code>/*...*/ Получился у тебя кусок комментария.</code></pre></div><p>/*...*/ -<a href="http://www.script-coding.com/AutoHotkey/Scripts.html#chapter_3"> это комментарий</a>, это не код! Надо просто раскомментировать.<br /></p><div class="codebox"><pre><code>
FileName = C:\Windows\Temp\Pic.png
 
File := FileOpen(FileName, &quot;r&quot;), File.Pos := 0
File.RawRead(buf, Length := file.length)
File.Close()
 
hex := &quot;Var := &quot;&quot;&quot;
Loop % Length
    hex .= NumGet(buf, A_Index - 1, &quot;UChar&quot;) . (!Mod(A_Index, 25) ? &quot;&quot;&quot;`n&quot; A_Tab A_Tab &quot;. &quot;&quot; &quot; : &quot; &quot;) 
Clipboard := hex &quot;&quot;&quot;&quot;
MsgBox Готово, смотри буфер.
Return 
</code></pre></div><p>--------</p><p><strong>Ядрён</strong><br /><span style="color: #3981C3">Предложения начинаются с большой буквы и заканчиваются точкой, пробелы ставятся после знака препинания.</span></p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Fri, 25 Oct 2013 09:51:29 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76424#p76424</guid>
		</item>
	</channel>
</rss>
