Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > C++ Builder
Перезагрузить страницу Как нарисовать форму без vcl
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Lin@ Lin@ вне форума
Member
 
Сообщений: 75
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 07.07.2006
По умолчанию Как нарисовать форму без vcl - 30.09.2006, 21:20

1.Вопрос по классике: можно ли освободить память от конкретного элемента массива, а не от всего раннее выделенного блока динамически распределяемой памяти?
2.Как нарисовать форму без vcl, ну и соответственно поместить кнопочку, например?
3.Весит ли программа больше от одной возможности использовать StringList, например, (я имею в виду статически компонованную библиотека с данным компонентом) если компонент не использовать, и как можно отключить объвление данного класса в проекте.
Ответить с цитированием
  (#2 (permalink)) Старый
IL_Agent IL_Agent вне форума
Member
 
Аватар для IL_Agent
 
Сообщений: 2,015
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 03.07.2005
По умолчанию 30.09.2006, 21:53

1. Нет. Память выделяется блоками и ими же освобождается. Если нужно удалить элемент, то придётся выделить память под массив без этого элемента, скопировать туда массив и освободить память.
2. Тут слово "нарисовать" уже не подходит. :-) На форуме есть много инфы по WinAPI.
3. Подключаются модули, а не отдельные классы.
Ответить с цитированием
  (#3 (permalink)) Старый
D_K D_K вне форума
Member
 
Сообщений: 1,681
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 23.11.2005
По умолчанию 01.10.2006, 00:10

1. Память под отдельный элемент освободить нельзя, т.к. элементы массива распологаются в памяти последвательно, друг за другом. Если при решении задачи возникает необходимость в частом удалении отдельных элементов массива, то следует подумать на тему замены массива другим "контейнером" для хранения элементов. Например связным списком, алгоритмы работы с которым являются классическими (кроме того, в библиотеки STL описан соответствующий класс list).

2. Как и сказал IL_Agent, термин "нарисовать" явно не подходит для работы без vcl(начнешь писать на WinAPI, поймешь почему ). Если пользоватся ВинАпи чистым, то все придется проделывать ручками, и я не рекомендую использовать данный метод для проектов с приличным интерфейсом, только время зря потратишь. В этом и заключается приемущество таких сред как билдер, время уходит на работу над самой программой и алгоритмами, а не на визуализацию. Лично я на голом WinAPI пишу только программы с элементарным интерфейсом, или если он вообще не требуется для данной задачи.

3. На счет веса получаемых программ могу сказать, что билдер не предназначен для разработки компактных приложений. Если тебе очень критичен объем релиза, то Builder в этом вопросе явно уступает тому же VC, например... Повторюсь, приемущество среды Builder и ему подобных заключается в скорости создания интерфейса, а так же в наличии огромного числа компонент, которые предоставляют практически готовые решения на почти все случаи программерской жизни. Но за все надо платить. И в данном случае мы платим скоростью работы и размером получаемых приложений. Замечу, что в современных условиях объем файлов не так критичен...


импортирован с progz.ru
Ответить с цитированием
  (#4 (permalink)) Старый
Lin@ Lin@ вне форума
Member
 
Сообщений: 75
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 07.07.2006
По умолчанию 01.10.2006, 00:35

Я именно и хотела попробовать WinAPI функции. Пусть простенькое приложение, зато своё.
У меня вопрос созрел. Чем отличаются консольные приложения приложения, сделанные на Builder от сделанных на VC?

ЗЫ: один и тот же проект (консольное приложение) весил 84КБ и 176КБ в пользу Builder, динамически присоединяемых пакетов и библиотек не было, всё было статично, по-крайней мере в Builder.
Ответить с цитированием
  (#5 (permalink)) Старый
IL_Agent IL_Agent вне форума
Member
 
Аватар для IL_Agent
 
Сообщений: 2,015
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 03.07.2005
По умолчанию 01.10.2006, 01:21

Цитата:
Я именно и хотела попробовать WinAPI функции. Пусть простенькое приложение, зато своё.
У меня вопрос созрел. Чем отличаются консольные приложения приложения, сделанные на Builder от сделанных на VC?

ЗЫ: один и тот же проект (консольное приложение) весил 84КБ и 176КБ в пользу Builder, динамически присоединяемых пакетов и библиотек не было, всё было статично, по-крайней мере в Builder.
Приложения - ничем не отличаются. Отличается код, который выдаёт компилятор. Обычно в пользу VC.
Как проект в VC делала ? И как компилила ? Если без MFC и Release(а не Debug), то 176 кб никак не получится.
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
Angel5a Angel5a вне форума
Member
 
Сообщений: 1,213
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 28.02.2005
По умолчанию 01.10.2006, 01:37

ну тут я вспомнил самого себя. как долго я парился с тем что мне выбрать. в итоге щас я использую 3 компилятора, в зависимости от потребностей...
быстрота создания - безусловно билдер
размер проэкта, скорость работы и затраченным усилия - спорят LCC и VC
Собственно если ты хочешь писать на WinAPI, то нет большово смысла использовать билдер, разве только если ты не используешь классы типа AnsiString или StringList и пр. проще взять компилятор расчитанный на винапи. Обосную фразу: Билдер довольно таки плохо работает с ВинАпи. простенькие приложения (винхедер допустим) он оказываеться нормально писать (во всяком случае в моей версии билды) . в добавок билдовый хелп довольно таки скуден в отношении апи.
вижуал, о нём я могу сказать только то что для апи он тоже сильно "перегружен". много лишних библиотек, и чтоб их отключить это целая история.
лцц - довольно таки лёгкий, с хорошим хелпом по винапи, компилятор. но тоже не без недостатков. один из них (и довольно таки огромный) сложно работать в режиме отладки (а это главное для програмиста), плюс некоторые глюки в редакторе... но если привыкнуть, то эти недостатки не заметны ))
Ну в общем о вкусах не спорят. что выбрать решай сам.

ЗюЫюЖ всё сказанное выше чистое имхо, основанное на личном опыте работы с данными продуктами.
Ответить с цитированием
  (#7 (permalink)) Старый
Lin@ Lin@ вне форума
Member
 
Сообщений: 75
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 07.07.2006
По умолчанию 03.10.2006, 20:00

Цитата:
решай сам
я бы написала с капслоком . Шучу!
Вот пишу игру с простеньким пользовательским интерфейсом уже 2 месяца с перерывами... и думаю, зачем мне Builder, если упор идёт не на визуальные компоненты. А очень удобный StringList я и сама за энное количество часов напишу. Пора бы переходить на WinAPI. Всё, что я могу узнать пока, это инфа из хэлпа по Вин АПИ от Архангельского. Не могли бы вы мне ссылочку дать на что-нить поразвёрнутее

На VC я писала с самого начала, на Builder я потом перешла. Могу сказать, что VC тоже глюки ловит. Да и поведение визуальных объектов там странное. Парень на форуме по VC писал, что хотел поменять размеры Edit програмно:
Цитата:
GetWindowRect(&Rect);
Qwest.SetRect(CRect(0,0,Rect.Width()-10,60));
Data.SetRect(CRect(0,0,Rect.Width()-10,80));
а получил изменения внутреннего окна с текстом, а внешняя рамка осталась, естественно не давая отображаться той части окна, на которую произошло увеличение, если понятно изъсняюсь.

P.S. А книг толковых по VC в печатном варианте я не видела - всё простенькие какие-то. Архангельского внушительнее, хотя по VC, я считаю, литература должна быть толковая в большей степени. На то Builder и КОП, что осветили в общих чертах, а дальше интуитивно.
Ответить с цитированием
  (#8 (permalink)) Старый
IL_Agent IL_Agent вне форума
Member
 
Аватар для IL_Agent
 
Сообщений: 2,015
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 03.07.2005
По умолчанию 03.10.2006, 23:11

Цитата:
Вот пишу игру с простеньким пользовательским интерфейсом уже 2 месяца с перерывами... и думаю, зачем мне Builder, если упор идёт не на визуальные компоненты. А очень удобный StringList я и сама за энное количество часов напишу. Пора бы переходить на WinAPI.
По-моему тратить часы ради того, чтобы сэкономить сотню килобайт, не стоит. Я отказываюсь от MFC (я на VC пишу) тогда, когда ГУИ вообще не используется. К примеру, приложения на DX или консольные.

Цитата:
Парень на форуме по VC писал, что хотел поменять размеры Edit програмно:
а получил изменения внутреннего окна с текстом, а внешняя рамка осталась, естественно не давая отображаться той части окна, на которую произошло увеличение, если понятно изъсняюсь.
Не, не очень понятно. ;-) Вообще размеры и положение окон меняются методом MoveWindow.

Цитата:
P.S. А книг толковых по VC в печатном варианте я не видела - всё простенькие какие-то. Архангельского внушительнее, хотя по VC, я считаю, литература должна быть толковая в большей степени. На то Builder и КОП, что осветили в общих чертах, а дальше интуитивно.
По ВЦ полно нормальных книг. ПОсоветовать не могу, не помню авторов. Лично мне хватает MSDN и Гугла :-) . А по ВинАПИ - Петзольд, это классика.
Ответить с цитированием
  (#9 (permalink)) Старый
Lin@ Lin@ вне форума
Member
 
Сообщений: 75
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 07.07.2006
По умолчанию 07.10.2006, 09:28

Цитата:
К примеру, приложения на DX или консольные.
Ну консольные это круто конечно. Есть ли вообще такие, которые используют VCL в консольных приложениях.
Ответить с цитированием
  (#10 (permalink)) Старый
IL_Agent IL_Agent вне форума
Member
 
Аватар для IL_Agent
 
Сообщений: 2,015
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 03.07.2005
По умолчанию 07.10.2006, 23:23

Цитата:
Ну консольные это круто конечно. Есть ли вообще такие, которые используют VCL в консольных приложениях.
Не знаю, не встречал. :-) А вот MFC используют.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Эллипсоид как его нарисовать Вика55 Delphi 0 30.01.2011 13:36
Линия в Qt3 как ее нарисовать bilboke Trolltech Qt 4 28.11.2008 23:10
Нарисовать график как ГС ТОФ Delphi 2 21.09.2007 12:38
Нарисовать ломаную Aleksandr Форум программистов 3 20.06.2007 15:01
Как нарисовать цилиндр puzlik Программирование графики 1 04.05.2006 18:15
Как чтобы в одну форму вводились данные и обрабатывались , а в другой форму результат sq-Weezee C++ Builder 10 04.02.2006 00:38
Как нарисовать два острова zarra Pascal 8 30.12.2005 06:31
Как нарисовать параболу в С++ Alenka Вопросы начинающих программистов 33 06.11.2005 19:48
Как нарисовать график в С++ Semicolloid Visual C++ 2 28.02.2005 15:58
Как нарисовать цилиндр в С++ kastet Вопросы начинающих программистов 24 10.12.2004 23:43
3Dpixel как его нарисовать Alter Pascal 6 07.11.2004 02:16
Как переходить с форму на форму и вызывать сообщения Anonymous C++ Builder 8 09.01.2004 21:34



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов