Конференция "Начинающим" » Загрузка множества изображений
 
  • Ллирик © (15.11.16 21:33) [0]
    Как к примеру загрузить сразу все изображения из папки, чтоб потом для их смены использовать
    Image1.Bitmap.Assign(Image1.MultiResBitmap.Items[100].Bitmap);

    ?
  • Германн © (16.11.16 02:31) [1]
    Удалено модератором
  • stas © (16.11.16 11:28) [2]
    А что не получается?
  • Ллирик © (16.11.16 15:55) [3]
    Так я в папке при выборе почему-то не могу выделить сразу все файлы, приходится загружать изображения в TImage по одному за раз
  • iop © (16.11.16 16:01) [4]
    такая фича с мультивыделением открывается только после десяти лет стажа.
  • Inovet © (16.11.16 16:07) [5]
    В опциях диалога открытия надо добавить ofAllowMultiSelect.
  • Д7 (16.11.16 17:58) [6]
    Версия Делфи?
    Воспользоваться поиском файлов по маске расширения? И циклом по списку?
    А кстати зачем грузить в память всё сразу? Из папки они типа внезапно пропадут?
  • Ллирик © (16.11.16 19:01) [7]
    А где у диалога Bitmap Editor в rad studio 10 seattle опция ofAllowMultiSelect? И у диалога Editing Imagelist такой опции нет
    Если я буду хранить изображения в папке, то тогда зачем вообще моё приложение? Люди тогда могут просто зайти в папку, посмотреть изображения, прочесть их названия и смысл тогда в викторине?
  • iop © (16.11.16 19:26) [8]
    бинго!

    смысла в твоем приложении ноль.
  • iop © (16.11.16 19:29) [9]
    А где у диалога Bitmap Editor в rad studio 10 seattle опция ofAllowMultiSelect? И у диалога Editing Imagelist такой опции нет

    десять лет.
    сказали же - не верит.
  • Ллирик © (16.11.16 20:42) [10]
    Что заказали, то я и делаю.
    Где тут http://docwiki.appmethod.com/images/appmethod/1.13/topics/e/d/d4/BitmapEditor.png какая галочка? Или тут http://docwiki.embarcadero.com/images/RADStudio/XE8/e/thumb/b/b1/ImageListEditor.png/550px-ImageListEditor.png где эта галочка? А 10 лет назад я только попробовал и больше этим не занимался. даже паскаль забыл весь напрочь
  • iop © (16.11.16 21:12) [11]
    русский-то не забыл?
    тебе же по-русски написали где именно "галочка".
  • Ллирик © (16.11.16 21:51) [12]
    Вы смотрели изображения ссылку на которые я вам дал? Там нет такой галочки!
  • iop © (16.11.16 22:03) [13]
    ОупенФайлДиалог, идиот.
    там нужная тебе опция мультиселекта.
  • kilkennycat © (16.11.16 22:28) [14]

    > Если я буду хранить изображения в папке, то тогда зачем
    > вообще моё приложение?

    достойно "орешника". Почему его не обновляют?
  • iop © (16.11.16 22:37) [15]
    чудик акцентирует внимание на то что "грузит из папки"
    но ни слова про то куда грузит.

    в итоге все думают про мультиселект в оупендиалоге  на рантайме,
    в то время как поциент имеет ввиду дизайн тайм и загрузку в нем группы файлов в имаджлист или еще куда-то.
  • kilkennycat © (16.11.16 23:00) [16]
    может, ну его этот делфи? в VS2015 можно в дизайнтайме группу файлов загружать. всё равно ведь паскаль забыт.
  • Ллирик © (17.11.16 00:52) [17]
    Кажется нашёл... загрузку сразу нескольких изображений можно осуществлять в "Resurses and images". Теперь осталось почитать как с этими ресурсами работать.
    В VS2015 Майкрософт отказалась от дизайнера форм для С++, поэтому использую C++ Builder, а так как среды билдера и делфи идентичны, то подумал, что можно спрашивать на этом форуме. До этого я приложения с GUI практически не писал, так что не судите строго
  • Германн © (17.11.16 02:07) [18]

    > достойно "орешника". Почему его не обновляют?
    >

    А некому им заниматься.
  • kilkennycat © (17.11.16 05:21) [19]

    > В VS2015 Майкрософт отказалась от дизайнера форм для С++

    неправда

    > так как среды билдера и делфи идентичны, то подумал, что можно спрашивать на этом форуме

    ты вообще понимаешь, что говоришь? Эклипс, например, позволяет сделать кучу идентичных сред, и че ?
  • Inovet © (17.11.16 05:26) [20]
    > [17] Ллирик ©   (17.11.16 00:52)
    > использую C++ Builder


    Так всё-таки в рантайме или как? В рантайме так


     TOpenDialog *fm = new TOpenDialog(this);
     try {
       fm->InitialDir = L"Какая-то папка";
       fm->DefaultExt = L"jpg";
       fm->Filter = L"Ди ное люстиген Билдер (*.jpg)|*.jpg";
       fm->Options << ofFileMustExist << ofAllowMultiSelect;
       if (fm->Execute()) {
         for (int i = 0; i < fm->Files->Count; i++) {
           Функция_Добавления_куда_то(fm->Files->Strings[i]);
         }

       }
     }
     __finally {
       delete fm;
     }


  • Некто (17.11.16 11:34) [21]
    Inovet ©   (17.11.16 05:26) [20]
    Ди ное люстиген Билдер

    :-) warum in deutsch?
  • Д7 (17.11.16 12:13) [22]

    > , то тогда зачем вообще моё приложение?


    > и смысл тогда в викторине?


    Если что - вы как бы забыли сообщить что вы делаете. Нам из Астрала надо было узнавать что у вас "викторина" и загрузка в "TImageList"?

    Скорее всего вы имели ввиду не "среды", а "библиотека VCL" с её компонентами. Это да, идентично.

    То есть файлы должны быть не на диске, а в программе. Сразу бы так.
    Тогда да, пихайте всё в ресурсы, грузите из ресурсов в цикле, ещё и зашифровать хорошо бы.
  • Ллирик © (17.11.16 22:07) [23]
    Я уже запихал всё в ресурсы, но при сборке для андроида выдаётся ошибка
    > [PAClient Error] Error: E2312 Unable to execute '"C:\Users\Public\Documents\Embarcadero\Studio\17.0\PlatformSDKs\android-sdk-windows\build-tools\22.0.1\Aapt.exe" package -f -M "C:\Us\Android\Debug\HeaderFooterApplication\AndroidManifest.xml" -F "C:\Us\Android\Debug\HeaderFooterApplication\bin\HeaderFooterApplication-unsigned.apk" -I "C:\Users\Public\Documents\Embarcadero\Studio\17.0\PlatformSDKs\android-sdk-windows\platforms\android-22\android.jar" -S "C:\Us\Android\Debug\HeaderFooterApplication\res" -A "C:\Us\Android\Debug\HeaderFooterApplication\assets" "C:\Us\Android\Debug\HeaderFooterApplication\library" "C:\Us\Android\Debug\HeaderFooterApplication\classes"' (Error 1)
    , а в Deployment перед папкой с изображениями нет точки. Подскажите, пожалуйста, как это исправить?
  • Игорь Шевченко © (18.11.16 10:22) [24]

    > Подскажите, пожалуйста, как это исправить?


    У тебя же ясно написано - Error 1. Вот и исправляй
  • kilkennycat © (18.11.16 10:38) [25]
    я б рекомендовал оформить отдельным вопросом, так как это уже ваще и тема другая и проблема. И если его грамотно сформулировать, гугл выдаст ответ, стопудово.
  • kilkennycat © (18.11.16 10:41) [26]
    врочем, даже просто тупейший запрос "delphi android resource image" тут же выдает кучу примеров, например http://www.tdelphiblog.com/2013/12/2-android.html
  • Ллирик © (18.11.16 16:58) [27]
    Так я всё сделал примерно как http://www.tdelphiblog.com/2013/12/2-android.html. Под винду собирается, под андроид нет. Я гуглил, но так и не понял, где надо изменить путь, поставив точку.
  • kilkennycat © (18.11.16 17:29) [28]

    > Так я всё сделал примерно как

    и даже внимательно изучил исходники к статье на https://github.com/tdelphi/dog-said-meow ?
  • Ллирик © (20.11.16 18:53) [29]
    Так в примере создаётся новый .rc и картинки прописываются там вручную, а мне пришлют 500 изображений и прописывать их вручную извините меня... поэтому я создал эту тему
  • kilkennycat © (20.11.16 21:36) [30]
    вручную, не вручную - никакой разницы. вот когда это касается отношений с девушками - разница существенная. а здесь нет.
  • Ллирик © (21.11.16 19:48) [31]
    Глючит из-за русских имён файлов изображений. пипец(
  • Ллирик © (24.11.16 04:40) [32]
    Собрал пока с именами файлов изображений на латинице. Во время работы на андроиде приложение выдаёт ошибку " resource <.....png> not found". Только сейчас прочитал
    > Resource files are only supported for desktop platforms. In mobile platforms, the OS does not accept loading from resource files. To load files to a mobile device use a different approach, by loading the files externally.

    Что мне теперь делать??
  • Inovet © (24.11.16 08:24) [33]
    > [32] Ллирик ©   (24.11.16 04:40)

    Английским по белому (зависит от цветовой схемы) написано, что надо испольхоать другие подходы.
  • Ллирик © (24.11.16 16:10) [34]
    Я плохо знаю английский. А какой другой подход? В чём он заключается?
  • kilkennycat © (24.11.16 17:07) [35]

    > Я плохо знаю английский.

    https://translate.google.ru выдал:

    Файлы ресурсов поддерживаются только для настольных платформ. В мобильных платформ, ОС не принимает загрузку из файлов ресурсов. Для загрузки файлов на мобильное устройство, используют другой подход, при загрузке файлов извне
  • kilkennycat © (24.11.16 17:10) [36]

    > А какой другой подход? В чём он заключается?

    грузить файлы из папки. создать свой формат а-ля ресурс и грузить из него. не использовать делфи для разработки мобильных приложений.
  • Ллирик © (24.11.16 17:30) [37]
    Опять приехали к тому, с чего начали. В TImage в режиме дизайнера я загружаю изображение и в рантайме приложение работает нормально. Вопрос: Как к примеру загрузить сразу все изображения из папки, чтоб потом для их смены использовать
    Image1.Bitmap.Assign(Image1.MultiResBitmap.Items[100].Bitmap);

    ?
  • Pavia © (24.11.16 20:27) [38]

    > Вопрос: Как к примеру загрузить сразу все изображения из
    > папки, чтоб потом для их смены использовать

    Структуры+алгоритмы=программы.
    Как решить трудную задачу? Её надо разбить на маленькие задачи те в свою очередь на ещё более мелкие. И так далее до тех пор пока вы не сможете их выполнить.
    Есть ещё шаговое или динамическое программирование. Решаете то, что можете решить. Потом на основе этого решаете более сложную программу. И так далее.

    Загрузить Load
    Загрузить из файла FileLoad
    Найти все файлы в папке, гугл вам в помощь.
  • kilkennycat © (24.11.16 20:42) [39]
  • Ллирик © (24.11.16 20:56) [40]
    Причём здесь структуры и алгоритмы? Я спрашиваю о возможностях rad studio 10 seattle, а не о структурах и алгоритмах. Да, есть выход - 500 раз нажать кнопку Load в Bitmap Editor, но это полный маразм, или Вы так не считаете?
  • kilkennycat © (24.11.16 22:48) [41]

    > Ллирик ©   (24.11.16 20:56) [40]

    возможности огромны. но идиотизм не предусматривался. найми программиста.
  • Ллирик © (25.11.16 01:27) [42]
    Вы что? издеваетесь? Мне не нужен алгоритм! Мне нужно загрузить сразу все изображения в режиме дизайнера, чтобы только потом, исходя из этого, написать соответствующий алгоритм!
    Или скажите тогда, почему этот алгоритм на андроиде не работает
    TResourceStream* ptRes = new TResourceStream((int)HInstance, "PngImage_" + IntToStr(q), RT_RCDATA);
    q1q1Image1->Bitmap->LoadFromStream(ptRes);

    ?
  • Pavia © (25.11.16 09:35) [43]
    Потому что на андройде другой формат исполняемых файлов и там нет такой секции с ресурсами, какая есть в PE-EXE. Для дизайна формы эта секция эмитируется.
  • Pavia © (25.11.16 09:42) [44]
    Ответ на первый вопрос.

    > Вы что? издеваетесь? Мне не нужен алгоритм! Мне нужно загрузить
    > сразу все изображения в режиме дизайнера, чтобы только потом,
    >  исходя из этого, написать соответствующий алгоритм!

    Алгоритм эта последовательность действий. Если вы не хотите сами создавать или выполнять эту последовательность - т.е вам не нужен алгоритм, а нужен конечный результат. Так поручите эту работу другому человеку - наймите программиста.
  • stas © (25.11.16 13:20) [45]
    Уже давно можно было загрузить все изображения в один отдельный файл и из него читать.
  • kilkennycat © (25.11.16 13:50) [46]

    > stas ©   (25.11.16 13:20) [45]

    Это противоречит ТЗ, согласно которому, все картинки должны загружаться в дизайнере. Пользователю программы-то это фиолетово, конечно. Но ТЗ есть ТЗ. Вероятно, ему (пользователю) потом об этом сообщается: "Уважажаемый пользователь, все картинки в нашей программе загружены в дизайнере вручную!"
  • Ллирик © (06.12.16 19:01) [47]
    Это оказался глюк билдера. Перевёл всё на делфи, всё работает. А что за бред вы тут несли я так и не понял)
 
Конференция "Начинающим" » Загрузка множества изображений
Есть новые Нет новых   [119056   +91][b:0][p:0.002]