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

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


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

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

Выпуск № 588
от 10.09.2006, 17:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 373, Экспертов: 65
В номере:Вопросов: 4, Ответов: 9


Вопрос № 54291: Здраствуйте, уважаемые эксперты Делфи! Недавно начал программировать в Делфи. Программирую все, что попадаеться на глаза (головоломки, ребусы и т.д,), в смысле для тренировки и что-бы интересней было изучать Делфи. Если возможно, пожалуйста ...
Вопрос № 54307: Здравствуйте уважаемые эксперты Скажите пожалуйста как в Delphi 6 сделать чтобы при нажатии кнопку на компаненьте ToolBar создавалась кнопка ToolButton и как затем записать код который сработает при нажатии на эту кнопку. ...
Вопрос № 54324: Здравствуйте. Нужно сохранить текст из memo в текстовый файл при нажатии кнопки. Помогите, пожалуйста, сам никак не могу разобраться. ...
Вопрос № 54336: Помогите пожалуйста! Я пишу небольшой проигрыватель музыки. Но хотелось бы не только останавливаться на одних только mp3, wav, midi-файлах. Хочется, чтобы моя программа понимала ogg и mp4-музыку. Также очень хочется научиться извлекать информа...

Вопрос № 54.291
Здраствуйте, уважаемые эксперты Делфи!

Недавно начал программировать в Делфи. Программирую все, что попадаеться на глаза (головоломки, ребусы и т.д,), в смысле для тренировки и что-бы интересней было изучать Делфи. Если возможно, пожалуйста подталкните с кодом или идеей как реализовать следующую головоломку: есть поле букв (набор в виде квадрата 11*11) из них надо собрать слова.
Помогите, очень надо, для детей в воскреснной Библейской школы
С уважением,
Володя
г. Ивано-Франковск
Украина
Отправлен: 04.09.2006, 17:59
Вопрос задал: Тимофиев Владимир Михайлович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Тимофиев Владимир Михайлович!
Очевидно, только полным перебором. Ну и словарь обязательно надо вбить в программу. Для поиска по нему лучше всего использовать хоть какую-дь индексацию или по двоичному дереву.
---------
Не узнаешь - не попробуешь.
Ответ отправил: Сухомлин Кирилл Владимирович (статус: Студент)
Ответ отправлен: 04.09.2006, 18:38

Отвечает: Santus
Здравствуйте, Тимофиев Владимир Михайлович!

Пример на паскале.

Фактически вся задача реализуется в 2 функциях
1. Проходим всю матрицу 11*11 и считаем количество одинаковых символов.
ScanLetter
2. Проходим по заранее возможным словам и проверяем существуют
ли символы для генерации данного слова.
FindWord

С ув.

Приложение:

Ответ отправил: Santus (статус: 1-ый класс)
Ответ отправлен: 05.09.2006, 16:48


Вопрос № 54.307
Здравствуйте уважаемые эксперты
Скажите пожалуйста как в Delphi 6 сделать чтобы при нажатии кнопку на компаненьте ToolBar создавалась кнопка ToolButton и как затем записать код который сработает при нажатии на эту кнопку.
Отправлен: 04.09.2006, 20:00
Вопрос задал: W@NDeReR (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Mexes
Здравствуйте, W@NDeReR!
ToolButton:=TToolButton.Create(ToolBar);
ToolButton.Parent:=ToolBar;
ToolButton.ImageIndex:=...;
ToolButton.Caption:=...;
ToolButton.Hint:=...;
ToolButton.OnClick:=MyButtonClick;
Здесь обработчик MyButtonClick - метод класса с параметром Sender:TObject. Варианты следующие: либо разным кнопкам назначаются разные обработчики, либо им назначается один и тот же обработчик, а реакция формируется в зависимости от значения Sender:
if Sender is TToolButton then
if (Sender as TToolButton).Caption='Закрыть' then //обработчик
else if (Sender as TToolButton).Caption='Сохранить' then //
... //и т. д.

Но было бы лучше, если бы для возможных кнопок были заготовлены заранее действия TAction, тогда можно просто назначить кнопке действие, а иконка и подпись будут подставлены автоматически:
ToolButton:=TToolButton.Create(ToolBar);
ToolButton.Parent:=ToolBar;
ToolButton.Action:=MyAction;
//ToolButton.ItemIndex соответствует MyAction.ItemIndex, ToolButton.Hint соотвтетствует MyAction.Hint, действие по нажатию - MyAction.OnExecute
Ответ отправил: Mexes (статус: 2-ой класс)
Ответ отправлен: 04.09.2006, 20:20


Вопрос № 54.324
Здравствуйте.
Нужно сохранить текст из memo в текстовый файл при нажатии кнопки.
Помогите, пожалуйста, сам никак не могу разобраться.
Отправлен: 04.09.2006, 21:49
Вопрос задал: Fenix84 (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Vanektoo
Здравствуйте, Fenix84!
Дла этого существует специальная процедура
"SaveToFile"

Memo1.Lines.SaveToFile('text.txt');
Ответ отправил: Vanektoo (статус: 1-ый класс)
Ответ отправлен: 04.09.2006, 21:53

Отвечает: Mexes
Здравствуйте, Fenix84!
Очень просто. В обработчике нажатия на кнопку OnClick пишите
Memo.Lines.SaveToFile('myfile.txt');
Ответ отправил: Mexes (статус: 2-ой класс)
Ответ отправлен: 04.09.2006, 21:59

Отвечает: Physicist
Здравствуйте, Fenix84!

Очень просто:
Memo1.Lines.SaveToFile('test.txt');
Ответ отправил: Physicist (статус: Студент)
Ответ отправлен: 04.09.2006, 21:59

Отвечает: CoolBick
Здравствуйте, Fenix84!
procedure Button1Click(Sender: TObject);
begin
if SaveDialog1.Execute then
begin
Memo1.Lines.saveToFile(SaveDialog1.FileName);
end;
end;
Ответ отправил: CoolBick (статус: 1-ый класс)
Ответ отправлен: 05.09.2006, 13:23


Вопрос № 54.336
Помогите пожалуйста! Я пишу небольшой проигрыватель музыки. Но хотелось бы не только останавливаться на одних только mp3, wav, midi-файлах. Хочется, чтобы моя программа понимала ogg и mp4-музыку.
Также очень хочется научиться извлекать информацию о звуковых файлах. Я скачивал статьи, но под заголовком 'Извлечение информации о звуковых файлах' в разделах о звуке скрывалось извлечение информации из видео-файлов. Тупо! Хотя бы научиться битрейт узнавать.
Ещё при заготовке программы я столкнулся с небольшим глюком(что-то походее есть в WinAmp): когда извлекаешь длину трека, высвечивается запредельное время звучания(30-40 минут). У меня такое было с mp3-файлами, кодированными в Nero с переменным битрейтом и лучшим качеством. Однако в WinAmp каким-то образом в главном окне, где скачет информация о проигрываемом файле, время отображается правильное.
Помогите, кто чем сможет.
Отправлен: 04.09.2006, 22:44
Вопрос задал: /Iorpy$ (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: sir henry
Здравствуйте, /|orpyc!
К сожалению, Вам нечего посоветовать, кроме как того, что Вы уже делаете.
1. Поставьте декодеры на нужные Вам типы файлов в систему.
2. Скачайте из интернета описание выбранного Вами типа файла. У всех из них есть поля со служебной информацией, вот на нее и опирайтесь.
*************
Я к сожалению не знаю, как WinAmp определяет правильное время звучания. Вполне возможно, что трек с переменным битрейтом разделен на некоторое кол-во секций, какждая со своим фиксированным битрейтом. Найдите эти секции по полю служебной информации файла, и рассчитайте время звучания для каждой секции отдельно, а потом просуммируйте.
За информацией пожалуйста к документации по формату mp3, здесь ее писать никто не будет.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 05.09.2006, 07:05
Оценка за ответ: 4

Отвечает: Rusland
Здравствуйте, /|orpyc!
К сожалению вы не написали каким образом ваша программа проигрывает mp3 файлы... думаю что через DirectShow.
Для того чтобы заставить программу играть ogg файлы рекомендую заглянуть на http://www.xiph.org/downloads/. Там имеются ogg-кодеки. Ogg - открытый формат, но исходный код на Си. При большом желании можно переписать под Дельфи.
---------
Если партия скажет есть контакт, будем есть контакт.
Ответ отправил: Rusland (статус: Специалист)
Ответ отправлен: 05.09.2006, 16:53
Оценка за ответ: 4


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

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

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

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

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


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


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.36 от 06.09.2006
Яндекс Rambler's Top100

В избранное