Вопрос № 29955: Здравствуйте уважаемые эксперты!
Где можно скачать набор компонент для Delphi7(ElPack), содержащий компоненту ElTree?
Зранее благодарю ...Вопрос № 29970: Подскажите как в DBGrid в режиме редактирования по нажатию клавиш со стрелками влево или вправо перейти в соседнюю левую или правую ячейку соответсвенно....Вопрос № 29971: дЭльфинам пасвещаецца...
Вопрос
Как правильно: компонент или компонента?
Компонент (книжн.) - составная часть чего-нибудь. Компонента (специальное) - математический, физический термин: составляющая чего-нибудь: компонент...Вопрос № 29975: Здравствуйте! Нудный вопрос, однако я не нашёл на него хорошего ответа: можно в Delphi воспроизвести mp3, если нет, то где есть компоненты(free)?...Вопрос № 29995: Подскажите плиз как сделать чтоб скомпилированный .exe файл был меньше по размеру, а то пустая
форма весит 300 kB. ...Вопрос № 30000: Уважаемые мастера, срочно нужна Ваша помощь!
Компиляция (ide и dcc32) проекта (даже пустого) в Delphi 5 (нужна именно эта версия) выдает internal error URW 3375 (из сети: DCU reading/writing, рекомендация "Build all projects"). Железо (...Вопрос № 30013: Ув Эксперты
у меня проблема помогите!
form1.OleContainer1.CreateObject('word.application',false);
при двойном клике оно выдает такую ошибку
"Интерфейс не поддреживается"
при таком расскладке оно работает
//form1.O...
Вопрос № 29.955
Здравствуйте уважаемые эксперты!
Где можно скачать набор компонент для Delphi7(ElPack), содержащий компоненту ElTree?
Зранее благодарю
Отправлен: 21.11.2005, 17:52
Вопрос задала: Lucy (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Архангельский Андрей Германович
Здравствуйте, Людмила Л.В.!
Есть хороший сайт для компонент и библиотек http://www.torry.ru
однако деревья лучше строить на базе простого TreeView
Подробнее смотрите:
http://www.az-design.ru/Support/DataBase/DBTreeToc.shtml
Отвечает: sir henry
Здравствуйте, Людмила Л.В.!
ElTree Lite скачать можно здесь:
http://bib.com.ua/info1653.html
А ElPack - это набор платных компонентов.
Вообще-то Вы и сами вожете воспользоваться яндексом или гуглем прежде чем сюда обращаться с такими вопросами.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 21.11.2005, 18:44
Вопрос № 29.970
Подскажите как в DBGrid в режиме редактирования по нажатию клавиш со стрелками влево или вправо перейти в соседнюю левую или правую ячейку соответсвенно.
Отвечает: Prosto_Blackhowk
Здравствуйте, Захаров Дмитрий Александрович!
по-моему, нужно в options поставить в false свойства dgRowSelect и dgAlwaysRowSelection
Ответ отправил: Prosto_Blackhowk (статус: 1-ый класс)
Отправлен: 22.11.2005, 08:42
Отвечает: Татьяна
Здравствуйте, Захаров Дмитрий Александрович!
Например я сделала так : определить событие грида onKeyDown
Я сделала при нажатии влево, но я думаю идею вы помете
Приложение:
--------- Нет ничего невозможного!!!
Ответ отправила: Татьяна (статус: 8-ой класс)
Отправлен: 22.11.2005, 18:43 Оценка за ответ: 5
Вопрос № 29.971
дЭльфинам пасвещаецца...
Вопрос
Как правильно: компонент или компонента?
Компонент (книжн.) - составная часть чего-нибудь. Компонента (специальное) - математический, физический термин: составляющая чего-нибудь: компонента вектора. Таким образом, слово компонент шире по употреблению, во всех нетерминологических контекстах следует употреблять слово компонент.
Origin: http://spravka.gramota.ru/difficulties.html?let=%EA&id=175
в рассылку плиз :)
Конечно прабильно компонетн.
--------- Не судите, да не судимы будете...
Ответ отправил: REFERI (статус: 6-ой класс)
Отправлен: 21.11.2005, 22:26
Отвечает: Denisss Здравствуйте, Bob Johnson!
Хочу выразить Вам благодарность (по крайней мере от себя) :)
Т.к. сам путался в данных понятиях и нередко использовал "компонента", вместо "компонент".
Спасибо!
Ответ отправил: Denisss (статус: Специалист)
Отправлен: 21.11.2005, 22:51
Отвечает: Warrior
Здравствуйте, Bob Johnson!
Всегда говорил и не задумывался - Компонент.
Ответ отправил: Warrior (статус: 2-ой класс)
Отправлен: 22.11.2005, 05:44
Отвечает: Schmak
Здравствуйте, Bob Johnson!
А может быть правильно вообще писать 'компонентъ' :)
Лично я во всех книгах встречал только понятие 'компонент', поэтому я даже не представляю как можно его(а может быть на самом деле её) назвать компонентой.
--------- Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: Студент)
Отправлен: 22.11.2005, 06:00
Вопрос № 29.975
Здравствуйте! Нудный вопрос, однако я не нашёл на него хорошего ответа: можно в Delphi воспроизвести mp3, если нет, то где есть компоненты(free)?
Отправлен: 21.11.2005, 21:22
Вопрос задал: Segor (статус: Посетитель)
Всего ответов: 6 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Маренич Владимир
Здравствуйте, Segor!
Посмотрите на www.torry.net
Там тонны разных компонентов и free и sw
Ответ отправил: Маренич Владимир (статус: 7-ой класс)
Отправлен: 21.11.2005, 22:33
Отвечает: REFERI
Здравствуйте, Segor!
Нудный вопрос? Ну и что!
Вот, пожалуйста, ответ:
На вкладке System есть компонент MediaPlayer.
Используйте его. Ниже код.
procedure TForm1.FormCreate(Sender: TObject);
begin
MediaPlayer1.FileName:='c:1.mp3';
MediaPlayer1.Open;
MediaPlayer1.Play;
end;
Все просто!
Удачи!
--------- Не судите, да не судимы будете...
Ответ отправил: REFERI (статус: 6-ой класс)
Отправлен: 21.11.2005, 22:34
Отвечает: Denisss Здравствуйте, Segor!
MP3 можно воспроизводить с помощью TMediaPlayer (на закладке System).
Хотя возможно, что в Win9x работать не будет, но кто сейчас на ней сидит?!
Кроме того хочу рекомендовать Вам компонент TBassPlayer (кажется на torry.net он есть), который управляет библиотекой Bass.dll (скорее всего Вы ее найдете вместе с компонентом). Эта библиотека позволяет, кроме MP3 воспроизводить и некоторые другие форматы (OGG, WMA, ...).
Пример см. тот, что поставляется вместе с компонентом.
Ответ отправил: Denisss (статус: Специалист)
Отправлен: 21.11.2005, 22:48
Отвечает: sir henry
Здравствуйте, Segor!
Если в системе установлен кодек, то можно чем угодно воспроизводить. Вот, на выбор, три варианта:
1. МедиаПлейер,
2. WinAPI функция PlaySound()
3. Через запуск плейера по умолчанию:
ShellExecute(0, 'open', 'Имя_файла.mp3', NIL, NIL, SW_SHOW);
Ответ отправил: sir henry (статус: Академик)
Отправлен: 22.11.2005, 04:47
Отвечает: Schmak
Здравствуйте, Segor!
Стандартный компонент MediaPlayer на вкладке System.
В свойстве filename пропишите имя файла. Затем методом open открываете его и воспроизводите методом Play;
--------- Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: Студент)
Отправлен: 22.11.2005, 06:00
Отвечает: Ataman N. N.
Здравствуйте, Segor!
MP3 можно воспроизводить и с помощью стандартного компонента MediaPlayer.
Ответ отправил: Ataman N. N. (статус: 2-ой класс)
Отправлен: 22.11.2005, 09:31
Вопрос № 29.995
Подскажите плиз как сделать чтоб скомпилированный .exe файл был меньше по размеру, а то пустая форма весит 300 kB.
Отправлен: 22.11.2005, 08:12
Вопрос задал: LaLexei (статус: Посетитель)
Всего ответов: 9 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: sir henry
Здравствуйте, LaLexei!
Не пользоваться компонентами VCL, больше никак. Это они дают такой чудовищный прирость размера. Нужно:
1. Прогаммировать с применением только WinAPI,
2. Или использовать библиотеку компонентов KOL (http://bonanzas.rinet.ru). Как работать с этой библиотекой можно узнать почитав документацию на сайте http://www.kolnmck.ru/lessons.htm.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 22.11.2005, 08:33
Отвечает: Denisss Здравствуйте, LaLexei!
1. Использовать библиотеку компонентов KOL
2. Писать программы на чистом WinAPI (без визуальной среды и VCL), можете воспользоваться специальными готовыми библиотеками (Lenin, ACL) - но размер в итоге будет чуть больше, чем на чистом WinAPI (пример: у меня была программа, с библиотекой Lenin ~70K, на чистом WinAPI ~30K)
3. Сжимать программу упаковщиками типа UPX, ASPack (лучше первым - он распространенный и бесплатный)
Ответ отправил: Denisss (статус: Специалист)
Отправлен: 22.11.2005, 08:36
Отвечает: Prosto_Blackhowk
Здравствуйте, LaLexei!
Следующий способ уменьшить размер программы заключается в ответе на
вопрос: "Из-за чего программа, созданная Delphi, получается большой?" От-
вет очень прост: Delphi является объектным языком. В нем каждый элемент
выглядит как объект, который обладает своими свойствами, методами и со-
бытиями. Любой объект вполне автономен и многое умеет делать без ваших
указаний. Это значит, что вам нужно только подключить его к своей форме,
изменить нужным образом свойства, и приложение готово! И оно будет ра-
ботать без какого-либо прописывания его деятельности.
Но в объектном программировании есть и свои недостатки. В объектах реа-
лизовано большое количество действий, которые вы и пользователь сможете
производить с ним. Но реально в любой программе мы используем два-три
из всех этих свойств. Все остальное — для программы лишний груз, кото-
рый никому не нужен.
Но как же тогда создать компактный код, чтобы программа занимала мини-
мум места на винчестере и в оперативной памяти? Тут есть несколько вари-
антов.
1. Не использовать VCL (для любителей Visual C++ — это библиотека
MFC), которая упрощает программирование. В этом случае весь код при-
дется набирать вручную и работать только с WinAPI. Программа в таком
случае получается очень маленькой и быстрой. Но таким образом вы ли-
шаетесь простоты визуального программирования и можете ощутить все
неудобства программирования с помощью чистого WinAPI.
2. Сжимать готовые программы с помощью компрессоров. Объектный код
сжимается в несколько раз, и программа, созданная с использованием
VCL, может превратиться из монстра в 300 Кбайт в скромного по разме-
рам "зверя", весящего всего 30—50 Кбайт. Главное преимущество состоит
в том, что вы не лишаетесь возможностей объектного программирования
и можете спокойно забыть про неудобства WinAPI.
Для того чтобы создать маленькую программу в Delphi, нужно создать но-
вый проект (по умолчанию Delphi при открытии сама создаст новый файл
проекта, но вы всегда можете создать новое приложение, выбрав FileNew
Application), и зайти в менеджер проектов (меню ViewProject Manager).
Здесь нужно удалить все модули и формы (пункт Unit, он выделен на
рис. 1.4), чтобы остался только файл самого проекта (по умолчанию его имя
Projectl.exe). Никаких модулей в проекте не должно быть.
Чтобы избавиться от накладных расходов, нужно заменить модуль Forms на
windows, который описывает только WinAPI. Этот модуль связан с объекта-
ми Delphi, и его подключение является обязательным, иначе вы не сможете
вызвать ни одной функции из набора WinAPI. А между begin и end вообще
все можно удалить. В итоге самый минимальный (с учетом использования
модуля windows) код программы будет выглядеть так:
Приложение:
Ответ отправил: Prosto_Blackhowk (статус: 1-ый класс)
Отправлен: 22.11.2005, 08:50
Отвечает: Vadim Vitomsky
Здравствуйте, LaLexei!
Для этого можно воспользоваться несколькими способами.
Во-первых, можно использовать альтернативный набор компонентов KOL/MCK (можно взять на http://bonanzas.rinet.ru, та мже и документация).
Во-вторых, можно писать на чистом WinAPI (очень неудобно).
В-третьих, если необходимо просто уменьшить размер готового приложения, можно воспользоваться утилитой UPX (если не получится найти, пиши - вышлю на мыло).
Ответ отправил: Vadim Vitomsky (статус: 3-ий класс)
Отправлен: 22.11.2005, 09:26
Отвечает: Ataman N. N.
Здравствуйте, LaLexei!
Пишите программу на чистом API, или можете попробовать кодоореентированную библиотеку KOL!
О KOL можно почитать на http://delphimaster.ru/
Ответ отправил: Ataman N. N. (статус: 2-ой класс)
Отправлен: 22.11.2005, 09:26
Отвечает: Lector
Здравствуйте, LaLexei!
Поотключайте библиотеки.
Перейдите на winapi.
Отключите добавление отладочной информации.
Скачайте набор лёгких библиотек.
--------- Хочешь помочь старику - сделай вместо него. Хочешь помочь новичку - сделай вместе с ним. Хочешь помочь мастеру - отойди и не мешай, а хочешь помочь дураку - сам дурак.
Ответ отправил: Lector (статус: 10-ый класс)
Отправлен: 22.11.2005, 12:22
Отвечает: Romodos
Здравствуйте, LaLexei!
Есть несколько вариантов.
Как вам уже сказали, вы можете
1)писать на чистом WinAPI (используя только функции операционной системы без пакета VCL). Почитайте хелп в Windows SDK (она включена в Делфи). Почитайте MSDN(msdn.microsoft.com), посетите RSND.ru
2)Писать с использованием библиотек KOL(Key Objects Library) и MCK(Mirror Classes Kit). В них также поддерживается визуальная среда разработки. Но некоторые нестабильны и недоработано. http://delphi.mastak.ru
3)К первым двум можно прибавить использование упаковщиков и навесных защит.
Это также понизит вероятность взлома программы.
Популярные: UPX, AsPAck(aspack.com), AsProtect, Armadilio, Orien (zalexf.narod.ru), Petite и т.д. По-моему, лучше использовать как раз менее известные упаковщики (особенно для защиты). Некоторые файлы сжимаются в 2,5 раза!!
--------- FAQ me off!
Ответ отправил: Romodos (статус: Студент)
Отправлен: 22.11.2005, 14:34
Отвечает: REFERI
Здравствуйте, LaLexei!
Меня этот вопрос тоже очень волнует и я его изучал.
Да, действительно, очень печально смотреть на голую форму, которая весит более 300 кб. Например, если писать трояна или что-нибудь в этом роде, то это никуда не годиться. Теперь по порядку - Способы уменьшения размера exe файлов.
1. Писать приложения без использования VCL (Visual Component Library). Файл - новый - другое - выбираете консольное приложение. Если не хотите чтобы программу было видно убираете {$APPTYPE CONSOLE}. Теперь программа весит порядка 40 кб. Все равно много!
2.Самый простой и эффективный способ - применим для программ написанных любым способом, хоть с использованием VCL, хоть без оного вовсе!
Лучше всех сжимает UPX, еще существует ряд пакеров, таких как ASPack, FSG и т.д.
Итак сжимаем наши 40 кб, используя UPX создаем для удобства *.bat файл и пишем в него upx.exe Project1.exe -9 В эту же папку копируем пакер и нажу прогу.
После сжатия - 9 - максимального, имеем вес 9 кб! Упаковав прогу с формой 360 кб превращаются в 118. UPX можно легко найти в интернете, программа бесплатная и весит 166 кб!
3. Писать программы с использованием компонента KOL. Приложение с одной формой весит 24 кб, упакованное пакером 15 кб. Недостаток - нельзя использовать стандартные компоненты Delphi, хотя используя KOL + MCK все не так уж плохо!
На этом сайте все есть и на русском http://www.kolnmck.ru/ (Спасибо Sir Henry) :)
4. Писать на WinApi Это самый эффективный метод - прога с формой весит 15 кб!!!
А сжатая пакером - 9 кб!!! Но писать на чистом WinApi сложно.
5. Исключать любую информация для отладки программы (project-Options Compiler - Debugging and project-Options Linker EXE and DLL options)
Ну вот пожалуй и все. Надеюсь теперь вам и вашим программам станет легче :)
В довершение приведу ряд ссылок
http://nonvcl.luckie-online.de
http://www.erm.tu-cottbus.de/delphi/stuff/Tutorials/nonVCL/index.html
http://www.angelfire.com/hi5/delphizeus/
http://www.tutorials.delphi-source.de/nonvcl/
В приложении пример программы, написанной с помощью WinApi - форма с надписью. Посмотрите сколько она будет весить!!!
Удачи в кодинге!!!
Приложение:
--------- Не судите, да не судимы будете...
Ответ отправил: REFERI (статус: 6-ой класс)
Отправлен: 22.11.2005, 20:10
Отвечает: Warrior
Здравствуйте, LaLexei!
Для себя нужно определиться - чего тебе надо.... или минимум кода или минимум размера.
1. Пиши на чистом WinApi - и будет тебе счастье - но максимум кода.
2. aspack - это паковальщик еxe и dll файлов. Ехе-шник сжимает в 3 раза. Отличная программа.
Ответ отправил: Warrior (статус: 2-ой класс)
Отправлен: 23.11.2005, 06:07
Вопрос № 30.000
Уважаемые мастера, срочно нужна Ваша помощь!
Компиляция (ide и dcc32) проекта (даже пустого) в Delphi 5 (нужна именно эта версия) выдает internal error URW 3375 (из сети: DCU reading/writing, рекомендация "Build all projects"). Железо (новое) P630 + Asus P5RD1-V + 2*512DDR400 + 40IDE + 160SATA.
ОС: Win98SE и WinXP Pro sp2. Заранее благодарен за ответ...
Отправлен: 22.11.2005, 10:14
Вопрос задал: Alnikmit (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 7)
Отвечает: Маренич Владимир
Здравствуйте, Alnikmit!
Так глючит не только 5-я, но и 7-я (у меня).
Решается примерно так:
1. Закрываем Delphi
2. Убиваем все *.DCU файлы проекта
3. Запускаем Delphi
4. Компилируем проект
Попробуйте
Ответ отправил: Маренич Владимир (статус: 7-ой класс)
Отправлен: 22.11.2005, 10:22 Оценка за ответ: 4
Отвечает: sir henry
Здравствуйте, Alnikmit!
Приведите полностью оригинальное сообщение об ошибке именно в том виде, в каком оно Вам выдается.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 22.11.2005, 10:24
Вопрос № 30.013
Ув Эксперты
у меня проблема помогите!
form1.OleContainer1.CreateObject('word.application',false);
при двойном клике оно выдает такую ошибку
"Интерфейс не поддреживается"
при таком расскладке оно работает
//form1.OleContainer1.CreateObjectFromFile('c:primer.dot',false);
где у меня ошибка?
2 вопрос оле контейнера не могу скопировать в word
помогите проблему решить
кусочек кода помогите срочно нужно
Приложение:
Отправлен: 22.11.2005, 13:08
Вопрос задал: ERA (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: sir henry
Здравствуйте, ERA!
1. Чтобы открыть пустой Word OLE-контейнер не нужен. И вдобавок он не поддерживает интерфейс приложения.
У Вас на вкладке "Servers" есть полный набор для работы с МС Офисом, пользуйтесь ими. Таместь и чистый Word и его дукументы, вобщем полный набор.
Можно вообще обойтись без этих компонентов, используя OLE напрямую:
var
MsWord: OleVariant;
Begin
MsWord:=CreateObject('Word.Application'); {Запускаем вордовский сервер}
MsWord.Documents.Add('Файл_документа.doc', EmptyParam); {Загружаем нужный документ}
MsWord.Visible:=True; {Делаем ворд видимым, если его еще не видно}
End;
Все просто и понятно, смотрим документ (или правим) прямо в самом ворде без нагромождения ненужных объектов.
2. Если сделаете как в пункте 1, то этот вопрос отпал сам собой.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 22.11.2005, 14:54