Witcherfx
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Здравствуйте. У меня вопрос. Я понимаю, он может показаться Вам несколько глупым, но я хотел бы разобраться, наконец, с созданием функции "callback" В справке есть следующий пример: Код: -- Callback function for HTTP.Download -- Первый вопрос. Объясните пожалуйста значения параметров данных в скобках, какое значение имеет "n"? Я предполагаю что это просто название переменной. Почему этот пример работает, а я не могу понять где указываются эти самые переменные в скобках? function DownloadCallback (nDownloaded, nTotal, TransferRate, SecondLeft, SecondsLeftFormat, Message) Второй вопрос. Опять таки "n"... Правда ли что переменные с этим символом в начале собственно и указывают эти переменные, но тогда где числовое представление? Откуда берётся числовая информация? sDownloaded = String.GetFormattedSize(nDownloaded, FMTSIZE_AUTOMATIC, true); sTotal = String.GetFormattedSize(nTotal, FMTSIZE_AUTOMATIC, true); Третий вопрос. "SecondsLeftFormat" - это что за параметр где я могу задать его значение? Где я могу почитать о этих форматах? если можно не общую ссылку на справку, а конкретный раздел где я могу узнать информацию. StatusDlg.SetMessage("Currently downloading file . . . Time Left: " .. SecondsLeftFormat); StatusDlg.SetStatusText("Downloaded: " .. sDownloaded .. " / " .. sTotal); StatusDlg.SetMeterPos((nDownloaded / nTotal) * 65534); end Четвёртый вопрос. Почему нижеследующие вопросы не прописаны в самой функции выше? Объясните, пожалуйста, какой в этом смысл?. StatusDlg.Show(0, false); StatusDlg.SetTitle("Downloading . . . "); StatusDlg.SetMeterRange(0, 65534); -- Пятый вопрос. Число "65534" - оно случайно или это число максимально допустимое значение чего-то? HTTP.Download("http://www.yourdomain.com/downloads/update.exe", _TempFolder.."\\update.exe", MODE_BINARY, 20, 80, nil, nil, DownloadCallback); StatusDlg.Hide(); | Буду очень признателен, если кто-нибудь "разжуёт" мне это И прошу прощения, если мой вопрос покажется Вам глупым. Видите ли, функция прекрасно работает и можно было бы ею с успехом пользоваться, но мне жутко интересно как можно сделать её лучше. К тому же на форуме очень часто вижу вот это "n" и ещё "j" (for j in... etc) почему именно эти символы? Добавлено: Цитата: 1. зачем нужен объект "Dialogs", ни в одном примере он не используется, хотя набор функций стандартный. 2. можно ли создав кнопку в объекте Dialog1 перейти по ней на Page1. 3. как потом вернуться со страницы Page1 на Dialog1. | День добрый, German! 1. "Dialogs", на самом деле, очень полезная вещь. При создании перехода на заранее созданный диалог, к примеру, с главной странице, он открывается не закрывая главной страницы, то есть на её фоне. "Dialogs" поддерживает большинство функций и объектов присущих для "Page". Вы имеете возможность разработать их оформление, которое будет куда веселее стандартных системных диалогов. Работать с обектом "Dialogs" легко и приятно, так же как и с привычными страницами. 2. Конечно можно и не только это можно Dialog1 сделать идентичным Page1. И зделать переходы в нём на любую страницу. 3. Так же как и войти на неё - сделать переход. Поддерживается даже в быстрых функциях. Просто делаете кнопку и выставляете нужную функцию. |