Вопрос № 114726: Здравствуйте господа эсперты. Появился такой вопрос, как в компоненте image отключить звук при воспроизведении видео, но чтобы другие приложения могли параллально воспроизводить звук (например winamp)?...Вопрос № 114730: Использую WebBrowser для создания многостраничного браузера (вроде оперы) - неясно как перехватывать урл ("открыть в новом окне") и передать его на новую страницу....Вопрос
№ 114844: Доброго времени суток!
Рассылка очень хорошая, продолжайте в том же духе!
Возник вопрос по одной задачи - как ни делал, правильно не получилось, если у вас есть возможность - помогите пожалуйта:
Реализовать класс Кольцевой ...Вопрос № 114851: Люди помогите пожалуйста, тупо собираюсь писать программу напоминатель, дни рождения, данные собираюсь хранить в текстовом файле, помогите сделать выборку типа: if сегодня такое число, then ShowMessage ('Сегодня поздравляем того-то!!!'). Зарание сп...
Вопрос № 114.726
Здравствуйте господа эсперты. Появился такой вопрос, как в компоненте image отключить звук при воспроизведении видео, но чтобы другие приложения могли параллально воспроизводить звук (например winamp)?
Отправлен: 18.12.2007, 20:19
Вопрос задал: Genia007 (статус: 2-ой класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: DimonSoft
Здравствуйте, Genia007!
Как заставить колонки не выводить трёхмерное изображение на стену?
Компонент TImage не предназначен для вывода видео и воспроизведения звука. но может использоваться для этих целей, о чём следовало бы указать в вопросе. Продолжая использовать свой телепатор, предположу, что Вы пытаетесь воспроизводить видео через TMediaPlayer (с этого надо было начать вопрос). Этот компонент не предполагает контроля над громкостью воспроизводимого звука.
Простейший вариант - это настраивать громкость звука во всей системе, а при потере приложением фокуса восстанавливать исходное значение громкости, но такой вариант не подходит для фоновой работы WinAMP'а. А вообще рекомендую обратить внимание на DirectShow. Хотя, по правде сказать, такая возможность в большинстве случаев бесполезна, т.к. в данный момент времени пользователь обращает внимание только на один звуковой фрагмент. Кстати, это учтено в DirectSound: все источники звука, не принадлежащие активному приложению,
как правило, приглушаются.
По поводу изменения громкости много информации есть в поисковых системах. :)
С уважением, DimonSoft.
Ответ отправил: DimonSoft (статус: 3-ий класс)
Ответ отправлен: 18.12.2007, 22:03 Оценка за ответ: 5 Комментарий оценки: Спасибо Димон за поправку вопроса, я действительно описался, мне нужен компонент TMediaPlayer
Вопрос № 114.730
Использую WebBrowser для создания многостраничного браузера (вроде оперы) - неясно как перехватывать урл ("открыть в новом окне") и передать его на новую страницу.
Отправлен: 18.12.2007, 20:46
Вопрос задал: Newdelphi (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Raptor3
Здравствуйте, Newdelphi!
У компонента TWebBrowser есть событие NewWindow на него вешаем ниже представленный код
Приложение:
--------- Программист - это человек который решает проблему, о которой вы не знаете, способом который вы не понимаете
Ответ отправил: Raptor3 (статус: 2-ой класс)
Ответ отправлен: 18.12.2007, 20:51 Оценка за ответ: 5 Комментарий оценки: спасиб - то что нужно
Вопрос № 114.844
Доброго времени суток!
Рассылка очень хорошая, продолжайте в том же духе!
Возник вопрос по одной задачи - как ни делал, правильно не получилось, если у вас есть возможность - помогите пожалуйта:
Реализовать класс Кольцевой буфер на основе динамического массива, элементами которого являются данные типа pointer. Создать потомка - кольцевой буфер из чисел. Решить задачу для каждого элемента последовательности чисел(счит-ся либо с клавиатуры, либо из фала), напечатать те элементы, которые из n соседей имеют, по крайней мере, m одинаковых(m и n задаёт пользователь).
С уважением, Дмитрий.
Отправлен: 19.12.2007, 14:15
Вопрос задал: Realieves (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: DimonSoft
Здравствуйте, Realieves!
По работе с динамическими массивами неплохо написано в справке по Delphi, но подозреваю, что с этим как раз проблем нет. Конкретно по реализации класса...
Будет что-то типа
TMyList=class(TObject) //Про обязательность использования VCL не было ни слова
private
FList:array of Pointer;
protected
function Get(Index:Integer):Pointer;
procedure Put(Index:Integer; Value:Pointer);
public
property Items[Index:Integer]:Pointer read Get write Put; default;
function Add(...):...
.............................
end;
TMyCircleList=class(TMyList)
...............
end;
Наполняете класс TMyList требующимися возможностями - и это уже половина задачи решена. Не забудьте отoverrideить конструктор и деструктор, т.к. надо освобождать память, занятую динамическим массивом, и выполнять ряд других "служебных" действий. Да и вообще, возможно, есть смысл дополнить описание конструктора словом virtual (пригодится :)). Кстати, методы для работы со списком - тоже. Большую часть вопросов по реализации этого класса можно решить, заглянув в исходный код, например, TStringList. Кстати,
там же используется интересный приём для повышения скорости работы с динамическим массивом (выделяется не один элемент за раз, а несколько).
В классе TMyCircleList остаётся только переписать методы, работающие со списком, чтобы они воспринимали массив как кольцевой. Тут уж полная свобода творчества, первое, что приходит в голову - это div и mod Вам в помощь.
Дальше используете полученный класс для решения последней задачи.
С уважением, DimonSoft.
Ответ отправил: DimonSoft (статус: 3-ий класс)
Ответ отправлен: 19.12.2007, 15:27 Оценка за ответ: 5
Вопрос № 114.851
Люди помогите пожалуйста, тупо собираюсь писать программу напоминатель, дни рождения, данные собираюсь хранить в текстовом файле, помогите сделать выборку типа: if сегодня такое число, then ShowMessage ('Сегодня поздравляем того-то!!!'). Зарание спасибо
Отправлен: 19.12.2007, 14:55
Вопрос задал: Sefiros (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: programyst
Здравствуйте, Sefiros!
Const CTime: Word = <Свой день рождения>;
...............
if DayOf(Now)= CTime then ShowMessage('<Своё сообщение>');
.................
Ответ отправил: programyst (статус: Заблокирован)
Ответ отправлен: 19.12.2007, 15:07 Оценка за ответ: 5
Отвечает: Дегтярев Антон Александрович
Здравствуйте, Sefiros!
вот 2 процедуры которые читают из IniFaila и пишет в него. в Uses допишите IniFails на форму положите 2 editBox и 1 кнопку
procedure TForm1.FormCreate(Sender: TObject);
var
st : string;
tudey: string;
name : string;
ListBox1 : TListBox;
fail : TIniFile;
i : integer;
begin
// создаём Лист бох который будет нужен для перебора по элементам
ListBox1 := TListBox.Create(self);
ListBox1.Parent := self;
ListBox1.Visible := false;
//Создаём ини фаил
fail := TIniFile.Create('Путь к файлу');
fail.ReadSections(ListBox1.Items); // записываем все секции ф фаил
// проверям нет ли у кого дня рожденимя
for i := 1 to listbox1.Items.Count do
begin
st := fail.ReadString(inttostr(i),'date','');
st := copy(st,1,5);
if st = tudey then
begin
name := fail.ReadString('i','name','');
showmessage('День рождение у '+ name);
st := '';
end;
end;
fail.Free;
ListBox1.Destroy;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
fail : TIniFile;
ListBox1 : TListBox;
i : integer;
begin
ListBox1 := TListBox.Create(self);
ListBox1.Parent := self;
ListBox1.Visible := false;