Вопрос № 99770: Уважаемые Эксперты! У меня к вам вопрос, как мне экспортировать функции из DLL, если я не знаю параметров этих функций? Если такое невозможно, то есть ли такая программа, которая показала бы функции и их параметры из заданных (или любых) Dll-файлов? ...Вопрос № 99875: Добрый вечер эксперты! Есть программа, в неё заносим параметры, программа делает расчёт и должна занести полученные результаты в шаблон «ОТЧЁТ» .
1.Как сделать, что бы шаблон «ОТЧЁТ» сделанный в Экселе устанавливался в папку вместе с программой ...Вопрос № 99883: Уважаемые эксперты
такой вот вопросик возник, у меня есть вариант как его сделать, но хотел посоветоваться может кто знает какие нибудь методы получше
у меня есть три компонента расположенные по горизонтали, например 3 ComboBox нужн...Вопрос № 99886: Здравствуйте, уважаемые эксперты
Как в Delphi можно обработать событие поворота колеса мыши на компоненте, у которого такого события нет (например TPaintBox)?
Спасибо...Вопрос № 99894: Здравствуйте!
Есть вот такой код(см. приложение) для воспроизведения списка файлов.
Скажите, пожалуйста, что нужно изменить, чтобы он нормально заработал?
Или это можно сделать вообще по-другому?...Вопрос № 99897: Здравствуйте уважаемые эксперты!У меня к Вам вопрос по SaveDialog,у меня в нём находятся несколько фильтров,допустим FilterIndex = 1 содержит расширения *txt, FilterIndex = 2 - *xls ну и FilterIndex = 3 - *prn.Возможно ли в этом компоненте сделать та...
Вопрос № 99.770
Уважаемые Эксперты! У меня к вам вопрос, как мне экспортировать функции из DLL, если я не знаю параметров этих функций? Если такое невозможно, то есть ли такая программа, которая показала бы функции и их параметры из заданных (или любых) Dll-файлов? Я хотел написать программу, которая использует lame-enc.dll (Lame Encoder). Только вот, параметы функции мне неизвестны. Заранее благодарю!
Отправлен: 26.08.2007, 22:38
Вопрос задал: Айтуган (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 5)
Отвечает: Уваров Андрей Александрович
Здравствуйте, Айтуган!
Вообще насколько я знаю не существует программы которая выдала бы функции...
Но в случае с lame-enc.dll можно поступить иначе. Скачать исходный код библиотеки и разобраться! http://lame.sourceforge.net/ Там же есть документация и т.п. нужные вам вещи.
Удачи!
--------- Обращаться в ICQ: 66550088 (Ally) или E-Mail: AvePassion@GMail.Com
Добрый вечер эксперты! Есть программа, в неё заносим параметры, программа делает расчёт и должна занести полученные результаты в шаблон «ОТЧЁТ» .
1.Как сделать, что бы шаблон «ОТЧЁТ» сделанный в Экселе устанавливался в папку вместе с программой и вызывался из этой папки?
2. Как сделать, что бы после занесения параметров из программы в шаблон, запретить редактирование в шаблоне?
3. Шаблон имеет 2 листа. Нужно что бы при нажатие 1 кнопки параметры заносились в 1 лист, при нажатие 2 кнопки заносились во 2 лист? У меня каждыё раз открывается новый «ОТЧЁТ».
Отправлен: 27.08.2007, 18:02
Вопрос задал: SIR (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Виктор Пырлик
Здравствуйте, SIR!
Вы не сказали каким образом вы подключаетесь к Excel. Но, шаблон можно хранить там, где вы хотите. и загружать, например так:
path:=GetCurrentDir +'Report.xlt';
ExcelApp := CreateOleObject('Excel.Application');
ExcelApp.Application.EnableEvents := false;
try
Workbook := ExcelApp.WorkBooks.Add(path);// грузим наш шаблон
except
Workbook := ExcelApp.WorkBooks.Add; //иначе - открываем книгу по умолчанию
end;
WorkBook.WorkSheets[1].Cells[2,6].Value:=Now; // пишем в первый лист
WorkBook.WorkSheets[2].Cells[2,6].Value:=Now; // пишем во второй лист
Поэтому, можите создать класс по работе с отчетом, и в нем определить все методы и свойства.
Если есть вопросы - спрашивайте.
--------- Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: Студент)
Ответ отправлен: 27.08.2007, 18:25
Вопрос № 99.883
Уважаемые эксперты
такой вот вопросик возник, у меня есть вариант как его сделать, но хотел посоветоваться может кто знает какие нибудь методы получше
у меня есть три компонента расположенные по горизонтали, например 3 ComboBox нужно чтобы OnResize формы эти компоненты тоже растягивались пропорционально, т.е. не один растягивается а все растягиваются и соответственно сжимаются
Отправлен: 27.08.2007, 18:50
Вопрос задал: Кэр Лаэда (статус: Студент)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 6)
Отвечает: Gladiator
Здравствуйте, Кэр Лаэда!
В простейшем случае, следующим образом.
Приложение:
Ответ отправил: Gladiator (статус: 10-ый класс)
Ответ отправлен: 28.08.2007, 08:27 Оценка за ответ: 5 Комментарий оценки: спасибо, мой способ был чем то похож, я думал делать панели на них якоря и менять размеры панелей
Отвечает: Mishell
Здравствуйте, Кэр Лаэда!
>такой вот вопросик возник, у меня есть вариант как его сделать, ...
что-то вопрос не понятен, скорее-всего он неполный
по поводу растягивания ComboBox'ов - см. приложение
Приложение:
Ответ отправил: Mishell (статус: 5-ый класс)
Ответ отправлен: 28.08.2007, 11:53 Оценка за ответ: 4 Комментарий оценки: Спасибо, но ваш способ мало чем отличился о предыдущего ответа
Отвечает: Denisss
Здравствуйте, Кэр Лаэда!
Может Вам мой способ покажется слишком простым, но я бы рекомендовал воспользоваться компонентом AutoPanel (autopnl.zip [6 K]).
У данного компонента есть свойства:
AutoChildPosLeft - Автоматически выставляет позицию "слева" размещенных на панели компонентов.
AutoChildPosTop - аналогично, но выставляет позицию "сверху".
AutoChildWidth - выставляет (пропорционально) ширину.
AutoChildHeight - высоту.
Если же Вам не интересно использовать сторонние компоненты, то можете подсмотреть реализацию пропорционального масштабирования всех элементов, размещенных на панели и использовать ее в своем проекте.
Удачи!
Ответ отправил: Denisss (статус: Профессионал) Россия, Москва ---- Ответ отправлен: 29.08.2007, 12:37 Оценка за ответ: 5 Комментарий оценки: Спасибо, обязательно подсмотрю )))
Вопрос № 99.886
Здравствуйте, уважаемые эксперты
Как в Delphi можно обработать событие поворота колеса мыши на компоненте, у которого такого события нет (например TPaintBox)?
Спасибо
Отвечает: Gladiator
Здравствуйте, Alexander L.!
Вот реализация для Вас.
Приложение:
Ответ отправил: Gladiator (статус: 10-ый класс)
Ответ отправлен: 28.08.2007, 08:46 Оценка за ответ: 3 Комментарий оценки: Обрабатывается событие поворота колеса мыши над всей формой, независимо от компонента под ней. Не выполняется if if Self.Name <> 'PaintBox1' then begin inherited; Exit; end; поскольку Self.Name всегда равно 'PaintBox1'. А мне нужно чтобы событие обрабатывалось только над PaintBox'ом.
Отвечает: Denisss
Здравствуйте, Alexander L.!
См. пример в приложении.
В примере производится обработчик события OnMouseWheel формы Form1, в котором проверяется какой компонент лежит под курсором мыши в момент, когда крутится скролл.
Прим.:
1. Если нужный Вам компонент лежит не на форме, а, например, на TPanel, то обработчик следует несколько подправить:
вместо aControl:= ControlAtPos(ScreenToClient(MousePos), True, True);
нужно написать
with Panel1 do // Подразумевается, что PaintBox1 лежит на панели Panel1 (class TPanel) aControl:= ControlAtPos(ScreenToClient(MousePos), True, True);
2. В примере используется переменная iCount и компонент Label1 (class TLabel). Label1 я разместил как обычно. iCount объявил в private разделе формы, а в OnCreate формы задал значение 0. Вы же можете здесь поступать так, как Вам удобно. Основная цель примера - показать как можно обрабатывать события OnWheelMouse компонентов, не имеющих такого события.
Удачи!
Приложение:
Ответ отправил: Denisss (статус: Профессионал) Россия, Москва ---- Ответ отправлен: 29.08.2007, 12:17
Вопрос № 99.894
Здравствуйте!
Есть вот такой код(см. приложение) для воспроизведения списка файлов.
Скажите, пожалуйста, что нужно изменить, чтобы он нормально заработал?
Или это можно сделать вообще по-другому?
Приложение:
Отправлен: 27.08.2007, 20:02
Вопрос задал: Skvitek (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: PGM
Здравствуйте, Skvitek!
Можно вот так, например.
For i:=0 To JvPlaylist1.Count-1 do begin
MediaPlayer1.FileName:=Playlist1.Items[i];
MediaPlayer1.Open;
MediaPlayer1.play;
while MediaPlayer1.Mode <> mpStopped do begin
TrackBar.Position:=MediaPlayer1.Position;
Application.ProcessMessages; // Это чтобы перерисовывался TrackBar нормально
Sleep(100); // А это чтобы не грузить процессор, можно и больше
end;
end;
Но стоило бы еще добавить условие для выхода (например, по кнопке Стоп) или переход к следующему/предыдущему в списке.
P.S. Лично я предпочитаю работать непосредственно с DirectShow и отслеживать его события, там и контроль за кодеками, и информация о потоке и все остальное.
Ответ отправил: PGM (статус: 9-ый класс)
Ответ отправлен: 27.08.2007, 20:26 Оценка за ответ: 3
Вопрос № 99.897
Здравствуйте уважаемые эксперты!У меня к Вам вопрос по SaveDialog,у меня в нём находятся несколько фильтров,допустим FilterIndex = 1 содержит расширения *txt, FilterIndex = 2 - *xls ну и FilterIndex = 3 - *prn.Возможно ли в этом компоненте сделать так,что бы по нажатию на разные кнопки,появлялся диалог с нужным мне расширением,а остальные расширения были бы недоступны(не активны)или надо использовать 3 разных компонента.
Отвечает: Виктор Пырлик
Здравствуйте, Зотов Геннадий Александрович!
Всё просто, если делать ручками... Вы можете использовать этот компонент как вам заблагорассудится. В приложении дан пример.
На форме имеется три кнопки (TButton) , и один компонент (ТOpenDialog). У кнопок в свойстве Tag записано 0 - для первой кнопки, 1- для второй кнопки, 2 - для третей.
Для кнопки Button1 назначено событие OnClick и написан обработчик этого события (в приложении) у остальных кнопок просто событие OnClick выбрано событие для Button1.
Приложение:
--------- Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: Студент)
Ответ отправлен: 27.08.2007, 20:33 Оценка за ответ: 5 Комментарий оценки: Вообще то у меня SaveDialog,но смысл был понятен,проверил,спасибо работает