Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/88: Рейтинг темы: голосов - 88, средняя оценка - 4.74
178 / 161 / 38
Регистрация: 08.10.2012
Сообщений: 423

Перебор файлов в папке

13.10.2016, 07:43. Показов 16292. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Смысл скрипта это взять все .png файлы и зделать из них .icns файлы.

Bash
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
#Заходим в текущую папку и ищем все файлы с нужным разрешением
find "$PWD" -name '*.png' -o -name '*.PNG'  | while read FILENAME; do
#Далее убираем лишние символы чтобы достать только имя файла
tmpFileName=`basename $FILENAME`
IconSetName=${tmpFileName%.PNG}
IconSetName=${IconSetName%.png}
#И дописывем расширение 
IconSetName=${IconSetName}".icns"
#Дальше я подсмотрел скрипт на стекоферфлов
 
#Суть его проста как 3 копейки. Сначала он генерит файлики картинок с нужным разрешением в папке
#а затем с помощью стандартной утилиты преобразует эту папку в .icns файл и удаляет временную папку
 
mkdir MyIcon.iconset
sips -z 16 16     Icon1024.png --out MyIcon.iconset/icon_16x16.png
sips -z 32 32     Icon1024.png --out MyIcon.iconset/icon_16x16@2x.png
sips -z 32 32     Icon1024.png --out MyIcon.iconset/icon_32x32.png
sips -z 64 64     Icon1024.png --out MyIcon.iconset/icon_32x32@2x.png
sips -z 128 128   Icon1024.png --out MyIcon.iconset/icon_128x128.png
sips -z 256 256   Icon1024.png --out MyIcon.iconset/icon_128x128@2x.png
sips -z 256 256   Icon1024.png --out MyIcon.iconset/icon_256x256.png
sips -z 512 512   Icon1024.png --out MyIcon.iconset/icon_256x256@2x.png
sips -z 512 512   Icon1024.png --out MyIcon.iconset/icon_512x512.png
cp Icon1024.png MyIcon.iconset/icon_512x512@2x.png
iconutil -c icns MyIcon.iconset
rm -R MyIcon.iconset
Теперь о проблемах
во первых мне не нравится это преобразование
Bash
1
2
IconSetName=${tmpFileName%.PNG}
IconSetName=${IconSetName%.png}
какоето оно китайское как бы хотелось бы заменить либо .png либо .PNG
далее если в файле картинки будут присутствовать пробелы то mkdir $IconSetName создаст кучу папок соответствующую количеству пробелов в имени а "$IconSetName" заменить пробелы на "?" с путем до картинки тоже беда

В общем прошу помощи вот в чем:
  1. Помогите правильно слепить эти 2 кода
  2. подскажите как более красиво убрать расширение
  3. Гдето я видел не помню где что с помощью mkdir создавалась скрытая папка какие у нее параметры?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.10.2016, 07:43
Ответы с готовыми решениями:

Реализовать перебор файлов в папке с поиском пустых файлов
помогите разобрать, у меня в коде идет перебор папок в файле и проверка, если они не пустые то идем дальше, а если пустые, то нужно перейти...

Перебор файлов в папке
Здравствуйте) я уже с вашей помощью решил задачу для работы программы через консоль, но я хочу реализовать свою Прогу в виде win forms....

Некорректный перебор файлов в папке
Добрый день уважаемые спецы! Мне нужно организовать для работы такой функционал: - Перебрать все файлы в папке, если найден файл...

13
Эксперт NIX
 Аватар для nezabudka
3334 / 752 / 252
Регистрация: 28.06.2015
Сообщений: 1,552
Записей в блоге: 16
13.10.2016, 11:42
Bash
1
find .  -iname "*.txt" -printf "%f\n" | while read FILENAME; do echo ${FILENAME%.*}.png; done
1
178 / 161 / 38
Регистрация: 08.10.2012
Сообщений: 423
13.10.2016, 13:40  [ТС]
Цитата Сообщение от nezabudka Посмотреть сообщение
Bash
1
find . *-iname "*.txt" -printf "%f\n" | while read FILENAME; do echo ${FILENAME%.*}.png; done
-printf "%f\n" почемуто не понял что это за штука

сделал вот так
Bash
1
2
3
find . -iname "*.png" | while read FILENAME; 
do
IconName=${FILENAME%.*}
Спасибо проблему красоты и чистоты кода решили =)

но остается проблема еще важная
Если в имени есть пробелы
и создавать папку вот так
Bash
1
mkdir $IconSetName
то создается куча папок
а если так
Bash
1
mkdir "$IconSetName"
то пробелы заменяются на вопросы

И кстати такаже байда с ресайзом картинки

sips -z 16 16 "$IconName" --out "$IconSetName"/icon_16x16.png
sips не понимает что "$IconName" это название картинки а не куча картинок

этого как нибудь можно избежать?
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
13.10.2016, 14:41
Цитата Сообщение от nezabudka Посмотреть сообщение
| while read FILENAME
Если собираетесь использовать FILENAME вне цикла while — будут проблемы, т.к. область видимости переменной — субпроцесс, который вызывается конвеером.
Цитата Сообщение от MrGrig Посмотреть сообщение
пробелы заменяются на вопросы
Какое-то удивительное поведение. У Вас какой шелл?
Bash
1
$SHELL --version
?
1
178 / 161 / 38
Регистрация: 08.10.2012
Сообщений: 423
13.10.2016, 14:52  [ТС]
Цитата Сообщение от Marinero Посмотреть сообщение
Какое-то удивительное поведение. У Вас какой шелл?
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin16)
Copyright (C) 2007 Free Software Foundation, Inc.
Маковский
Цитата Сообщение от Marinero Посмотреть сообщение
Если собираетесь использовать FILENAME вне цикла while — будут проблемы, т.к. область видимости переменной — субпроцесс, который вызывается конвеером.
Я собираюсь использовать ее только в цикле

В принципе у меня есть идея скопировать файл иконки во временную папку и там его уже назвать латинскими буквами (Если файл называется что-то типа icon.png то все хорошо отрабатывается)

Вопрос опять же из первого списка как создать скрытую папку?
0
Эксперт NIX
 Аватар для nezabudka
3334 / 752 / 252
Регистрация: 28.06.2015
Сообщений: 1,552
Записей в блоге: 16
13.10.2016, 15:54
MrGrig, Я просто подсказку привела что бы первые 8 строчек уместилось в двух
Bash
1
2
find .  -iname "*.png" -printf "%f\n" | while read FILENAME; do
IconSetname=${FILENAME%.*}.icns
-printf "%f\n" выводит только имя файла (аналог вашего basename) в отдельной строчке
0
178 / 161 / 38
Регистрация: 08.10.2012
Сообщений: 423
14.10.2016, 11:19  [ТС]
Цитата Сообщение от Marinero Посмотреть сообщение
Какое-то удивительное поведение.
Короче непонятно почему но все дела в basename оно какимто хитрым способом пробелы заменяет видимо на спец символы. Если указывать абсолютные пути то скрипт отлично отрабатывает.
Все также остается вопрос в создании скрытой папки

Добавлено через 8 минут
И вопрос внезапно такой как ограничить find только текущим каталогом?

Добавлено через 45 минут
В общем получился такой вот код
Bash
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
tmpPath=.
tmpPath=${tmpPath}"/.tmpPath"
tmpSubPath=${tmpPath}"/tmp.iconset"
tmpIconSetName=${tmpPath}"/tmp.icns"
mkdir "$tmpPath"
mkdir -p "$tmpSubPath"
 
find . -iname "*.png" | while read FILENAME;
do
IconName=${FILENAME%.*}
IconSetName=${IconName}".icns"
IconName=${IconName}".png"
 
sips -z 16 16     "$IconName" --out "$tmpSubPath"/icon_16x16.png
sips -z 32 32     "$IconName" --out "$tmpSubPath"/icon_16x16@2x.png
sips -z 32 32     "$IconName" --out "$tmpSubPath"/icon_32x32.png
sips -z 64 64     "$IconName" --out "$tmpSubPath"/icon_32x32@2x.png
sips -z 128 128   "$IconName" --out "$tmpSubPath"/icon_128x128.png
sips -z 256 256   "$IconName" --out "$tmpSubPath"/icon_128x128@2x.png
sips -z 256 256   "$IconName" --out "$tmpSubPath"/icon_256x256.png
sips -z 512 512   "$IconName" --out "$tmpSubPath"/icon_256x256@2x.png
sips -z 512 512   "$IconName" --out "$tmpSubPath"/icon_512x512.png
cp "$IconName" "$tmpSubPath"/icon_512x512@2x.png
iconutil -c icns "$tmpSubPath"
 
cp "$tmpIconSetName" "$IconSetName"
done
rm -R "$tmpPath"
Правда я хотел чтобы скрытая папка создавалась с таким же именем как и название файла, но в принципе так тоже не плохо и даже по мне лучше, так как создать и удалить нужно всего 1 раз а не делать это в цикле.

У меня осталось 2 вопроса
  1. Как ограничить find только заданной директорией, чтобы он не искал во вложенных папках
  2. Можно ли сделать так чтобы скрипт не спамил мне в чат то что он делает?

Добавлено через 2 часа 14 минут
Во просто сделал подобное этому
Bash
1
a=`sips -z 16 16     "$IconName" --out "$tmpSubPath"/icon_16x16.png`
И скрипт не спамит, но теперь другой момент интересен
по идеи . и PWD возвращают путь до текущей директории, но если скрипт запустить не через терминал а дабл кликом
. будет точкой а pwd вернет /Users/<username>/

можно какнибудь решить эту проблему?
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
14.10.2016, 12:58
Цитата Сообщение от MrGrig Посмотреть сообщение
какнибудь решить
В том то и беда, что Вы решаете «как-нибудь» и не понимаете что именно делаете…
Цитата Сообщение от MrGrig Посмотреть сообщение
Как ограничить find только заданной директорией, чтобы он не искал во вложенных папках
Существеют опции -mindepth/-maxdepth, -prune только в данном случае find совсем не нужен:
Bash
8
for FILENAME in *.[Pp][Nn][Gg]
Цитата Сообщение от MrGrig Посмотреть сообщение
Можно ли сделать так чтобы скрипт не спамил мне в чат
Bash
1
exec 1>/dev/null 2>/dev/null
P.S. Ну и мимо 14-21 пройти сложно
Bash
14
15
16
17
18
19
20
for rez in 16 32 128 256
do
    name="${tmpSubPath}/icon_${rez}x${rez}"
    sips -z $rez        $rez "$IconName" --out "${name}.png"
    sips -z $((rez*=2)) $rez "$IconName" --out "${name}@2x.png"
done
sips -z 512 512   "$IconName" --out "$tmpSubPath"/icon_512x512.png
0
178 / 161 / 38
Регистрация: 08.10.2012
Сообщений: 423
14.10.2016, 13:31  [ТС]
Цитата Сообщение от Marinero Посмотреть сообщение
В том то и беда, что Вы решаете «как-нибудь» и не понимаете что именно делаете…
Ну я не линуксоид и баш я не изучаю. мне всего то нужно было создать простенький скрипт чтобы картинку запаковать в иконку хочу просто удовлетворить свои потребности

Ваш код еще не проверял но проверю обязательно. Просто хочется всделать все в стилеэпл чтобы не нужно было открывать терминал драгдропать туда этот файлик и запускать. Хочеться просто кликнуть по файлу пару раз и чтобы работало...

Добавлено через 6 минут
Цитата Сообщение от Marinero Посмотреть сообщение
Существеют опции -mindepth/-maxdepth, -prune только в данном случае find совсем не нужен:
Да я уже нашел эти функции, просто сразу довольно долго найти не мог вот и спросил

Добавлено через 9 минут
Протестировал я ваш код, за циклическое создание картинок спасибо
строчка с отключением логов тоже помогла, но с ней не выводится также и echo в принципе не критично
а вот с внешним циктом не все так хорошо.

Цитата Сообщение от Marinero Посмотреть сообщение
Bash
1
for FILENAME in *.[Pp][Nn][Gg]
Да конечно опять же если его запускать в терминале то все будет работать, но вот если кликать по файлу
*.[Pp][Nn][Gg] это будет воспрянято как просто строка

Добавлено через 12 минут
В общем спасибо всем кто отвечал вот такой вот код получился который исполняется по открытию файлика

Bash
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
#!/bin/bash
exec 1>/dev/null 2>/dev/null
MAINDIR=`dirname "$0"`
tmpPath=${MAINDIR}"/.tmpPath.iconset"
tmpSubPath=${tmpPath}"/tmp.iconset"
mkdir -p "$tmpPath"
mkdir -p "$tmpSubPath"
 
find "$MAINDIR" -maxdepth 1 -iname "*.png" | while read FILENAME;
do
IconName=${FILENAME%.*}
IconSetName=${IconName}".icns"
IconName=${IconName}".png"
 
for rez in 16 32 128 256
do
name="${tmpSubPath}/icon_${rez}x${rez}"
sips -z $rez $rez     "$IconName" --out "${name}.png"
((rez*=2))
sips -z $rez $rez     "$IconName" --out "${name}@2x.png"
done
sips -z 512 512   "$IconName" --out "$tmpSubPath"/icon_512x512.png
cp "$IconName" "$tmpSubPath"/icon_512x512@2x.png
iconutil -c icns "$tmpSubPath" -o "$IconSetName"
done
rm -R "$tmpPath"
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
14.10.2016, 14:03
Цитата Сообщение от MrGrig Посмотреть сообщение
Ну я не линуксоид и баш я не изучаю
А элементарная логика должна присутствовать? То что Вы творите в 1-6 и 10-12 с переменными вообще не объяснить с точки зрения функциональности.
Bash
2
3
tmpSubPath=".tmpPath/tmp.iconset"
mkdir -p "$tmpSubPath"
Bash
10
IconSetName="${FILENAME%.*}.icns"
FILENAME/IconName менять нельзя — вы же потом используете его для обработки и копирования.
Bash
28
rm -r "${tmpSubPath%\/*}"
tmpPath вообще не нужен. Как и 26 строка (копировать пусто в файл?) с переменной tmpIconSetName. И т.д.

Добавлено через 14 минут
Bash
3
4
5
6
cd "${0%\/*}" #правда не совсем понятно зачем? Если двойным кликом — это и так текущая,
#+ a если вызывать откуда-то и переходить не стоит
tmpSubPath=".tmpPath.iconset/tmp.iconset"
mkdir -p "$tmpSubPath"
Bash
9
10
11
12
13
14
15
16
for FILENAME in *.[Pp][Nn][Gg]
do
    IconSetName="${FILENAME%.*}.icns"
    
    for rez in 16 32 128 256
    do
        name="${tmpSubPath}/icon_${rez}x${rez}"
        sips -z $rez $rez "$FILENAME" --out "${name}.png"
1
178 / 161 / 38
Регистрация: 08.10.2012
Сообщений: 423
14.10.2016, 14:04  [ТС]
Цитата Сообщение от Marinero Посмотреть сообщение
А элементарная логика должна присутствовать? То что Вы творите в 1-6 и 10-12 с переменными вообще не объяснить с точки зрения функциональности.
Объясняется все просто элементарно

tmpPath=${MAINDIR}"/.tmpPath.iconset"
вот здесь вот если честно не углядел, это эксперементировал можно ли сразу временную папку в icns сконвертнуть, оказалось нельзя, ниже объясню.
Должно быть вот так
tmpPath=${MAINDIR}"/.tmpPath"


MAINDIR переменная чтобы использовать ее для поиска в ней и чтобы создать внутри нее временную папку
tmpPath=${MAINDIR}"/.tmpPath временная папка
tmpSubPath=${tmpPath}"/tmp.iconset" папка куда будут скидываться картинки в нужном разрешении ибо только такую папку может скушать iconutil! Я пытался раньше, как видно из кода, сразу кидать картинки во временную папку скрытую и ее конвертировать в icns не жрет ее утилита, поэтому оставил ее

IconName=${FILENAME%.*} Здесь убираем расширение у файла
IconSetName=${IconName}".icns" Здесь получаем путь к конечному файлу
IconName=${IconName}".png" вот это согласен было не обязательно можно было и FILENAME использовать

Цитата Сообщение от Marinero Посмотреть сообщение
FILENAME/IconName менять нельзя — вы же потом используете его для обработки и копирования.
вот это не понял если честно что вы имеете ввиду

Цитата Сообщение от Marinero Посмотреть сообщение
tmpPath вообще не нужен.
нужен чтобы создать скрытую директорию
Цитата Сообщение от Marinero Посмотреть сообщение
Как и 26 строка
в 26 строке удаляю временные файлы

утилита iconutil берет папку name.iconset и конвертирует ее в файл icns и я его перемещаю по пути IconSetName

С именами файлов были проблемы пробелы на вопросы заменялись. Сами же удивлялись
Цитата Сообщение от Marinero Посмотреть сообщение
Какое-то удивительное поведение. У Вас какой шелл?
Поэтому было решено использовать полные пути
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
14.10.2016, 14:17
Полные/относительные пути к поведению шелла никакого отношения не имеют. Используйте кавычки и все будет работать как надо.
По поводу вложенных папок — нет проблем, код, что я привел так и работает (если уж используете опцию -p (--parents) хоть прочитайте зачем она).
0
178 / 161 / 38
Регистрация: 08.10.2012
Сообщений: 423
14.10.2016, 14:46  [ТС]
Цитата Сообщение от Marinero Посмотреть сообщение
Полные/относительные пути к поведению шелла никакого отношения не имеют. Используйте кавычки и все будет работать как надо.
(если уж используете опцию -p (--parents) хоть прочитайте зачем она)
Я баш в качестве написания скриптов используюю аж целых 3 дня по часу в день примерно
сегодня 3й день все это время я использую метод проб, ошибок и говнокода. Я не изучал баш раньше никоем образом и для написания данного кода было 2 мотивации, была проблема и нужно было найти ее решение с помощью гугла. Строчку написал запустил и так далее. На счет -p я прочитал что это не дает выскакивать предупреждениям и создает подпапки если нужно. Как то так там было написано.

На счет кавычек не знаю я все перепробывал
после того как получал имя файла

tmpFileName=`basename $FILENAME`
mkdir "$tmpFileName" вот эта строчка уже была с ошибкой чтото типо не найдена директория и все скрипт дальше ничего не делал. На вопрос почему так происходит так ответа и не услышал, попробовал не использовать basename и все заработало. отталкиваясь от этого уже писал остальной код.

после всех ваших исправлений получился такой код
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/bash
exec 1>/dev/null 2>/dev/null
cd "${0%\/*}"
tmpPath=${0%\/*}"/.tmpPath"
tmpSubPath=${tmpPath}"/tmp.iconset"
mkdir "$tmpPath"
mkdir "$tmpSubPath"
for IconName in *.[Pp][Nn][Gg]
do
  IconSetName=${IconName%.*}".icns"
  for rez in 16 32 128 256
  do
    name="${tmpSubPath}/icon_${rez}x${rez}"
    sips -z $rez $rez     "$IconName" --out "${name}.png"
    ((rez*=2))
    sips -z $rez $rez     "$IconName" --out "${name}@2x.png"
  done
  sips -z 512 512   "$IconName" --out "$tmpSubPath"/icon_512x512.png
  cp "$IconName" "$tmpSubPath"/icon_512x512@2x.png
  iconutil -c icns "$tmpSubPath" -o "$IconSetName"
done
rm -R "$tmpPath"
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
14.10.2016, 15:08
3-7 для меня дикость:
1. Если хотите полные пути используйте PWD (хотя это и не имеет смысла).
2. -p создает весь путь, если его нет.
Цитата Сообщение от Marinero Посмотреть сообщение
Bash
4
5
tmpSubPath="$PWD/.tmpPath/tmp.iconset"
mkdir -p "$tmpSubPath"
Bash
22
rm -r "${tmpSubPath%\/*}"
Цитата Сообщение от MrGrig Посмотреть сообщение
после того как получал имя файла
tmpFileName=`basename $FILENAME`
mkdir "$tmpFileName" вот эта строчка уже была с ошибкой чтото типо не найдена директория
Ничего что Вы пытались создать директорию с именем существующего файла?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.10.2016, 15:08
Помогаю со студенческими работами здесь

Перебор .txt фаликов в папке
Есть папка с произвольным количеством файлов расширения .txt, как указать на первый и последний файл в этой папке, например в цикле. Мне...

Вывод списка .txt файлов в папке и последующее открытие файлов
Ребята, подскажите или помогите реализовать программу, которая допустим при помощи OpenFileDialog, при указании пути к папке, выводила на...

Копирование файлов с переименованием в случае совпадения имён перемещаемых и имеющихся в папке назначения файлов
Добрый день. Помогите создать bat файл. Смысл в чем есть папка загрузки на компьютере с нее файлы и папки содержащиеся в ней должны...

Копирование файлов с переименованием в случае совпадения имён копируемых и имеющихся в папке назначения файлов
Доброго времени суток. Убедительная просьба, помогите пожалуйста решить задачу. Существует исходный путь (SrcDir), который идет до...

Сравнение файлов в папке и создание папок с именами файлов
Нужно пройтись по папке, если есть картинка с названием, но нет папки с таким же названием, создать папку с названием картинки и перенести...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru