Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 314
от 04.12.2005, 16:12

Администратор:Калашников О.А.
В рассылке:Подписчиков: 255, Экспертов: 49
В номере:Вопросов: 7, Ответов: 25


Вопрос № 30390: Здравствуйте эксперты ! У меня такой вопрос как можно узнать у wav скольки канальный он, моно или стерео и сколько kHz ...
Вопрос № 30405: Как можно зделать кнопку Пуск белои или черноЙ и писать на ней текст?...
Вопрос № 30409: Люди добрые, подскажите где можно качнуть Theme Engine или SkinEngine для Delphi 7 с патчем!!!. А то не могу найти. С torry скачал SkinEngine, а он просит много $. Патч так и не нашел. Может к-нить другие компоненты для изменения скинов, тем. Тол...
Вопрос № 30411: Как в Delphi запрограммить стандартное окно сохранения Windows. Где отображаются названия дисков; папок и файлов, содержащихся на них....
Вопрос № 30415: Можно ли сделать так, чтобы в Delphi в редакторе кода отображались номера строк? Или без дополнительных примочек не обойтись?...
Вопрос № 30421: Повторяю свой вопрос: Есть база данных (Fox Pro 9 - реализация) нужно написать программу, которая будует генерировать другую программу, КОТОРАЯ в свою очередь будет делать отчет (например, выводить таблицу с затребованными в предыдущей программе данн...
Вопрос № 30430: Господа Эксперты! Задавал вопрос: http://www.rusfaq.ru/?Step=search&ID=30084 Увы, ответа не поступило. Может все таки кто-нибудь сталкивался с большими массивами данных? Условие помещения данных одно - они все должны быть в памя...

Вопрос № 30.390
Здравствуйте эксперты !
У меня такой вопрос как можно узнать у wav скольки канальный он, моно или стерео и сколько kHz
Отправлен: 28.11.2005, 18:39
Вопрос задал: Dimon007 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: sir henry
Здравствуйте, Dimon007!
http://geom.mgsu.ru/Docs/CodeNet/www.codenet.al.ru/progr/audio/sbprot.htm
Здесь описан формат заголовка файла прочитав который можно это все и узнать.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 28.11.2005, 19:43


Вопрос № 30.405
Как можно зделать кнопку Пуск белои или черноЙ и писать на ней текст?
Отправлен: 28.11.2005, 21:22
Вопрос задал: REFERI (статус: Студент)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ujin Antikvar
Здравствуйте, REFERI!

Для начала создайте какой-нибудь Bitmap, который вы будете натягивать на кнопку [т.к. такого понятия как "заголовок кнопки ПУСК" в действительности не существует], а та надпись, что находится на стартовой кнопке, является рисунком. Создавая рисунок, учитывайте размеры и то, что левая сторона должна быть "плоской", это связано с особенностями наложения.

Далее займёмся проектом. Сначала объявляем глобальные переменные

StartButton: hWnd;
OldBitmap: THandle;
NewImage: TPicture;

Затем описываем событие по создания окна [OnCreate]:

procedure TForm1.FormCreate(Sender: TObject);
begin
NewImage := TPicture.create;
NewImage.LoadFromFile('C:Windowsdelphi.BMP'); //здесь укажите путь к нужному файлу
StartButton := FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'Button', nil);
OldBitmap := SendMessage(StartButton, BM_SetImage, 0, NewImage.Bitmap.Handle);
end;

Если вы делаете это на своей машине, то можете всё восстанавливать по событию OnDestroy:

procedure TForm1.FormDestroy(Sender: TObject);
begin
SendMessage(StartButton, BM_SetImage, 0, OldBitmap);
NewImage.Free;
end;


---------
"Будущее принадлежит тем, кто верен своей мечте" - Элеонора Рузвельт
Ответ отправил: Ujin Antikvar (статус: 3-ий класс)
Отправлен: 29.11.2005, 16:10


Вопрос № 30.409
Люди добрые, подскажите где можно качнуть Theme Engine или SkinEngine для Delphi 7 с патчем!!!. А то не могу найти. С torry скачал SkinEngine, а он просит много $. Патч так и не нашел.
Может к-нить другие компоненты для изменения скинов, тем. Только чтобы с лекарством.
Отправлен: 28.11.2005, 22:57
Вопрос задал: REFERI (статус: Студент)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ujin Antikvar
Здравствуйте, REFERI!

Можете попробывать компонент SkinForm.
Скачать его можно отсюда _http://www.qwerks.com/download.asp?ProductID=2447

В нем предоставлены возможности:

1.поддержка файлов bmp и jpeg
2.поддержка графических кнопок, а так же переключающиеся и радои кнопки
3.поддержка текста, графического текста и цифр
4.поддержка графического track bar
5.поддержка multi skin-ов, то есть Вы можете создать свой скин для каждой формы приложения
6.поддержка внутренних скинов, то есть скины могут быть сохранены в ресурсном файле
---------
"Будущее принадлежит тем, кто верен своей мечте" - Элеонора Рузвельт
Ответ отправил: Ujin Antikvar (статус: 3-ий класс)
Отправлен: 29.11.2005, 16:31
Оценка за ответ: 5
Комментарий оценки:
Огромное спасибо за помощь. Красота!!!
Просто супер, супер, супер!!!
Спасибо, брат!

Отвечает: Ataman N. N.
Здравствуйте, REFERI!
Могу вам сбросить SkinEngine v 3.0. Под Delphi 7 идет, если нет, то сами уже подстроите.
Мой адрес atamannn@mail.ru
Ответ отправил: Ataman N. N. (статус: 4-ый класс)
Отправлен: 29.11.2005, 17:29
Оценка за ответ: 5
Комментарий оценки:
Огромное спасибо за помощь. Все фурычит!

Отвечает: Denisss
Здравствуйте, REFERI!
1. Эти наборы компонентов есть в P2P сетях.
2. На рынках продаются диски с наборами компонент для Delphi. У меня у самого есть такой диск, на котором эти наборы находятся в исходниках.
3. Рекомендую набор компонент AlphaControls (для русско-говорящих бесплатно, но без исходников)
http://www.alphaskins.com/index_rus.php - ссылка на запароленный архив внизу, пароль находится в тексте. Если Вы хорошо владеете русским языком, пароль Вам будет доступен :)
Ответ отправил: Denisss (статус: Специалист)
Отправлен: 30.11.2005, 17:07
Оценка за ответ: 5
Комментарий оценки:
Спасибо, брат, это лучшее из всех что мне предложили! Так держать! И успехов в экзаменах!


Вопрос № 30.411
Как в Delphi запрограммить стандартное окно сохранения Windows. Где отображаются названия дисков; папок и файлов, содержащихся на них.
Отправлен: 28.11.2005, 23:02
Вопрос задал: Мордовин Илья (статус: 1-ый класс)
Всего ответов: 7
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Jadd
Здравствуйте, Мордовин Илья!
На вкладке Dialogs есть диалог сохранения. Пишешь if SaveDialog.Execute then и сохраняешь. Или тебе нужен диалог как в ворде и прочих билловских программках?
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Специалист)
Отправлен: 28.11.2005, 23:07

Отвечает: REFERI
Здравствуйте, Мордовин Илья!
На вкладке Dialogs есть компонент SaveDialog. Используй его. Он ничего сам по себе не сохраняет. А нужен только для выбора имени файла.
метод - execute - открыть диалог:
SaveDialog1.Execute;
Удачи!

---------
Не судите, да не судимы будете...
Ответ отправил: REFERI (статус: Студент)
Отправлен: 29.11.2005, 00:38

Отвечает: Маренич Владимир
Здравствуйте, Мордовин Илья!
Попробуйте использовать TSaveDialog из закладки Dialogs.
Ответ отправил: Маренич Владимир (статус: 7-ой класс)
Отправлен: 29.11.2005, 01:23

Отвечает: Schmak
Здравствуйте, Мордовин Илья!
Используйте диалог SaveDialog со вкладки Dialogs. В свойстве Filter устанавливаете нужные маски файлов. Методом Execute вызываете окно. В свойстве Filename сохраняется мя файла.

if SaveDialog1.Execute then
begin
что-нибудь.Savetofile(Savedialog1.Filename);
end;
---------
Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: Студент)
Отправлен: 29.11.2005, 05:38

Отвечает: sir henry
Здравствуйте, Мордовин Илья!
В Дельфи есть специальный компонент SaveDialog, посмотрите на вкладке "Dialogs". Это оно и есть.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 29.11.2005, 07:15

Отвечает: Vadim Vitomsky
Здравствуйте, Мордовин Илья!
Для этого проще всего использовать стандартный компонент SaveDialog (находится на вкладке Dialogs).
Ответ отправил: Vadim Vitomsky (статус: 4-ый класс)
Отправлен: 29.11.2005, 09:15

Отвечает: CJ
Здравствуйте, Мордовин Илья!
На вкладке компонентов Dialogs есть компонент TSaveDialog.
Ответ отправил: CJ (статус: Студент)
Отправлен: 30.11.2005, 21:40


Вопрос № 30.415
Можно ли сделать так, чтобы в Delphi в редакторе кода отображались номера строк? Или без дополнительных примочек не обойтись?
Отправлен: 29.11.2005, 00:14
Вопрос задал: Brutaller (статус: Посетитель)
Всего ответов: 6
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: REFERI
Здравствуйте, Brutaller!
Такая фича появилась в Delphi 2005 и 2006. Все строки пронумерованы + Все процедуры можно сворачивають и разворачивають по отдельности, контекст обозначается разными цветами. Класс!
---------
Не судите, да не судимы будете...
Ответ отправил: REFERI (статус: Студент)
Отправлен: 29.11.2005, 00:38

Отвечает: Schmak
Здравствуйте, Brutaller!
Скорее всего вы пользуетесь версией 7 и ниже. Я пользуюсь 2005 Delphi, так вот нумерация строк там есть без всяких примочек. Да и кроме нумерации там полно преимуществ перед дргими Delphi, перечислять которые я не буду, лучше установите и помотрите сами.

---------
Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: Студент)
Отправлен: 29.11.2005, 05:38

Отвечает: Warrior
Здравствуйте, Brutaller!
Нумерация как такова есть :) смотри внизу.
Пользуйся закладками.
Ctrl+Shift + число = устанавливаешь закладку
повторное нажатие - снимает ее
Ctrl+число = переход по закладке
Ответ отправил: Warrior (статус: 2-ой класс)
Отправлен: 29.11.2005, 06:28

Отвечает: sir henry
Здравствуйте, Brutaller!
Если у Вас Дельфи7, то смотрите внизу окна, там номера строк.
Или, если машина Пень4 и 512МБ памяти, можно поставить дельфи 2005, там сбоку идет нумерация.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 29.11.2005, 07:18

Отвечает: Ataman N. N.
Здравствуйте, Brutaller!
Обычно в редакторе номера строк и столбцов отображаются. Смотрите в статусе.
Ответ отправил: Ataman N. N. (статус: 4-ый класс)
Отправлен: 29.11.2005, 17:26
Оценка за ответ: 5
Комментарий оценки:
Точно =)
А я что-то никогда не обращал на это внимание. Спасибо.

Отвечает: Каськов Артем Игоревич
Здравствуйте, Brutaller!
Помойму ни как не сделать, во всяком случае в настройках редактора нет такой настройки.
Ответ отправил: Каськов Артем Игоревич (статус: 4-ый класс)
Отправлен: 30.11.2005, 03:11


Вопрос № 30.421
Повторяю свой вопрос: Есть база данных (Fox Pro 9 - реализация) нужно написать программу, которая будует генерировать другую программу, КОТОРАЯ в свою очередь будет делать отчет (например, выводить таблицу с затребованными в предыдущей программе данными).
Вся проблемма в том что я незнаю как производить чтение из данной базы данных, и как сделать так чтоб сгенерированная программа автоматически компилилась и начинала работу.
Отправлен: 29.11.2005, 08:28
Вопрос задал: Andrew (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: sir henry
Здравствуйте, Andrew!
1. Доступ к базе данных более чем стандартен. Или через BDE, или через ADO, или через какой-то специально написаный компонент. Описать КАК - невозможно, слишком много писать. Купите книжку по работе с БД, там все написано.
2. Процесс описаный Вами неэффективен - Ваша программа генерирует генератор, ктороый потом компилируется, потом проводит снятие данных из базы, а потом строил отчет. Этот генератор явно лишний. Абсолютно непонятно, для чего он нужен, а если он нужен - то для чего нужна Ваша первоначальная программа. Извините. :)
Ответ отправил: sir henry (статус: Академик)
Отправлен: 29.11.2005, 08:51

Отвечает: Лучников Юрий Владимирович
Здравствуйте, Andrew!

Для работы с FoxPro базами вам нужно копать в сторону BDE или ADO..

Компиляция программы:
Для этого нужно создать шаблон этой программы, которая будет читать инстркции откуда то из-вне (или текстовый файл, или прописывать в конец exe-файла)
Ответ отправил: Лучников Юрий Владимирович (статус: 1-ый класс)
Отправлен: 29.11.2005, 13:41

Отвечает: Lector
Здравствуйте, Andrew!
Создайте программу, которая будет делать отчёт по данным, взятым из ресурсного файла, который имеет название, зависящее от названия самой программы. Положите эту программу в ресурсный файл программы, которая будет создавать программу для генерирования отчёта :-). При необходимости считайте данные из БД, вытащите из ресурсного файла отчётогенератор, сохраните его с каким-то уникальным именем, создайте файл ресурсов с названием, согласно выбранному алгоритму и положите в него все данные, которые будет использовать отчётогенератор.
Считать данные попробую через ODBC.
---------
Хочешь помочь старику - сделай вместо него.
Хочешь помочь новичку - сделай вместе с ним.
Хочешь помочь мастеру - отойди и не мешай,
а хочешь помочь дураку - сам дурак.
Ответ отправил: Lector (статус: Студент)
Отправлен: 29.11.2005, 15:56

Отвечает: Warrior
Здравствуйте, Andrew!
Все довольно просто. Ненадо изобретать велосипеды.
Пользуемся только BDE или ADO. Если BDE используем, то при переносе на другой комп нужно тащить и библиотеки BDE (что немного затрудняет работу для НЕКОТОРЫХ), а вот с ADO таких проблем не будет, но и сам проект будет весить больше.
Промежуточное звено надо убрать - так не годится. Пользователю это не понравится.
Ответ отправил: Warrior (статус: 2-ой класс)
Отправлен: 30.11.2005, 05:58


Вопрос № 30.430
Господа Эксперты!

Задавал вопрос: http://www.rusfaq.ru/?Step=search&ID=30084
Увы, ответа не поступило.

Может все таки кто-нибудь сталкивался с большими массивами данных? Условие помещения данных одно - они все должны быть в памяти. Т.е. распаковывываем файл и весь помещаем в память, где с ним и работаем. Что это будет, динамический массив, или стринг лист не знаю. Может что есть в Дельфи 2005? Сам пока сижу на Delphi5.

И второе под 2005-2006 Rx есть хоть какой нить, очень не хочется переписывать массу мест.

Тьфу, тьфу, тьфу больше никаких "чужих" компонент не использовал.

Спасибо!

Отправлен: 29.11.2005, 09:34
Вопрос задал: LanK (статус: 3-ий класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: sir henry
Здравствуйте, LanK!
1. "Что это будет, динамический массив, или стринг лист" - вот и никто не знает. :)
Надо написать, что Вы потом с этим будете делать, тогда будет ясно, куда и как этот "массив данных" помещать.
Пока подходит все что угодно - и динамический массив, и стринглист, и простое выделение динамической памяти...
2. А Вы пробовали Rx поставить под 2005-2006? Если Вы используете Win32, а не .NET, то никакой разницы не будет. если будут выползать ошибки при установке, тогда их надо рассматривать и будет ясно как исправить, но именно кокретную ошибку, а не вообще.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 29.11.2005, 09:47

Отвечает: Jadd
Здравствуйте, LanK!
А что значит "большими массивами данных"? Я сталкивался, правда на Visual C++, но это сути дела не меняет. Проще динамический массив - сам контролируешь процесс управления памятью. Конкретно задавай вопрос, где трудности возникли при считывании файла?

Про RX. Не парься. Возьми, посмотри как созданы dpk-шки и сделай версию для 2005. Там все просто. И будет тебе счастье.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Специалист)
Отправлен: 29.11.2005, 09:47

Отвечает: Лучников Юрий Владимирович
Здравствуйте, LanK!

Думаю Вам следует использовать TFileStream.
Ответ отправил: Лучников Юрий Владимирович (статус: 1-ый класс)
Отправлен: 29.11.2005, 13:44


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100 hotlog_js="1.0"; hotlog_r=""+Math.random()+"&s=314124&im=101&r="+escape(document.referrer)+"&pg="+ escape(window.location.href); document.cookie="hotlog=1; path=/"; hotlog_r+="&c="+(document.cookie?"Y":"N"); hotlog_js="1.1";hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N") hotlog_js="1.2"; hotlog_r+="&wh="+screen.width+'x'+screen.height+"&px="+ (((navigator.appName.substring(0,3)=="Mic"))? screen.colorDepth:screen.pixelDepth) hotlog_js="1.3" hotlog_r+="&js="+hotlog_js; document.write("HotLog")

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Архив рассылки
Отписаться
Вспомнить пароль

В избранное