Вопрос № 54291: Здраствуйте, уважаемые эксперты Делфи!
Недавно начал программировать в Делфи. Программирую все, что попадаеться на глаза (головоломки, ребусы и т.д,), в смысле для тренировки и что-бы интересней было изучать Делфи. Если возможно, пожалуйста ...Вопрос № 54307: Здравствуйте уважаемые эксперты
Скажите пожалуйста как в Delphi 6 сделать чтобы при нажатии кнопку на компаненьте ToolBar создавалась кнопка ToolButton и как затем записать код который сработает при нажатии на эту кнопку. ...Вопрос № 54324: Здравствуйте.
Нужно сохранить текст из memo в текстовый файл при нажатии кнопки.
Помогите, пожалуйста, сам никак не могу разобраться.
...Вопрос № 54336: Помогите пожалуйста! Я пишу небольшой проигрыватель музыки. Но хотелось бы не только останавливаться на одних только mp3, wav, midi-файлах. Хочется, чтобы моя программа понимала ogg и mp4-музыку.
Также очень хочется научиться извлекать информа...
Вопрос № 54.291
Здраствуйте, уважаемые эксперты Делфи!
Недавно начал программировать в Делфи. Программирую все, что попадаеться на глаза (головоломки, ребусы и т.д,), в смысле для тренировки и что-бы интересней было изучать Делфи. Если возможно, пожалуйста подталкните с кодом или идеей как реализовать следующую головоломку: есть поле букв (набор в виде квадрата 11*11) из них надо собрать слова.
Помогите, очень надо, для детей в воскреснной Библейской школы
С уважением,
Володя
г. Ивано-Франковск
Украина
Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Тимофиев Владимир Михайлович!
Очевидно, только полным перебором. Ну и словарь обязательно надо вбить в программу. Для поиска по нему лучше всего использовать хоть какую-дь индексацию или по двоичному дереву.
--------- Не узнаешь - не попробуешь.
Отвечает: 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