есть такой вариант (del /f /s /q C:\*111.exe)
» Indigo Rose AutoPlay Media Studio
Grasss
Bat файлы могут принимать аргументы при запуске. Вот: http://www.windowsfaq.ru/content/view/264/57/
Дальше сам.
Bat файлы могут принимать аргументы при запуске. Вот: http://www.windowsfaq.ru/content/view/264/57/
Дальше сам.
Вроде оно.
KerberX
Цитата:
В каком смысле? Прислать тебе скрин с галкой на винапи в настройках? или что?
Впрочем, уже не так важно...я немного ошибся ...на самом деле мне нужно изменить не допустимое количество символов во всём инпуте, а максимальное количество символов без переноса (\r\n\) Сейчас максимум это 1024 символа. Это можно исправить?
Цитата:
Цитата:
винапи установлен
Я должен это заскринить.
В каком смысле? Прислать тебе скрин с галкой на винапи в настройках? или что?
Впрочем, уже не так важно...я немного ошибся ...на самом деле мне нужно изменить не допустимое количество символов во всём инпуте, а максимальное количество символов без переноса (\r\n\) Сейчас максимум это 1024 символа. Это можно исправить?
Цитата:
В каком смысле? Прислать тебе скрин с галкой на винапи в настройках? или что?
Те функции не используют плагин WinAPI, а фраза что WinAPI установлен выглядела так, как будто установлен сам WinAPI, а это часть Windows.
Цитата:
Впрочем, уже не так важно...я немного ошибся ...на самом деле мне нужно изменить не допустимое количество символов во всём инпуте, а максимальное количество символов без переноса (\r\n\) Сейчас максимум это 1024 символа. Это можно исправить?
Не знаю. В первый раз вижу такое ограничение. Сейчас пролистал MSDN, но ничего по этому поводу не нашёл.
Цитата:
Не знаю. В первый раз вижу такое ограничение. Сейчас пролистал MSDN, но ничего по этому поводу не нашёл.
не надо читать, ну вот попробуй держать в инпуте нажатой какую нибудь букву. Как только количество этих букв перевалит за 1024, следующий (1025-й) символ будет печататься с новой строки. У меня так. Проверял на чистом новом проекте. Точно так же происходит в стандартном блокноте.
Хочу сделать в приложении форму (имя/email) и связать ее с сайтом
Pahuchiy1
Это никак не решается для контрола Edit (который и есть Input в AMS). Вот: http://stackoverflow.com/questions/3738889/textbox-control-limits-lines-to-1024-characters-regardless-of-wordwrap-setting
Там предлагается использовать RichEdit и я согласен с этим ответом. Аналог в AMS - объект RichText.
Это никак не решается для контрола Edit (который и есть Input в AMS). Вот: http://stackoverflow.com/questions/3738889/textbox-control-limits-lines-to-1024-characters-regardless-of-wordwrap-setting
Там предлагается использовать RichEdit и я согласен с этим ответом. Аналог в AMS - объект RichText.
Как это можно реализовать без встраивания веб обьекта?
Недавно пришла идея попытаться загрузить Action плагин (.lmd) в чистый Lua. Написал для этого DLL. Но плагин не загружается. Я начинаю думать что там недостаточно просто вызвать функцию регистрации. Может кто уже интересовался этим вопросом.
Ошибка загрузки.
Код: Lua.exe: attempt to index a nil value
stack traceback:
[C]: in function 'LoadActionPlugin'
Loader.lua:39: in function 'Main'
Loader.lua:42: in main chunk
[C]: ?
Ошибка загрузки.
Код: Lua.exe: attempt to index a nil value
stack traceback:
[C]: in function 'LoadActionPlugin'
Loader.lua:39: in function 'Main'
Loader.lua:42: in main chunk
[C]: ?
Подскажите пожалуйста функцию callback на File.Find , нужен только прогресс...
То есть, найденные файлы заполняются в combobox (реализовано),
а пока ждем выводится прогресс состояния...
То есть, найденные файлы заполняются в combobox (реализовано),
а пока ждем выводится прогресс состояния...
Помогите, не работает код:
Цитата:
sourсeRUS ничего не возвращает. Как мне достать исх код странички с русскими буквами?
Цитата:
sourсe =HTTP.SubmitSecure("https://pogoda.yandex.ru/astrahan/", {}, SUBMITWEB_GET, 20, 443, nil, nil)
sourсeRUS = Encoding.ConvertString(sourсe, "", "windows-1251")
sourсeRUS ничего не возвращает. Как мне достать исх код странички с русскими буквами?
AntiWinLockerLive
Функция File.Find() не поддерживает Callback с индикатором (Не предоставляет соответствующие данные). Но могу предложить функции для установки неопределённого состояния полосы прогресса. Требуется MemoryEx.
[more]
Код: function Progress.SetStyle(ObjectName)
local GWL_STYLE = -16;
--
local WS_CHILD = 0x40000000;
local WS_VISIBLE = 0x10000000;
--
local tData = Progress.GetProperties(ObjectName);
if tData ~= nil then
local hWnd = tData.WindowHandle;
--
local nStyle = WS_CHILD + WS_VISIBLE;
local hDLL = Library.Load("User32.dll", false);
hDLL.SetWindowLongA(hWnd, GWL_STYLE, nStyle)
hDLL:Close_();
--
local tSize = Progress.GetSize(ObjectName);
Progress.SetSize(ObjectName, tSize.Width, tSize.Height+1);
Progress.SetSize(ObjectName, tSize.Width, tSize.Height);
end
end
function Progress.SetIndeterminateStyle(ObjectName)
local GWL_STYLE = -16;
--
local PBS_MARQUEE = 0x00000008;
--
local tData = Progress.GetProperties(ObjectName);
if tData ~= nil then
local hWnd = tData.WindowHandle;
local hDLL = Library.Load("User32.dll", false);
--
local iOldLong = hDLL.GetWindowLongA(hWnd, GWL_STYLE);
hDLL.SetWindowLongA(hWnd, GWL_STYLE, iOldLong+PBS_MARQUEE);
hDLL:Close_();
--
local tSize = Progress.GetSize(ObjectName);
Progress.SetSize(ObjectName, tSize.Width, tSize.Height+1);
Progress.SetSize(ObjectName, tSize.Width, tSize.Height);
end
end
function Progress.SetMarquee(ObjectName, bFlag, nTimeout)
local nTimeout = nTimeout or 0;
local WM_USER = 0x0400;
local PBM_SETMARQUEE = WM_USER+10;
--
local tData = Progress.GetProperties(ObjectName);
if tData ~= nil then
local hWnd = tData.WindowHandle;
local hDLL = Library.Load("User32.dll", false);
--
local nFalg = 0;
if bFlag == true then
nFlag = 1;
end
hDLL.SendMessageA(hWnd, PBM_SETMARQUEE, nFlag, nTimeout);
hDLL:Close_();
--
local tSize = Progress.GetSize(ObjectName);
Progress.SetSize(ObjectName, tSize.Width, tSize.Height+1);
Progress.SetSize(ObjectName, tSize.Width, tSize.Height);
end
end
function Progress.SetNormalStyle(ObjectName)
local tData = Progress.GetProperties(ObjectName);
if tData ~= nil then
local hWnd = tData.WindowHandle;
local hDLL = Library.Load("User32.dll", false);
local GWL_STYLE = -16;
local WS_CHILDWINDOW = 0x40000000;
local WS_VISIBLE = 0x10000000;
--
hDLL.SetWindowLongA(hWnd, GWL_STYLE, WS_CHILDWINDOW+WS_VISIBLE);
hDLL:Close_();
end
end
Функция File.Find() не поддерживает Callback с индикатором (Не предоставляет соответствующие данные). Но могу предложить функции для установки неопределённого состояния полосы прогресса. Требуется MemoryEx.
[more]
Код: function Progress.SetStyle(ObjectName)
local GWL_STYLE = -16;
--
local WS_CHILD = 0x40000000;
local WS_VISIBLE = 0x10000000;
--
local tData = Progress.GetProperties(ObjectName);
if tData ~= nil then
local hWnd = tData.WindowHandle;
--
local nStyle = WS_CHILD + WS_VISIBLE;
local hDLL = Library.Load("User32.dll", false);
hDLL.SetWindowLongA(hWnd, GWL_STYLE, nStyle)
hDLL:Close_();
--
local tSize = Progress.GetSize(ObjectName);
Progress.SetSize(ObjectName, tSize.Width, tSize.Height+1);
Progress.SetSize(ObjectName, tSize.Width, tSize.Height);
end
end
function Progress.SetIndeterminateStyle(ObjectName)
local GWL_STYLE = -16;
--
local PBS_MARQUEE = 0x00000008;
--
local tData = Progress.GetProperties(ObjectName);
if tData ~= nil then
local hWnd = tData.WindowHandle;
local hDLL = Library.Load("User32.dll", false);
--
local iOldLong = hDLL.GetWindowLongA(hWnd, GWL_STYLE);
hDLL.SetWindowLongA(hWnd, GWL_STYLE, iOldLong+PBS_MARQUEE);
hDLL:Close_();
--
local tSize = Progress.GetSize(ObjectName);
Progress.SetSize(ObjectName, tSize.Width, tSize.Height+1);
Progress.SetSize(ObjectName, tSize.Width, tSize.Height);
end
end
function Progress.SetMarquee(ObjectName, bFlag, nTimeout)
local nTimeout = nTimeout or 0;
local WM_USER = 0x0400;
local PBM_SETMARQUEE = WM_USER+10;
--
local tData = Progress.GetProperties(ObjectName);
if tData ~= nil then
local hWnd = tData.WindowHandle;
local hDLL = Library.Load("User32.dll", false);
--
local nFalg = 0;
if bFlag == true then
nFlag = 1;
end
hDLL.SendMessageA(hWnd, PBM_SETMARQUEE, nFlag, nTimeout);
hDLL:Close_();
--
local tSize = Progress.GetSize(ObjectName);
Progress.SetSize(ObjectName, tSize.Width, tSize.Height+1);
Progress.SetSize(ObjectName, tSize.Width, tSize.Height);
end
end
function Progress.SetNormalStyle(ObjectName)
local tData = Progress.GetProperties(ObjectName);
if tData ~= nil then
local hWnd = tData.WindowHandle;
local hDLL = Library.Load("User32.dll", false);
local GWL_STYLE = -16;
local WS_CHILDWINDOW = 0x40000000;
local WS_VISIBLE = 0x10000000;
--
hDLL.SetWindowLongA(hWnd, GWL_STYLE, WS_CHILDWINDOW+WS_VISIBLE);
hDLL:Close_();
end
end
KerberX, ну в принципе точный прогресс и не нужен, лишь бы отобразить что программа занята поиском файлов...
AntiWinLockerLive
Ну если так, то может быть подойдёт и имеющаяся Callback функция.
Код: local function CallbackFind(sCurrentPath)
Label.SetText("Label1", sCurrentPath);
end
Ну если так, то может быть подойдёт и имеющаяся Callback функция.
Код: local function CallbackFind(sCurrentPath)
Label.SetText("Label1", sCurrentPath);
end
KerberX, что то я не понял, как её вызывать...
Наверное в справке есть... Что то я там видел...
Наверное в справке есть... Что то я там видел...
AntiWinLockerLive
Вот так.
Код: local tFiles = File.Find( _SourceFolder, "*", true, false, CallbackFind, nil);
Вот так.
Код: local tFiles = File.Find( _SourceFolder, "*", true, false, CallbackFind, nil);
KerberX
пробовал utf-8, других не знаю. а как узнать какая кодировка?
пробовал utf-8, других не знаю. а как узнать какая кодировка?
KerberX
utf-8 стоит....как я и указывал...что-же не так?
utf-8 стоит....как я и указывал...что-же не так?
Pahuchiy1
Не знаю. Этот плагин иногда просто не работает без какой-либо причины. Не знаю подойдёт ли тебе это, но можешь позаимствовать функцию перекодировки отсюда: http://mydc.ru/topic334.html (как раз самое первое сообщение).
Не знаю. Этот плагин иногда просто не работает без какой-либо причины. Не знаю подойдёт ли тебе это, но можешь позаимствовать функцию перекодировки отсюда: http://mydc.ru/topic334.html (как раз самое первое сообщение).
KerberXоказывается это инпут не правильно выводит текст. Потому что если
Цитата:
Вобщем, надо с инпутом бороться...подскажешь?
Цитата:
sourсe =HTTP.SubmitSecure("https://pogoda.yandex.ru/astrahan/", {}, SUBMITWEB_GET, 20, 443, nil, nil)записать в файл, то всё в порядке.
Вобщем, надо с инпутом бороться...подскажешь?
Pahuchiy1
Как именно он неправильно его выводит?
Как именно он неправильно его выводит?
Pahuchiy1
Убрал бы этот текст в теги [no][more][/more][/no]. А то вся страница разъехалась. Тут видно что текст не в той кодировке. Он в UTF-8, а должен быть в Windows-1251. Input и другие контролы в AMS не поддерживают UTF-8.
Убрал бы этот текст в теги [no][more][/more][/no]. А то вся страница разъехалась. Тут видно что текст не в той кодировке. Он в UTF-8, а должен быть в Windows-1251. Input и другие контролы в AMS не поддерживают UTF-8.
KerberX
всё уже перепробовал, никак не получается даже со сторонними консольными прогами перекодировать файл из utf-8 в windows-1251, может поможешь?
вот к примеру, пробовал:
Цитата:
а тот код, ссылку на который ты дал работает так же как и Encoding.ConvertString. То что может сконвертить код, конвертит и плаг, и наоборот.
всё уже перепробовал, никак не получается даже со сторонними консольными прогами перекодировать файл из utf-8 в windows-1251, может поможешь?
вот к примеру, пробовал:
Цитата:
File.Run("D:\\ams_projects\\tray_menu_6\\CD_Root\\AutoPlay\\Docs\\_distr\\bin\\iconv.exe", [[ -f utf-8 -t windows-1251 d:\1.txt]], "", SW_SHOWNORMAL, true)
а тот код, ссылку на который ты дал работает так же как и Encoding.ConvertString. То что может сконвертить код, конвертит и плаг, и наоборот.
Pahuchiy1
Нашёл одну библиотеку, написанную tavria2. Копируешь этот код в глобальные функции.
Код: if not ConvertString then
ConvertString = {};
end
ConvertString.Path = _SourceFolder.."\\AutoPlay\\Scripts\\ConvertString.dll";
--
function ConvertString.Convert(sString, iSourceEncoding, iOutEncoding)
local hDLL = Library.Load(ConvertString.Path);
hDLL:SetReturnType_(MEMEX_RETURNTYPE_STRING);
local sRet = hDLL.Convert(sString, iSourceEncoding, iOutEncoding);
hDLL:Close_();
--
return sRet;
end
--
function ConvertString.Win1251ToUTF8(sString)
return ConvertString.Convert(sString, 1251, 65001);
end
function ConvertString.UTF8ToWin1251(sString)
return ConvertString.Convert(sString, 65001, 1251);
end
--
function ConvertString.FixUTF8(s, replacement)
local p, len, invalid = 1, #s, {}
while p <= len do
if p == s:find("[%z\1-\127]", p) then p = p + 1
elseif p == s:find("[\194-\223][\128-\191]", p) then p = p + 2
elseif p == s:find( "\224[\160-\191][\128-\191]", p)
or p == s:find("[\225-\236][\128-\191][\128-\191]", p)
or p == s:find( "\237[\128-\159][\128-\191]", p)
or p == s:find("[\238-\239][\128-\191][\128-\191]", p) then p = p + 3
elseif p == s:find( "\240[\144-\191][\128-\191][\128-\191]", p)
or p == s:find("[\241-\243][\128-\191][\128-\191][\128-\191]", p)
or p == s:find( "\244[\128-\143][\128-\191][\128-\191]", p) then p = p + 4
else
s = s:sub(1, p-1)..replacement..s:sub(p+1)
table.insert(invalid, p)
end
end
return s, invalid
end
Нашёл одну библиотеку, написанную tavria2. Копируешь этот код в глобальные функции.
Код: if not ConvertString then
ConvertString = {};
end
ConvertString.Path = _SourceFolder.."\\AutoPlay\\Scripts\\ConvertString.dll";
--
function ConvertString.Convert(sString, iSourceEncoding, iOutEncoding)
local hDLL = Library.Load(ConvertString.Path);
hDLL:SetReturnType_(MEMEX_RETURNTYPE_STRING);
local sRet = hDLL.Convert(sString, iSourceEncoding, iOutEncoding);
hDLL:Close_();
--
return sRet;
end
--
function ConvertString.Win1251ToUTF8(sString)
return ConvertString.Convert(sString, 1251, 65001);
end
function ConvertString.UTF8ToWin1251(sString)
return ConvertString.Convert(sString, 65001, 1251);
end
--
function ConvertString.FixUTF8(s, replacement)
local p, len, invalid = 1, #s, {}
while p <= len do
if p == s:find("[%z\1-\127]", p) then p = p + 1
elseif p == s:find("[\194-\223][\128-\191]", p) then p = p + 2
elseif p == s:find( "\224[\160-\191][\128-\191]", p)
or p == s:find("[\225-\236][\128-\191][\128-\191]", p)
or p == s:find( "\237[\128-\159][\128-\191]", p)
or p == s:find("[\238-\239][\128-\191][\128-\191]", p) then p = p + 3
elseif p == s:find( "\240[\144-\191][\128-\191][\128-\191]", p)
or p == s:find("[\241-\243][\128-\191][\128-\191][\128-\191]", p)
or p == s:find( "\244[\128-\143][\128-\191][\128-\191]", p) then p = p + 4
else
s = s:sub(1, p-1)..replacement..s:sub(p+1)
table.insert(invalid, p)
end
end
return s, invalid
end
ну наконец-то!!! спасибо!,
всё равно некоторые символы не распознаются...например, минус, пробел....печалька
Pahuchiy1
Некоторых символов просто нет в Windows-1251. Преобразование из UTF8 в Win-1251 почти всегда будет вести к потере данных. Можешь попробовать это.
Код: ConvertString.FixUTF8(ConvertString.UTF8ToWin1251(sUTF8), " ");
Некоторых символов просто нет в Windows-1251. Преобразование из UTF8 в Win-1251 почти всегда будет вести к потере данных. Можешь попробовать это.
Код: ConvertString.FixUTF8(ConvertString.UTF8ToWin1251(sUTF8), " ");
Хочу добавить в приложение пару вкладок: <<написать автору>>, <<сообщить о проблеме>> и реализовать возможность отправки электронного сообщения автору на email. Что можете предложить?
Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
Предыдущая тема: память не может быть written
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.