Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
1 / 1 / 1
Регистрация: 13.12.2010
Сообщений: 68

Глупые вопросы

20.05.2011, 20:19. Показов 1493. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, ищу помощи в следующих вопросах.

1. На билдере создан некий проект, где используется форма, развернутая на полный экран. На форме находится около сотни различных компонентов. Проект создавался при разрешении 1024x768. В итоге возникла проблема, при копировании на компьютеры с другим разрешением, естесственно, все отображается не так как было задумано. Если бОльшее разрешение еще можно как-то пережить, то при меньшем до нижней части формы вообще не добраться. Существует ли какие-то способы изменения масштаба для всего приложения? Потому как если взять и уменьшить все компоненты по отдельности, их координаты собьются, а все заново прописывать займет около недели)))

2. Как сделать чтобы приложение работало на компьютерах где вообще нет Билдера?

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

Заранее спасибо. Буду рад ответу хотябы на один из этих вопросов)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.05.2011, 20:19
Ответы с готовыми решениями:

Глупые вопросы
Поскольку с меня электрик плохой как и электронщик хочу задать вопросы,вот допустим нужен Бп постоянного тока с током 30 А и напряжением до...

Глупые вопросы про + и -
Чувствую себя полным кретином. Долго ни у кого не решался спросить, но все же случайно забрел сюда. Может, судьба? 1. Из любого...

Глупые вопросы начинающего
Кризис заставляет повышать квалификацию. Сейчас действительно везде требуется знание 1С. Накачал книжек, осваиваю с азов. Можно я тут...

4
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
20.05.2011, 21:00
1.
При переносе программ с системы на систему обычно возникает множество проблем. Одна из наиболее заметных - изменение разрешения экрана. Если программа создавалась при одном разрешении, а исполняется при другом, то размер ее окна, букв, кнопок и т.п. будет неправильный. Этого можно частично избежать, вставив следующий код в событие OnCreate необходимой формы:
C++
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
void __fastcall TForm1::FormCreate(TObject *Sender)
{
//эта структура будет содержать разрешение экрана на системе
struct res{float x,y;}res;
/*здесь будет хранится коэфицент, показывающий во сколько раз
текущее разрешение больше исходного*/
struct factor{float x,y;}factor;
//считать текущее разрешение
res.x=Screen->Width;
res.y=Screen->Height;
//вычислить коэфицент. Если программа пишется при другом разрешении,
//то нужно только подставить его вместо 1024 и 768
factor.x=1024/res.x;
factor.y=768/res.y;
int cc=ControlCount-1; //количество объектов на форме
while(cc!=-1) //для каждого объекта выполняем следующие операции
{
Controls[cc]->Left/=factor.x; //правильно располагаем по горизонтали
Controls[cc]->Top/=factor.y; //…по вертикали
Controls[cc]->Width/=factor.x; //растягиваем до нужной ширины
Controls[cc]->Height/=factor.y; //…высоты
cc--;
}
//теперь растягиваем саму форму
Form1->Width/=factor.x;
Form1->Height/=factor.y;
//изменяем размер шрифтов; не забудьте поставить свойство формы Scaled=true
Form1->PixelsPerInch=Screen->PixelsPerInch;
}
Все структуры здесь используются для понятности, в реальном коде их выгоднее заменить на вектора.
2. Компиляция программы под С++ Builder, чтобы работала на других компьютерах
3. В ресурсы можно залить и рисунки, и строки с путями.
Но ваш вопрос вызывает смутные сомнения: для чего пути рисунков, есои рисутнки уже в ресурсах? Может, просто хранить рисунки в папке, а пути к ним - в программе, или в файле?

З.Ы. Говорят, для каждого вопроса хорошо бы создавать отдельную тему.
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
21.05.2011, 15:45
ИМХО, по поводу п.2 имелись в виду динамические библиотеки. Просто нужно использовать статические библиотеки. Project - Options - Packages: снять флажок Build with runtime packages.
Извините, не заметил, что ответ уже есть в ссылке.

Добавлено через 20 минут
LK, Можно еще свойство формы Scaled установить в false, но ваше решение мне симпатичнее.
0
2 / 2 / 0
Регистрация: 13.03.2011
Сообщений: 50
21.05.2011, 15:49
В проектах WPF, такие проблеммы исключенны, просто довожу до вашего сведения.
1
1 / 1 / 1
Регистрация: 13.12.2010
Сообщений: 68
21.05.2011, 19:50  [ТС]
Спасибо за ответы. Код рабочий, но в моем случае к сожалению не подойдет, забыл что свойства компонентов у меня частенько меняются, и их числовые значения рассчитаны были под то разрешение. Мб лучше использовать скроллбар для таких целей. Кстати, есть ли способ вывести Скроллбар, если свойство BorderStyle установлено в BsNone?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.05.2011, 19:50
Помогаю со студенческими работами здесь

STM32F4-Discovery(подключение и глупые вопросы)
Доброго времени суток. В руки попали две платки: STM32F4-Dyscovery и STM32VL-discovery. Любопытств не позволило пройти мимо богатства, но...

делаю аналог FroliCat. глупые вопросы
решил кошкам сделать игрушку. погуглите FroliCat вкратце: лазер случайно бегает по двум координатам в ограниченном квадрате. решил...

Батарейное питание и разные глупые вопросы.
Уже две недели не мог решить в каком разделе задать вопрос. Напишу тут. Думаю советы и решения наверняка будут полезны всем. И так...

Глупые вопросы по коду СИ из примера Lifelover
Доброе время. Очередной раз дошли руки пошалить с контроллером. Осваиваю статьи Lifelover про авр + enc + tcp. вообщем затык вышел вот...

кварцевые резонаторы для stm32(глупые вопросы)
Всем здравствовать желаю. И прошу простить холопа если подобные вопросы уже поднимались, но пролистал 3 страницы форума и 3 страницы поиска...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru