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

» Autoplay Media Studio

Автор: Rezchik123
Дата сообщения: 06.04.2012 21:40
Хорошо это я понял .Ты поржал и доволен !
тогда объясни какой функцией надо воспользоваться чтобы из папки с фотографиями выдернуть названия фотографий?
И подставить их ComboBox
Автор: ubian
Дата сообщения: 06.04.2012 21:47
Rezchik123
В смысле отдельно каждого файла?
Смотри на прошлой странице мою функцию String.Match();
Далее указываем папку (где ищем):

Код:
sFolder = _SourceFolder.."\\Images";
Автор: Rezchik123
Дата сообщения: 06.04.2012 21:52
Спасибо !!! Щас попробую!
Автор: Unique_nickname
Дата сообщения: 06.04.2012 23:15
ubian

Цитата:
Смотри на прошлой странице мою функцию String.Match();
Далее указываем папку (где ищем):


Вообще-то


Цитата:
File.Find (
string Folder,
string Filename,
boolean Recurse = false,
boolean IncludeFolders = false,
function CallbackFunction = nil,
function FileFoundCallbackFunction = nil )


Второй параметр - "*.jpg", а твой ...Match - лишний костыль. Все есть в родной функции.

Вечное "учи матчасть, прежде чем учить других". Ничего не меняется...
Автор: ubian
Дата сообщения: 06.04.2012 23:44
Unique_nickname
Мой Match как замена ориганала, потому что мне оригинал стал nil возвращать (даже на старом проекте, где работало...)
Мой вариант работает и все... Если не нравится - напиши свой.
Автор: Unique_nickname
Дата сообщения: 07.04.2012 00:35
ubian
"свой" давно написан производителем, Indigo Rose. У всех работает.

Что они делают не так?(с)

Плюс в твоем примере, как всегда, ошибки - неверно указан список (и число) параметров функции File.Find
Автор: Stalkersof
Дата сообщения: 07.04.2012 10:02
параметры функции File.Find
В примерах справки эта функция используется как с 4 так и с 6 параметрами.
А вот например Dialog.Message
В примерах справки используется 2,4,5 параметров.
Думаю за нас все продумали в ИР.
Автор: Rezchik123
Дата сообщения: 07.04.2012 10:27
Здравствуйте !!!
Как проверить Input на определенные символы?
Автор: Zloy_Gelud
Дата сообщения: 07.04.2012 10:33
Rezchik123

String.Find
String.Asc
Автор: Rezchik123
Дата сообщения: 07.04.2012 10:53
Спасибо!!!


Добавлено:
Почему при использовании SMTP.V14 текст сообщения приходит кракозябрами тема и остальные пункты нормально ?
Автор: ubian
Дата сообщения: 07.04.2012 15:04
Rezchik123
Кодировка - Луа вроде в utf8 не дружит
Автор: Unique_nickname
Дата сообщения: 07.04.2012 17:23
Stalkersof
вот именно, что "Тефаль всегда думает за вас".

Матчасть: опустить можно любое количество параметров, но при одном условии: если для них заданы умолчания в описании функции.

Смотрим еще раз внимательно, пытаемся напрячь одноклеточный межушный ганглий:

Цитата:
File.Find (
string Folder,
string Filename,
boolean Recurse = false,
boolean IncludeFolders = false,
function CallbackFunction = nil,
function FileFoundCallbackFunction = nil )


По достижении просветления (на что в Вашем случае я уже не надеюсь) видим, что File.Find можно запустить всего... с двумя параметрами, причем оба они - обязательные. И само собой - с 3, 4, 5 и 6.

Первый обязательный - папка поиска.
Второй обязательный - маска файла, которую петагуру ubian не считает нужным указать, предпочитая жаловаться, что поиск по маске не работает.

А зубрить количество параметров, встречающееся в справке, как это делаете вы, петамаэстро Stalkersof, вообще является отборным идиотизмом.

Учите уже букварь, прекращайте плодить глупости и смешить людей.
Автор: Rezchik123
Дата сообщения: 07.04.2012 17:31
могет как можно исхитриться с кодировкой

Добавлено:
Да Ubian не подскажешь?
Имена файлов из папки с фотографиями я вот думаю таким образом извлечь как думаешь пойдет?

filename = String.Mid(tblFile[1], String.ReverseFind(tblFile[1], "\\") + 1, -1);
result = String.TrimRight(filename,".jpg");

больше ничего не придумал может кто что еще посоветует?
Автор: Unique_nickname
Дата сообщения: 07.04.2012 17:54
Rezchik123
нашли у кого спрашивать... чел базовых знаний толком не имеет.

String.SplitPath(pics_path).Filename, все давным-давно придумано.
Автор: ubian
Дата сообщения: 07.04.2012 17:55

Цитата:
которую петагуру ubian не считает нужным указать, предпочитая жаловаться, что поиск по маске не работает.

Действительно, не увидел... Ты мог бы просто сказать где ошибка
Исправил
Rezchik123
Мой способ вроде должен работать.... Только функцию String.Match в Global Functions добавить.
[more=Функции для работы с кодировками]
Код: local ansi_decode={
[128]='\208\130',[129]='\208\131',[130]='\226\128\154',[131]='\209\147',[132]='\226\128\158',[133]='\226\128\166',
[134]='\226\128\160',[135]='\226\128\161',[136]='\226\130\172',[137]='\226\128\176',[138]='\208\137',[139]='\226\128\185',
[140]='\208\138',[141]='\208\140',[142]='\208\139',[143]='\208\143',[144]='\209\146',[145]='\226\128\152',
[146]='\226\128\153',[147]='\226\128\156',[148]='\226\128\157',[149]='\226\128\162',[150]='\226\128\147',[151]='\226\128\148',
[152]='\194\152',[153]='\226\132\162',[154]='\209\153',[155]='\226\128\186',[156]='\209\154',[157]='\209\156',
[158]='\209\155',[159]='\209\159',[160]='\194\160',[161]='\209\142',[162]='\209\158',[163]='\208\136',
[164]='\194\164',[165]='\210\144',[166]='\194\166',[167]='\194\167',[168]='\208\129',[169]='\194\169',
[170]='\208\132',[171]='\194\171',[172]='\194\172',[173]='\194\173',[174]='\194\174',[175]='\208\135',
[176]='\194\176',[177]='\194\177',[178]='\208\134',[179]='\209\150',[180]='\210\145',[181]='\194\181',
[182]='\194\182',[183]='\194\183',[184]='\209\145',[185]='\226\132\150',[186]='\209\148',[187]='\194\187',
[188]='\209\152',[189]='\208\133',[190]='\209\149',[191]='\209\151'
}
local utf8_decode={
[128]={[147]='\150',[148]='\151',[152]='\145',[153]='\146',[154]='\130',[156]='\147',[157]='\148',[158]='\132',[160]='\134',[161]='\135',[162]='\149',[166]='\133',[176]='\137',[185]='\139',[186]='\155'},
[130]={[172]='\136'},
[132]={[150]='\185',[162]='\153'},
[194]={[152]='\152',[160]='\160',[164]='\164',[166]='\166',[167]='\167',[169]='\169',[171]='\171',[172]='\172',[173]='\173',[174]='\174',[176]='\176',[177]='\177',[181]='\181',[182]='\182',[183]='\183',[187]='\187'},
[208]={[129]='\168',[130]='\128',[131]='\129',[132]='\170',[133]='\189',[134]='\178',[135]='\175',[136]='\163',[137]='\138',[138]='\140',[139]='\142',[140]='\141',[143]='\143',[144]='\192',[145]='\193',[146]='\194',[147]='\195',[148]='\196',
[149]='\197',[150]='\198',[151]='\199',[152]='\200',[153]='\201',[154]='\202',[155]='\203',[156]='\204',[157]='\205',[158]='\206',[159]='\207',[160]='\208',[161]='\209',[162]='\210',[163]='\211',[164]='\212',[165]='\213',[166]='\214',
[167]='\215',[168]='\216',[169]='\217',[170]='\218',[171]='\219',[172]='\220',[173]='\221',[174]='\222',[175]='\223',[176]='\224',[177]='\225',[178]='\226',[179]='\227',[180]='\228',[181]='\229',[182]='\230',[183]='\231',[184]='\232',
[185]='\233',[186]='\234',[187]='\235',[188]='\236',[189]='\237',[190]='\238',[191]='\239'},
[209]={[128]='\240',[129]='\241',[130]='\242',[131]='\243',[132]='\244',[133]='\245',[134]='\246',[135]='\247',[136]='\248',[137]='\249',[138]='\250',[139]='\251',[140]='\252',[141]='\253',[142]='\254',[143]='\255',[144]='\161',[145]='\184',
[146]='\144',[147]='\131',[148]='\186',[149]='\190',[150]='\179',[151]='\191',[152]='\188',[153]='\154',[154]='\156',[155]='\158',[156]='\157',[158]='\162',[159]='\159'},[210]={[144]='\165',[145]='\180'}
}

local nmdc = {
[36] = '$',
[124] = '|'
}
function AnsiToUtf8(s)
local r, b = ''
for i = 1, s and s:len() or 0 do
b = s:byte(i)
if b < 128 then
r = r..String.Char(b)
else
if b > 239 then
r = r..'\209'..String.Char(b - 112)
elseif b > 191 then
r = r..'\208'..String.Char(b - 48)
elseif ansi_decode[b] then
r = r..ansi_decode[b]
else
r = r..'_'
end
end
end
return r
end
---------------------------------
function Utf8ToAnsi(s)
local a, j, r, b = 0, 0, ''
for i = 1, s and s:len() or 0 do
b = s:byte(i)
if b < 128 then
if nmdc[b] then
r = r..nmdc[b]
else
r = r..string.char(b)
end
elseif a == 2 then
a, j = a - 1, b
elseif a == 1 then
a, r = a - 1, r..utf8_decode[j][b]
elseif b == 226 then
a = 2
elseif b == 194 or b == 208 or b == 209 or b == 210 then
j, a = b, 1
else
r = r..'_'
end
end
return r;
end
---------------------------------------------------
---------------------------------------------------
---------------------------------------------------
Автор: Rezchik123
Дата сообщения: 07.04.2012 18:05
Unique_nickname

Ну вот а я голову ломал?

Спасибо !!! Вследующий раз буду внимательней !

Автор: Unique_nickname
Дата сообщения: 07.04.2012 19:29
ubian

Цитата:
Ты мог бы просто сказать где ошибка

именно это я и сделал.

К сожалению, тебя больше волнует выложить очередную "моя функция Match", чем разобраться в своих же огрехах, и поэтому одна и та же ситуация повторяется регулярно.

Rezchik123
AMS написана для очень широкого круга пользователей, в т.ч. далеких от программирования (презентацию или простенький инсталлятор в ней можно накидать так же легко, как презентацию PowerPoint).
С другой стороны, проработано очень много сервисных функций; сам не раз удивлялся "надо же, и это включили".

Не стесняйтесь заглядывать в справку, пользоваться мастерами (Ctrl+Пробел во время набора текста; двойной щелчок в набранное название функции) - и будет щастье.
collagen делает очень хорошее дело по русификации справки (на предыдущих страницах есть ссылки), плюс добавляет свои разделы. Советую внимательно прочитать.
Автор: Stalkersof
Дата сообщения: 07.04.2012 20:20
Unique_nickname так какое утверждение правильное.

Цитата:
Плюс в твоем примере, как всегда, ошибки - неверно указан список (и число) параметров функции File.Find


Цитата:
опустить можно любое количество параметров


Автор: Rezchik123
Дата сообщения: 07.04.2012 20:48
Unique_nickname
Я согласен что программа в принципе очень простая !
Но я например с английским очень плохо и пользуюсь переводчиком промт а он не всегда может адекватно перевести текст поэтому я блуждаю в догадках что то легко и понятно а что то мутно вот поэтому и приходится атаковать форум !!!
Прошу прощения за назойливость.

Да collagen очень большое спасибо !!! я скачал его справку и пользуюсь ей !!!
Автор: tavria2
Дата сообщения: 07.04.2012 21:02
ubian

Цитата:
[more=Функции для работы с кодировками]
Код: local ansi_decode={
[128]='\208\130',[129]='\208\131',[130]='\226\128\154',[131]='\209\147',[132]='\226\128\158',[133]='\226\128\166',
[134]='\226\128\160',[135]='\226\128\161',[136]='\226\130\172',[137]='\226\128\176',[138]='\208\137',[139]='\226\128\185',
[140]='\208\138',[141]='\208\140',[142]='\208\139',[143]='\208\143',[144]='\209\146',[145]='\226\128\152',
[146]='\226\128\153',[147]='\226\128\156',[148]='\226\128\157',[149]='\226\128\162',[150]='\226\128\147',[151]='\226\128\148',
[152]='\194\152',[153]='\226\132\162',[154]='\209\153',[155]='\226\128\186',[156]='\209\154',[157]='\209\156',
[158]='\209\155',[159]='\209\159',[160]='\194\160',[161]='\209\142',[162]='\209\158',[163]='\208\136',
[164]='\194\164',[165]='\210\144',[166]='\194\166',[167]='\194\167',[168]='\208\129',[169]='\194\169',
[170]='\208\132',[171]='\194\171',[172]='\194\172',[173]='\194\173',[174]='\194\174',[175]='\208\135',
[176]='\194\176',[177]='\194\177',[178]='\208\134',[179]='\209\150',[180]='\210\145',[181]='\194\181',
[182]='\194\182',[183]='\194\183',[184]='\209\145',[185]='\226\132\150',[186]='\209\148',[187]='\194\187',
[188]='\209\152',[189]='\208\133',[190]='\209\149',[191]='\209\151'
}
local utf8_decode={
[128]={[147]='\150',[148]='\151',[152]='\145',[153]='\146',[154]='\130',[156]='\147',[157]='\148',[158]='\132',[160]='\134',[161]='\135',[162]='\149',[166]='\133',[176]='\137',[185]='\139',[186]='\155'},
[130]={[172]='\136'},
[132]={[150]='\185',[162]='\153'},
[194]={[152]='\152',[160]='\160',[164]='\164',[166]='\166',[167]='\167',[169]='\169',[171]='\171',[172]='\172',[173]='\173',[174]='\174',[176]='\176',[177]='\177',[181]='\181',[182]='\182',[183]='\183',[187]='\187'},
[208]={[129]='\168',[130]='\128',[131]='\129',[132]='\170',[133]='\189',[134]='\178',[135]='\175',[136]='\163',[137]='\138',[138]='\140',[139]='\142',[140]='\141',[143]='\143',[144]='\192',[145]='\193',[146]='\194',[147]='\195',[148]='\196',
[149]='\197',[150]='\198',[151]='\199',[152]='\200',[153]='\201',[154]='\202',[155]='\203',[156]='\204',[157]='\205',[158]='\206',[159]='\207',[160]='\208',[161]='\209',[162]='\210',[163]='\211',[164]='\212',[165]='\213',[166]='\214',
[167]='\215',[168]='\216',[169]='\217',[170]='\218',[171]='\219',[172]='\220',[173]='\221',[174]='\222',[175]='\223',[176]='\224',[177]='\225',[178]='\226',[179]='\227',[180]='\228',[181]='\229',[182]='\230',[183]='\231',[184]='\232',
[185]='\233',[186]='\234',[187]='\235',[188]='\236',[189]='\237',[190]='\238',[191]='\239'},
[209]={[128]='\240',[129]='\241',[130]='\242',[131]='\243',[132]='\244',[133]='\245',[134]='\246',[135]='\247',[136]='\248',[137]='\249',[138]='\250',[139]='\251',[140]='\252',[141]='\253',[142]='\254',[143]='\255',[144]='\161',[145]='\184',
[146]='\144',[147]='\131',[148]='\186',[149]='\190',[150]='\179',[151]='\191',[152]='\188',[153]='\154',[154]='\156',[155]='\158',[156]='\157',[158]='\162',[159]='\159'},[210]={[144]='\165',[145]='\180'}
}

local nmdc = {
[36] = '$',
[124] = '|'
}
function AnsiToUtf8(s)
local r, b = ''
for i = 1, s and s:len() or 0 do
b = s:byte(i)
if b < 128 then
r = r..String.Char(b)
else
if b > 239 then
r = r..'\209'..String.Char(b - 112)
elseif b > 191 then
r = r..'\208'..String.Char(b - 48)
elseif ansi_decode[b] then
r = r..ansi_decode[b]
else
r = r..'_'
end
end
end
return r
end
---------------------------------
function Utf8ToAnsi(s)
local a, j, r, b = 0, 0, ''
for i = 1, s and s:len() or 0 do
b = s:byte(i)
if b < 128 then
if nmdc[b] then
r = r..nmdc[b]
else
r = r..string.char(b)
end
elseif a == 2 then
a, j = a - 1, b
elseif a == 1 then
a, r = a - 1, r..utf8_decode[j][b]
elseif b == 226 then
a = 2
elseif b == 194 or b == 208 or b == 209 or b == 210 then
j, a = b, 1
else
r = r..'_'
end
end
return r;
end
---------------------------------------------------
---------------------------------------------------
---------------------------------------------------
[/more]
Ибо писалось всем назло для OLGC
Автор: Rezchik123
Дата сообщения: 07.04.2012 21:27
tavria2

Как его можно применить к моему случаю ибо меня эта страница очень испугала
Автор: tavria2
Дата сообщения: 07.04.2012 21:38
Rezchik123

Цитата:
Как его можно применить к моему случаю ибо меня эта страница очень испугала

Весь напугавший код копируешь в Global Functions
Вызываешь функции преобразования в нужном месте:

Код: sUtf8=AnsiToUtf8("Привет")
Dialog.Message("Строка в кодировке UTF8", sUtf8);

sAnsi=Utf8ToAnsi(sUtf8)
Dialog.Message("Строка в кодировке Ansi", sAnsi);
Автор: Rezchik123
Дата сообщения: 08.04.2012 06:34
tavria2
Как всегда спасибо за исчерпывающий ответ!!!
Автор: Unique_nickname
Дата сообщения: 08.04.2012 07:24
Stalkersof
когда перестанешь слепо зубрить примеры, и возьмешься за азы программирования, понимание придет.

И не выдергивай мои цитаты из смыслового контекста, это тебе не поможет.
У ubian был указан один обязательный параметр, и пропущен второй. Но зато вместо него перечислены все необязательные. Это по первой цитате.
По второй: если бы ты сначала дочитывал до конца, прежде чем бежать парировать, то увидел бы: дальше написано "при одном условии", которое следом же объясняется.

Сегодняшние слова для медитации - "обязательный" и "умолчания".

P.S.: ubian, вижу, переписал свое сообщение начисто. Только есть одна закавыка: твоя функция Match (кстати, [more=перегруженная лишним хламом]

String.Match = function (sTargetString, sOne, sTwo)
--Powered by Layan
local nFirst, nSecond, sReturn, sText;
nFirst = String.Find(sTargetString, sOne);
if (nFirst) and (nFirst>=0) then
nFirst = nFirst + String.Length(sOne);
end
nSecond = String.Find(sTargetString, sTwo);
if (nSecond) and (nSecond>=0) then
nSecond = nSecond - String.Length(sOne);
end
sText = String.Mid(sTargetString, 0, nFirst);
sReturn = String.Replace(sTargetString, sText, "", false);
sText = String.Mid(sReturn, nSecond, -1);
sReturn = String.Replace(sReturn, sText, "", false);
if (sReturn) and (sReturn~="") then
return sReturn;
else
return nil;
end
end

[/more]) - лишний костыль, о чем я уже писал.
Отдельный вопрос - что в "твоей" функции делает строка " --Powered by Layan"...

Отбор по ".jpg" сделан правильным вызовом File.Find, а извлечение имени файла делается через встроенную функцию String.SplitPath(foo).Filename
Автор: Stalkersof
Дата сообщения: 08.04.2012 08:26
Unique_nickname
Как всегда в своем репертуаре. Загнал такую историю. С погонями драками и оскорблениями. Просто миссия невыполнима. Мог сразу указать на ошибку без всей этой мыльной оперы. И давать ответы надо лаконично и четко. Тогда не будет трепа. А спасибку заслужил таврия

Тупо зубрить никогда не зубрил и зубрить не собираюсь это к твоему сведенью. Да и еще вспомнил как ты мне голову заморочил UACом так что сам азы учи.
Автор: Unique_nickname
Дата сообщения: 08.04.2012 08:50
Stalkersof
тебе снова нужен модератор, чтобы вернул тебя к рамкам поведения взрослого человека? Учить давать ответы будешь, когда сам чему-то научишься, кроме как раз школотрепа.

Ты действительно зубришь не понимая, и доказал это сам - когда написал, что параметров должно быть 4 или 6, как указано в справке.
Так же и с UAC: не знаешь элементарных вещей - не вали азы на других. "Учись, студент"(с)
Автор: Stalkersof
Дата сообщения: 08.04.2012 09:22
Unique_nickname
Ты мне нравишься все больше и больше. Я просто обожаю тебя. Надеюсь ты скоро подучишься и начнешь выкладывать свои примеры. А не искать ошибки в чужих с таким пафосным видом.

Ладно пока надоело базарить. Один хрен каждый останется при своем мнении.

Автор: ubian
Дата сообщения: 08.04.2012 14:43
tavria2
Писал не я, даже выкладывал ссылку откуда взял (ибо функции не первый раз уже выкладываю)

Добавлено:

Цитата:
У ubian был указан один обязательный параметр, и пропущен второй. Но зато вместо него перечислены все необязательные. Это по первой цитате.

Копировал с прошлого сообщения (кто там спрашивал). Я просто знал что она возвращает
Автор: tavria2
Дата сообщения: 08.04.2012 14:52
ubian

Цитата:
Писал не я, даже выкладывал ссылку откуда взял (ибо функции не первый раз уже выкладываю)
Тогда выражайся яснее, а так из твоего высказывания следует, что это ты написал всем назло для OLGC.
Автор: Rezchik123
Дата сообщения: 08.04.2012 18:19
Функция AnsiToUtf8(s) не помогла текст сообщения в плагине SMTP как приходил кракозябрами так и приходит ими. Единственное что если без использования этой функции
в программе The Bat показывается сообщение нормально если поставить функцию перекодировки в набор символов Cyrillik(KOI8-R).
Может будут еще какие нибудь идеи?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140

Предыдущая тема: Media Player Classic - Home Cinema (MPC-HC)


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