Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Indigo Rose AutoPlay Media Studio (часть 2)

Модерирует : gyra, Maz

Widok (30-01-2009 12:11): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AutoPlay Media Studio часть 2 (часть 1)


Параллельная тема в Варезнике - поиск и обсуждение дополнений и ритейл версий


Где почитать:

Для начала читаем статьи: тут раз или тут раз и два и три
Скриптовый язык LUA (англ) На русском здесь,  еще тут и  тут
Видео-уроки (анг)  
Видео-уроки на YouTube (англ)
Где поживиться:

Видео-уроки (Flash) от производителя (англ)
Тоже официальное видео (англ)
Бесплатные шаблоны (маски) для окон ваших приложений (англ)
"Подарки к Рождеству" на оффсайте (англ)
Плагин LuaCOM (англ)
Примеры для начинающих (англ)
Неплохие примеры, библиотеки (англ)
Еще примеры, один из самых активных юзеров на оффоруме (англ)
Плагины и библиотеки (не все free) (англ)
Еще плагины (англ)
Собрание уроков (иногда с русскими объяснениями)
Где найти ответы на вопросы:

Виды путей, используемых в AMS от GOOSE
Включение\отключение фоновой музыки кнопкой
Вывод HTML отчета с использованием SQLite плагина от IndigoRose
Выделение и копирование в буфер текста\части текста от GOOSE
Для тех, у кого русский проект с "кракозяблами"
Запуск WinRAR'a для распаковки архивов от Reineke
Запуск файлов из Web объекта
Запускаем экзешник по информации из реестра от Lexua
Пример бегущей строки (более красивый способ) от tavria2
Из окна в полноэкранный режим и обратно
Изменяем иконку приложения от Lexua
Изменяем курсор в приложении от GOOSE
Изменяем скроллинг ListBox-у от GOOSE
Используем таймер
Отправка данных из форм по e-mail от GOOSE
Перенос строки во всплывающей подсказке от GOOSE
Альтернативный перенос строки для текста (подходит и для *.ini) от Zloy_Gelud
Показ\скрытие объектов по действиям мыши
Полноэкранный режим для приложения
Последовательный запуск нескольких файлов
Проблема с путями при создании приложения .EXE и ресурсами на CD от Reineke
Проигрвывание MP3 из ListBox-а подряд от UMode
Простой пример бегущей строки от GOOSE
Работаем с запароленными архивами от GOOSE
Работаем с объектом дерева от GOOSE
Ряд вопросов и ответов по созданию меню для DVD от tavria2
Реализация Play-листов для Винампа от BOObastis
Таблица дисков системы от Lexua
Утилита для защиты авторанов
Шапка исправлена. Актуально на 20.08.2008 © NightW0lf

Разработчиков autorun'ов и графических дизайнеров приглашаем посетить проект шаблонов для Autoplay Media Studio:
http://ams-templates.com

 
Список выявленных проблем в AMS 7.0

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 23:07 03-09-2007 | Исправлено: Maz, 12:31 25-09-2017
sttmaster



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alfonser
 
Есть конечно сам задавал такой вопрос...только более конкретнее сформулируй откуда и куда....откуда ясно...куда именно...и если правильно понял копирование папки со всеми содержащимися в ней подпапками и файлами...

Всего записей: 669 | Зарегистр. 29-08-2007 | Отправлено: 14:52 12-11-2008 | Исправлено: sttmaster, 14:54 12-11-2008
alfonser



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
sttmaster

Цитата:
откуда ясно...куда именно...и если правильно понял копирование папки со всеми содержащимися в ней подпапками и файлами...

Да , полное копирование со всеми подпапками и файлами. На системный диск.  Допустим в C:\Program Files\. Потому,что как названы разделы у других неизвестно.  
 

Всего записей: 137 | Зарегистр. 01-03-2008 | Отправлено: 15:25 12-11-2008 | Исправлено: alfonser, 15:28 12-11-2008
Zloy_Gelud



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alfonser [исправлено]
Добавил проверку на ошибки.

Код:
--[[ Копирование папки вместе с ее содержимым]]
-- strSource - путь к папке, которую необходимо скопировать
-- strDestation - путь, куда необходимо скопировать папку
-- Возвращает 0, если скопировалась папка или код ошибки в противном случае

function Folder.Copy(strSource, strDestation)
    local strFolderName = String.Mid(strSource, String.ReverseFind(strSource, "\\", false), -1);
    local strDestation = strDestation.."\\"..strFolderName;
    if (not Folder.DoesExist(strDestation)) then
        Folder.Create(strDestation);
    end
    File.Copy(strSource.."\\*.*", strDestation.."\\", true, true, false, true, nil);
    nError = Application.GetLastError();
    return nError;
end
 
local nResult = Folder.Copy("C:\\Downloads", _ProgramFilesFolder.."\\MyProgram");
if (nResult == 0) then
    Dialog.Message("Notice", "SUCCESS.", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
else
    Dialog.Message("Error", _tblErrorMessages[nResult], MB_OK, MB_ICONEXCLAMATION);
end

Всего записей: 3273 | Зарегистр. 30-05-2007 | Отправлено: 19:22 12-11-2008 | Исправлено: Zloy_Gelud, 21:30 12-11-2008
alfonser



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Zloy_Gelud
Спасибо!
А для удаления этой папки тоже необходимо написать подобную функцию?

Всего записей: 137 | Зарегистр. 01-03-2008 | Отправлено: 21:23 12-11-2008
Zloy_Gelud



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alfonser
 

Цитата:
А для удаления этой папки тоже необходимо написать подобную функцию?

См. Folder.DeleteTree
 
Добавлено:
Еще немного поправил функу.

Всего записей: 3273 | Зарегистр. 30-05-2007 | Отправлено: 21:28 12-11-2008
alfonser



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Zloy_Gelud
Спасибо! Щас буду разбираться.

Всего записей: 137 | Зарегистр. 01-03-2008 | Отправлено: 21:43 12-11-2008
tavria2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lorents

Код:
function Callback(strSource, strDestination, nCopied, nTotal, nFileCopied, nFileTotal)  
    nPercent = Math.Round(nCopied / nTotal * 100, 0);  
    StatusDlg.SetMeterRange(0, 100);  
    StatusDlg.SetTitle("");  
    StatusDlg.SetMessage("Копирование");  
    StatusDlg.SetStatusText(strDestination);  
    StatusDlg.SetMeterPos(nPercent);  
    StatusDlg.ShowCancelButton(true, "Cancel");  
    if (StatusDlg.IsCancelled()) then  
        return false;  
    else  
        return true;  
    end  
end  
---------------------------------------------------
function SaveAs(strOutDir, strOutFileName)  
    strFileToCopy = "AutoPlay\\Videos\\data01.avi";  
    local strFiles = CommonDialogs.File(false, "Сохранить",strOutDir, "Видео файл (*.avi)|*.avi|", strOutFileName, "avi", false);  
    if (strFiles ~= "CANCEL") then  
        local tblFiles = WinApi.DelimitedStringToTable(strFiles, "|");  
        if (tblFiles) then  
            if (File.DoesExist(tblFiles[1])) then  
                local cBut = Dialog.Message("Сохранить как", tblFiles[1].."\r\nУже существует.\r\nЗаменить существующий файл?", MB_YESNO, MB_ICONQUESTION, MB_DEFBUTTON1);  
                if (cBut == 6) then  
                    strOutFile = tblFiles[1];  
                    StatusDlg.Show(MB_ICONNONE, false);  
                    File.Copy(strFileToCopy, tblFiles[1], true, true, false, true, Callback);  
                    StatusDlg.Hide();  
                else  
                    local strOutDir = String.SplitPath(tblFiles[1]).Drive..String.SplitPath(tblFiles[1]).Folder;  
                    local strOutFileName = String.SplitPath(tblFiles[1]).Filename
                    SaveAs(strOutDir, strOutFileName);    
                end  
            else  
                strOutFile = tblFiles[1];  
                StatusDlg.Show(MB_ICONNONE, false);  
                File.Copy(strFileToCopy, tblFiles[1], true, true, false, true, Callback);  
                StatusDlg.Hide();  
            end  
        end  
    end  
end  
---------------------------------------------------
local strOutDir = Shell.GetFolder(SHF_MYDOCUMENTS);  
local strOutFileName = "Глобальный передел";
SaveAs(strOutDir, strOutFileName);

Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 22:37 12-11-2008
lorents



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tavria2
СПАСИБО, просто выручил
 
Добавлено:
tavria2
еще одни вопрос
хотел сделать удаление копирующего файла если пользователь нажал на отмену копирования, но не пойму куда лучше вставить вот эту часть кода

Код:
if (StatusDlg.IsCancelled()) then  
File.Delete(tblFiles[1], false, false, false, nil);
return false;  
else  
return true;  
end

Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 23:00 12-11-2008 | Исправлено: lorents, 23:15 12-11-2008
alfonser



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Zloy_Gelud

Цитата:
Код:--[[ Копирование папки вместе с ее содержимым]]  
-- strSource - путь к папке, которую необходимо скопировать  
-- strDestation - путь, куда необходимо скопировать папку  
-- Возвращает 0, если скопировалась папка или код ошибки в противном случае  
function Folder.Copy(strSource, strDestation)  
    local strFolderName = String.Mid(strSource, String.ReverseFind(strSource, "\\", false), -1);  
    local strDestation = strDestation.."\\"..strFolderName;  
    if (not Folder.DoesExist(strDestation)) then  
        Folder.Create(strDestation);  
    end  
    File.Copy(strSource.."\\*.*", strDestation.."\\", true, true, false, true, nil);  
    nError = Application.GetLastError();  
    return nError;  
end  
 
local nResult = Folder.Copy("C:\\Downloads", _ProgramFilesFolder.."\\MyProgram");  
if (nResult == 0) then  
    Dialog.Message("Notice", "SUCCESS.", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);  
else  
    Dialog.Message("Error", _tblErrorMessages[nResult], MB_OK, MB_ICONEXCLAMATION);  
end  

Что-то не получается. Происходит копирование папки с находящимися внутри файлами, но папки, находящиеся внутри  не копируются.

Всего записей: 137 | Зарегистр. 01-03-2008 | Отправлено: 01:49 13-11-2008
Zloy_Gelud



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alfonser
 
Только что проверил на примере ниже.
Структура файлов и папок:
 

Цитата:
C:.

|___Test

    |___Test.txt

    |___Test

        |___Test.txt

        |___Test

            |___Test.txt


Код:
nResult = Folder.Copy("C:\\Test", _ProgramFilesFolder.."\\MyProgram");

В папке 'C:\Program Files' создалась папка 'MyProgram', а вней та структура папок и файлов, как в примере.

Всего записей: 3273 | Зарегистр. 30-05-2007 | Отправлено: 13:18 13-11-2008 | Исправлено: Zloy_Gelud, 13:26 13-11-2008
Crazy_Snake

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
 
LB = "ListBox1";
tSelected = ListBox.GetSelected(LB);
if tSelected then
    sFile = ListBox.GetItemData(LB, tSelected[1]);
    Web.LoadURL("Web1", "sFile");
    else
    Dialog.Message("Error", "There is no item selected.");
end
 

 
Подскажите как правильно задать это действие, чтобы файл *.mht из ListBox загружался в Web1?

Всего записей: 26 | Зарегистр. 08-11-2008 | Отправлено: 14:14 13-11-2008
Zloy_Gelud



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Crazy_Snake
В выделенной строчке переменная sFile должна быть без кавычек.

Всего записей: 3273 | Зарегистр. 30-05-2007 | Отправлено: 14:21 13-11-2008
Crazy_Snake

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zloy_Gelud
Ой, точно, не углядел Спс!!!

Всего записей: 26 | Зарегистр. 08-11-2008 | Отправлено: 14:32 13-11-2008
alfonser



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Zloy_Gelud
Извини! Это я тупанул. Сейчас только разобрался. Я для теста создал папку с файлами и вней подпапка ПУСТАЯ! Вот поэтому она и не копировалась.
Извини за беспокойство!
Подскажи а куда в коде вставить сообщение пока идет копирования"Идет копирование файлов"
Спасибо!

Всего записей: 137 | Зарегистр. 01-03-2008 | Отправлено: 15:10 13-11-2008
Zloy_Gelud



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alfonser
Например так:

Код:
Paragraph.SetText("Paragraph1", "Идет копирование файлов");
local nResult = Folder.Copy("C:\\Test", _ProgramFilesFolder.."\\MyProgram");
Paragraph.SetText("Paragraph1", "");

Всего записей: 3273 | Зарегистр. 30-05-2007 | Отправлено: 15:35 13-11-2008
alfonser



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Zloy_Gelud
Спасибо! Вечером буду пробовать.

Всего записей: 137 | Зарегистр. 01-03-2008 | Отправлено: 15:52 13-11-2008
Crazy_Snake

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, при создании проекта как зашифровать информация проекта? А то получается что всегда можно подменить файл на другой и т.п. Как зашить в один файл всё и чтобы только авторан был и всё?

Всего записей: 26 | Зарегистр. 08-11-2008 | Отправлено: 17:20 13-11-2008
Zloy_Gelud



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Crazy_Snake
Скомпилируй проект как Web/Email executable с установленной галкой Encrypt data segment. Получится зашифрованный самораспоковывающийся ZIP-архив. Но это слабая защита от вандалов.

Всего записей: 3273 | Зарегистр. 30-05-2007 | Отправлено: 17:40 13-11-2008
Crazy_Snake

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zloy_Gelud
Я как-то пробовал но там не открывается половина почему-то, может-быть потому-что я не поставил шалку...
Зато хорошая защита от нубов!

Всего записей: 26 | Зарегистр. 08-11-2008 | Отправлено: 17:43 13-11-2008
Zloy_Gelud



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Crazy_Snake

Цитата:
но там не открывается половина почему-то

Посмотри на всякий случай Проблема с путями при создании приложения .EXE и ресурсами на CD от Reineke из шапки. Может из-за этого что-то не открываться, но явно не из-за галки.    
 
Добавлено:
Кстати, никто не знает как выбрать шрифт для нового окна?

Код:
-- создаем новое окно
hWnd = WinApi.CreateWindowEx("0", "BUTTON", "Text", BS_GROUPBOX.."|"..WS_CHILD.."|"..WS_VISIBLE, 0, 0, 100, 100, Application.GetWndHandle(), 0, 0, 0);

Хотелось, чтобы шрифт текста 'Text', можно было изменить.
Покопался в API-функциях, но так ничего и не вышло.

Всего записей: 3273 | Зарегистр. 30-05-2007 | Отправлено: 18:09 13-11-2008
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

Компьютерный форум Ru.Board » Компьютеры » Программы » Indigo Rose AutoPlay Media Studio (часть 2)
Widok (30-01-2009 12:11): Лимит страниц. Продолжаем здесь.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru