Ru-Board.club
← Вернуться в раздел «Программы»

» Indigo Rose AutoPlay Media Studio

Автор: gavryshkin
Дата сообщения: 25.08.2014 12:57
Добрый день.
Работаю с объектом RichText. Загружаю по команде внешние файлы с текстом (rtf).
Подскажите пожалуйста есть ли возможность изменять цвет текста в объекте RichText, так что бы текст из файлов отображался другим цветом (например - белым), хотя в самих файлах он чёрный?
Автор: KerberX
Дата сообщения: 25.08.2014 13:32
Могу предложить вот такой код:

Код: RichText.SetSelection("RichText1", 1, -1);
RichText.SetSelectionFormat("RichText1", {AutoColor=false, TextColor=Math.RGBToNumber(255, 255, 255)}, false);
RichText.SetSelection("RichText1", 1, 1);
Автор: gavryshkin
Дата сообщения: 25.08.2014 13:44
Спасибо.
По сути это получается загрузка файла с исходным форматированием в объект, а потом выделение текста и изменения выделенного. А возможно ли загрузка в объект RichText текста из файла без использования исходного форматировния?

В справке в RichText.SetProperties есть свойство RawRTF не совсем понимаю как оно работает. Не мог либы разяснить на примере?

Автор: KerberX
Дата сообщения: 29.08.2014 19:27
Как всё таки прикрутить LuaLanes к AMS? Инструкции там, ясное дело, нет. Я так понял что надо скомпилировать какую-то DLL и загрузить lanes.lua. Но DLL упорно не компилируется. Может я вообще не то делаю?
Автор: collagen
Дата сообщения: 30.08.2014 06:09
KerberX
Если насчет многопоточности скриптов, то для этого есть два плагина действий MemoryEx и Box. Но у меня нет опыта практической работы с ними, я просто переводил справки по ним. Кстати, справки достаточно подробные.
Автор: KerberX
Дата сообщения: 30.08.2014 13:26
MemoryEx сразу не подходит. Box надо посмотреть. Скинь переводы этих справок.
Автор: collagen
Дата сообщения: 30.08.2014 16:48
KerberX
Все справки по плагинам я включил в общий файл справки http://rghost.ru/57766606.
Box переведен полностью, а MemoryEx не весь, но нужные действия по многопоточности (SharedMemory) вроде переведены.
Да, и если MemoryEx не подходит, то Box тоже не подойдет - принцип действия у них один - работа с оперативной памятью.
Плагин выделяет участок оперативной памяти, требуемого размера, в него можно поместить скрипт, обработать его и затем закрыть этот участок памяти. Таких участков может быть много.
Автор: KiLLius
Дата сообщения: 31.08.2014 11:28
Всем привет. Сходу не могу разобраться, может вы поможете.
Есть "условно говоря" стена текста. В ней куча слов, которые не понятны пользователю. Есть ли возможность реализовать функционал, при наведении мыши на слово, появлялась всплывающая подсказка, объясняющая значение слова.
Такие объекты как параграф и richtext это не позволяют. Или же я плохо смотрел(
Заранее огромное спасибо.
Автор: Zloy_Gelud
Дата сообщения: 31.08.2014 18:52
KiLLius -- реализовывай с помощью HTML + JS и вставляй в WEB-объект.

Добавлено:
collagen

Цитата:
Если насчет многопоточности скриптов, то для этого есть два плагина действий MemoryEx и Box.

MemoryEx не имеет функционала для работы с многопоточностью. Про Box - ничего не скажу. Никогда не использовал.
Автор: KiLLius
Дата сообщения: 31.08.2014 20:42
Zloy_Gelud спасибо, так и сделаю.
Автор: gavryshkin
Дата сообщения: 01.09.2014 09:20
Подскажите пожалуйста возможно ли в объекте RichText запретить выделение текста?
Заранее спасибо!
Автор: Zloy_Gelud
Дата сообщения: 02.09.2014 11:46
gavryshkin

On Selection Changed объекта RichText:

Код: local tSel = RichText.GetSelection(this);
RichText.SetSelection(this, tSel.Start, tSel.Start);
Автор: gavryshkin
Дата сообщения: 03.09.2014 23:00
Спасибо Zloy_Gelud

Исходя из кода получается что мы при выделении тескта сразу возвращаемся на начало выделенного фрагмента, но выделение на какой-то момент всё таки происходит.

А возможно ли совсем запретить выделение текста или сделать его невидимым?
Автор: Zloy_Gelud
Дата сообщения: 04.09.2014 06:37
gavryshkin

Цитата:
Исходя из кода получается что мы при выделении тескта сразу возвращаемся на начало выделенного фрагмента, но выделение на какой-то момент всё таки происходит.

Верно.

Цитата:
А возможно ли совсем запретить выделение текста или сделать его невидимым?

Полностью запретить - вряд ли. Но можешь еще так попробывать:

On Focus объекта:

Код: Page.SetFocus("");
Автор: ColdSummer
Дата сообщения: 05.09.2014 21:00
Ребят, можете помочь с увеличением? На прошлой странице описал своё положение
Автор: gavryshkin
Дата сообщения: 11.09.2014 10:21
Спасибо Zloy_Gelud. Буду пробывать вариант с Page.SetFocus.


Столкнулся с такой проблемой. Работаю с объектом RichText.

Загружаю файл LoadFromFile,
выделяю весь текст SetSelection("RichText1", 1, -1),
затем изменяю форматирования текста
SetParagraphFormat("RichText1", tbFormatP) и
SetSelectionFormat("RichText1", tbFormatT, false);

где
tbFormatT = {};
tbFormatT.AutoColor = false;
tbFormatT.TextColor = Math.HexColorToNumber("ffffff");
tbFormatT.FaceName = "Candara";
tbFormatT.Height = 340;

и

tbFormatP = {};
tbFormatP.Alignment = 1;
tbFormatP.StartIndent = 567;
tbFormatP.Offset = -567;
tbFormatP.RightIndent = 0;
tbFormatP.LineSpacingRule = 0;
tbFormatP.LineSpacing = 1;
tbFormatP.SpaceAfter = 567;
tbFormatP.SpaceBefore = 300;

Так вот какая проблема - SetSelectionFormat обрабатыватся верно а в SetParagraphFormat не срабатываю межстрочные интервалы (LineSpacingRule, LineSpacing) и абзацные отсупы
(SpaceAfter, SpaceBefore).

Версия программы 8.1, пробовал на 8.3 тоже не срабатывает.
Подскажите пожалуйста в чём проблема и можно ли как-то изменять в объкте RichText абзацные отступы и межстрочный интервал?
Автор: Zloy_Gelud
Дата сообщения: 11.09.2014 10:41
gavryshkin

Цитата:
Подскажите пожалуйста в чём проблема

Справку не прочитали.
Таблица CharacterFormat в RichText.SetSelectionFormat не может содержать вышеуказанных полей.
Автор: gavryshkin
Дата сообщения: 11.09.2014 11:11
Извините опечатка имелась ввиду - SetParagraphFormat (в коде всё верно использовал).
Автор: Zloy_Gelud
Дата сообщения: 11.09.2014 11:32
gavryshkin -- неплохо бы еще знаки препинания расставлять.
.. у меня тоже не работают эти kлючи.

UPD. Если очень нужно - можно на WinAPI попытаться сделать.
Автор: gavryshkin
Дата сообщения: 11.09.2014 11:54
Попробовал в версии 7.5 абзацные отступа работают (SpaceAfter и SpaceBefore).

Подскажите может есть возможность как-то подругому изменять абзацные отступы и межстрочный интервал в тексте (объект RichText)?
Автор: Zloy_Gelud
Дата сообщения: 11.09.2014 12:06

Цитата:
Попробовал в версии 7.5 абзацные отступа работают (SpaceAfter и SpaceBefore).

Кто на оффоруме зареган - пускай про этот баг отпишут.

Цитата:
Подскажите может есть возможность как-то подругому изменять абзацные отступы и межстрочный интервал в тексте (объект RichText)?


Цитата:
UPD. Если очень нужно - можно на WinAPI попытаться сделать.



UPD. Написал с WinAPI. Но что-то все равно криво работает. Наверно, IR совсем поломали объект.
[more=Код]
Код: g_tPARAFORMAT = MemoryEx.DefineStruct{
UINT ('cbSize');
DWORD('dwMask');
WORD ('wNumbering');
WORD ('wEffects');
INT ('dxStartIndent');
INT ('dxRightIndent');
INT ('dxOffset');
WORD ('wAlignment');
WORD ('cTabCount');
INT ('rgxTabs', 32);
INT ('dySpaceBefore');
INT ('dySpaceAfter');
INT ('dyLineSpacing');
WORD ('sStyle');
BYTE ('bLineSpacingRule');
BYTE ('bOutlineLevel');
WORD ('wShadingWeight');
WORD ('wShadingStyle');
WORD ('wNumberingStart');
WORD ('wNumberingStyle');
WORD ('wNumberingTab');
WORD ('wBorderSpace');
WORD ('wBorderWidth');
WORD ('wBorders');
};

RichText.SetParagraphFormatEx = function (sObjectName, tParagraphFormat)
RichText.SetParagraphFormat(sObjectName, tParagraphFormat);
--*****************************************************************************
local hRichText = RichText.GetProperties(sObjectName).WindowHandle;
local tPARAFORMAT = g_tPARAFORMAT:New();
tPARAFORMAT.cbSize = MemoryEx.StructSize(g_tPARAFORMAT);
local nMask = 0;
if tParagraphFormat.LineSpacingRule then
if tParagraphFormat.LineSpacing then
if (tParagraphFormat.LineSpacingRule == 3) or
(tParagraphFormat.LineSpacingRule == 4) or
(tParagraphFormat.LineSpacingRule == 5) then
tPARAFORMAT.dyLineSpacing = tParagraphFormat.LineSpacing;
end
end
tPARAFORMAT.bLineSpacingRule = tParagraphFormat.LineSpacingRule;
nMask = 256;
end
if tParagraphFormat.SpaceBefore then
nMask = Bitwise.Or(nMask, 64);
tPARAFORMAT.dySpaceBefore = tParagraphFormat.SpaceBefore;
end
if tParagraphFormat.SpaceAfter then
nMask = Bitwise.Or(nMask, 128);
tPARAFORMAT.dySpaceAfter = tParagraphFormat.SpaceAfter;
end
tPARAFORMAT.dwMask = nMask;
DLL.CallFunction("user32.dll", "SendMessageA", hRichText..", 1095, 0, "..tPARAFORMAT:GetPointer(), DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
tPARAFORMAT:Free();
end

--RichText.SetParagraphFormatEx("RichText1", {SpaceAfter = 567, SpaceBefore = 300});
RichText.SetParagraphFormatEx("RichText1", {LineSpacingRule = 1});
Автор: dallas page
Дата сообщения: 14.09.2014 12:13
Приветствую господа. Просветите меня. Мне нужно залить файл на яндекс диск используя AMS. Для скачивания использую webdav:

Код: HTTP.DownloadSecure("https://webdav.yandex.ru/1.flac", "C:\\1\\1.flac", MODE_BINARY, 20, 443, {UserName="userwe",Password="Qazx123456"}, nil, nil);
Автор: Octanium
Дата сообщения: 15.09.2014 15:39
Здравствуйте есть проблемам с String.Find.

Нужно в файле найти строчку с словом "import".


Код:
Код: initrc = TextFile.ReadToTable(""..temp_dir.."\\add_files\\adb_dump\\init.rc");
initrc_max = Table.Count(initrc);
string = 0;
repeat
string = string + 1;
find_in = "";
find_in_string_b = {"import"};
result = Dialog.Message("Notice", ""..initrc[string].."", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
find_in = String.Find(""..initrc[string].."", ""..find_in_string_b[1].."", 1, false);
result = Dialog.Message("Notice", ""..find_in.."", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
until string == initrc_max;
Автор: Andramedon
Дата сообщения: 16.09.2014 17:13
А никто не подскажет, можно ли распаковать autorun.cdd созданный в версии AutoPlay Media Studio 8.0.2.0, дело в том, что AMS Password Tool его не берет, пароль не находит.
Автор: Zloy_Gelud
Дата сообщения: 16.09.2014 18:30
Octanium

Цитата:
не могу понять в чем дело.

Написали индусский код и удивляетесь, почему что-то не работает.

Цитата:
Нужно в файле найти строчку с словом "import".

Не стал разбираться в том, что вы написали. Напишите полное ТЗ. А то пока кроме как используй String.Find, ничего посоветовать нельзя.


Andramedon -- вопрос для Варезника. Скиньте туда скомпилированный проект. Может поможет кто.
Автор: KerberX
Дата сообщения: 18.09.2014 20:22
Можно ли в AMS использовать библиотеку SevenZipSharp? У неё нет экспортируемых функций, но может быть есть способы?
Автор: Zloy_Gelud
Дата сообщения: 18.09.2014 20:44
KerberX

Цитата:
Можно в AMS использовать библиотеку SevenZipSharp?

Зачем?
Автор: KerberX
Дата сообщения: 18.09.2014 20:45
Ищу способы создания и распаковки 7-Zip архивов с отображением прогресса.
Автор: Zloy_Gelud
Дата сообщения: 20.09.2014 10:35
dallas page -- если использовать WebDAV, то код будет приблизительно таким (нужны LuaCom и MemoryEx):

Код: Crypto.Base64Encode = function (sData)
local sEnc
local Crypt32 = Library.Load('Crypt32.dll');

local pbBinary = MemoryEx.Allocate(sData:len());
MemoryEx.LString(pbBinary, MemoryEx.Size(pbBinary), sData);

local pcchString = MemoryEx.Allocate(4);

local nRet = Crypt32.CryptBinaryToStringA(pbBinary, MemoryEx.Size(pbBinary), 1, 0, pcchString);
if (nRet ~= 0) then
local pszString = MemoryEx.Allocate(MemoryEx.DWORD(pcchString));
nRet = Crypt32.CryptBinaryToStringA(pbBinary, MemoryEx.Size(pbBinary), 1, pszString, pcchString);
if (nRet ~= 0) then
sEnc = MemoryEx.String(pszString, -1, MEMEX_ASCII);
end
MemoryEx.Free(pszString);
end

MemoryEx.Free(pcchString);
MemoryEx.Free(pbBinary);

return sEnc or '';
end

local sFilePath = _SystemFolder.."\\calc.exe";

local hFile = io.open(sFilePath, "rb");
local sBinary = hFile:read("*all");
hFile:close();
--***********************************************************************************************************
local tPaths = String.SplitPath(sFilePath);
local sURL = 'https://webdav.yandex.ru/'..tPaths.Filename..tPaths.Extension;
local sLogin = 'login';
local sPass = 'pass';
local sToken = Crypto.Base64Encode(sLogin .. ":" .. sPass);

local sUserAgent = 'Mozilla/5.0 (Windows NT 6.1; rv:35.0) Gecko/20100101 Firefox/35.0';
--***********************************************************************************************************
local sEtag = Crypto.MD5DigestFromFile(sFilePath);
-- SHA-256 посчитан вручную. Нужен скрипт для автоматического подсчета
local sSha256 = '80C10EE5F21F92F89CBC293A59D2FD4C01C7958AACAD15642558DB700943FA22';
local nLen = sBinary:len();
--***********************************************************************************************************
local oHTTP = luacom.CreateObject("WinHttp.WinHttpRequest.5.1");
oHTTP:Open("PUT", sURL, 0);
oHTTP:SetRequestHeader("Host", "webdav.yandex.ru");
oHTTP:SetRequestHeader("Accept", "*/*");
oHTTP:SetRequestHeader("Authorization", "Basic " .. sToken);
oHTTP:SetRequestHeader("User-Agent", sUserAgent);
oHTTP:SetRequestHeader("Etag", sEtag);
oHTTP:SetRequestHeader("Sha256", sSha256);
oHTTP:SetRequestHeader("Expect","100-continue");
oHTTP:SetRequestHeader("Content-Type", "application/binary");
oHTTP:SetRequestHeader("Content-Length", nLen);

oHTTP:Send(sBinary);
oHTTP = nil;
Dialog.Message("", oHTTP.StatusText .. ": " .. oHTTP.Status..": "..sBinary:len(), MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
Автор: dallas page
Дата сообщения: 20.09.2014 12:17
Zloy_Gelud спасибо. Права доступа на диске настроены на полный доступ (restapi и webdav). По пробовал зарегистрировать приложение и получил токен a04059f0848b4585828ce869000a9522. Вообще яндекс рекомендует использовать restapi и даже полигон придумали. Zloy_Gelud было бы здорово если бы у вас появилось настроение в будущем .

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980

Предыдущая тема: память не может быть written


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.