Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Delphi (все версии) - часть 4

Автор: Maks150988
Дата сообщения: 07.01.2009 19:41
Разобрался со скроллером.

У меня такой вопрос. Как отобразить сокращенную копию с современным видом диалог GetOpenFileName? Такое например при октрытии плейлистов в Винампе. То есть нет слева тулбара в диалоге.
Какая комбинация OFN флагов нужна и нужен ли хук в оконную функцию? Раньше как-то получалось, а потом за ненадобностью подзабыл.
Автор: ShIvADeSt
Дата сообщения: 08.01.2009 04:21
Maks150988

Цитата:
Какая комбинация OFN флагов нужна и нужен ли хук в оконную функцию? Раньше как-то получалось, а потом за ненадобностью подзабыл.

OFN_EXPLORER
Indicates that any customizations made to the Open or Save As dialog box use the new Explorer-style customization methods. For more information, see Explorer-Style Hook Procedures and Explorer-Style Custom Templates.

By default, the Open and Save As dialog boxes use the Explorer-style user interface regardless of whether this flag is set. This flag is necessary only if you provide a hook procedure or custom template, or set the OFN_ALLOWMULTISELECT flag.

If you want the old-style user interface, omit the OFN_EXPLORER flag and provide a replacement old-style template or hook procedure. If you want the old style but do not need a custom template or hook procedure, simply provide a hook procedure that always returns FALSE.
Автор: Maks150988
Дата сообщения: 08.01.2009 10:12
ShIvADeSt
Не, не то. Нужен FlagsEx := OFN_EX_NOPLACESBAR. Случайно его нашел в исходниках модулей.
А вот пример чтобы со скроллером поиграться. Может кому-нибудь полезным будет.
http://webdrive.avtograd.ru/Download/Explorer/sources/text_scroller_src.zip
Хотя может и у кого будут какие-нибудь предложения по усовершенствованию.
=)
Автор: Rudia
Дата сообщения: 10.01.2009 13:57
Нужен пример или компонент для того, чтобы узнать загрузку процессора конкретным приложением.
Автор: lorents
Дата сообщения: 10.01.2009 17:19
кто может мне если не трудно объяснить каждую из строк?

Код: unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ActiveX, ComObj, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure ShowPhotoPrintWizard(Files: TStringList);
var
I: Integer;
CommonDialog: OleVariant;
{ Файлы фотографий на печать }
Vector: OleVariant;
begin
if not Assigned(Files) then
Exit;
CommonDialog := CreateOleObject('WIA.CommonDialog');
Vector := CreateOleObject('WIA.Vector');
for I := 0 to Files.Count - 1 do
Vector.Add(Files[I]);
CommonDialog.ShowPhotoPrintingWizard(Vector);
Vector := Unassigned;
CommonDialog := Unassigned;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
List: TStringList;
begin
List := TStringList.Create;
with List do
try
Append('C:\WINDOWS\Штукатурка.bmp');
Append('C:\WINDOWS\Рододендрон.bmp');
ShowPhotoPrintWizard(List);
finally
Free;
end;
end;
end.
Автор: delover
Дата сообщения: 11.01.2009 06:46
lorents
lorents
Это, дорогой, не Дельфи, это Вижуал-Бэйсик. Формируется список файлов bmp в методе клик, далее создаются никому не понятные, именнованные объекты WIA и делают совершенно непонятный ShowPhotoPrintWizard. Советую искать инструкцию к WIA бэйсику. Дельфи "предполагает", что метод Show действительно существует у OleVariant-а который CommonDialog.


Добавлено:
RoRU2008
Думаю, что она раньше поддерживала. Купил недавно Касперский Интернет Секурити, чё то не то при установке выбрал, он вообще на каждый чих ругается, так что у Висты просто руки не доходят до вюртуализации. Когда я говорил о:

Цитата:
И странно что D5 такого сообщения не выдаёт.

Я имел ввиду ветку:
HKEY_LOCAL_MACHINE://SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
Делфи там всегда пытается что либо вписать, иначе как? Так вот, узнал, что для Висты delphi32.exe от версии 6.0 и от версии 7.0 это один и тот же файл, файл 7.0, страннно

ShIvADeSt
Спасиб на добром слове, да в инструкции я не писал, однако иногда езжу в деревню и бывает хочется чем-то похвастаться, а там Win-95. Инструкцией хвастаться не хочу.
Автор: lorents
Дата сообщения: 11.01.2009 07:50
delover
понятно, ну чтох пойду разбираться дальше
Автор: ShIvADeSt
Дата сообщения: 11.01.2009 09:36
delover

Цитата:
Это, дорогой, не Дельфи, это Вижуал-Бэйсик.

Не шуткуй так Это чистое Дельфи.
Автор: delover
Дата сообщения: 11.01.2009 09:55
ShIvADeSt
Не, я имел ввиду что это не VCL. Сначала искал Show в хелпе, далее открыл юнит

Код:
unit Dialogs;
...
interface
...
type

{ TCommonDialog }

TCommonDialog = class(TComponent)
private
...
property OnShow: TNotifyEvent read FOnShow write FOnShow;
end;

{ TOpenDialog }
Автор: Bol970
Дата сообщения: 11.01.2009 13:14
Доброго дня All.
Замучила маленькая трабла.
При открытии проекта (project.dpr), в редакторе Delphi, на некоторых проектах открывается файл основной формы (unit.pas), а на некоторых (project.dpr).
Помогите. надоело ручками переключаться.
ЗЫ: Delphi7 Ent. upd 1.1
Автор: delover
Дата сообщения: 12.01.2009 06:26
Bol970
Попробуй в меню Tools\Options\Environment Options\Autosave options\Project desktop
Автор: Sevick33322
Дата сообщения: 12.01.2009 07:40
разве это не из за того что так сохранили исходник?
Автор: Bol970
Дата сообщения: 12.01.2009 08:04
delover
в семерке такого пункта меню нет
Sevick33322
нет
Автор: delover
Дата сообщения: 12.01.2009 08:18
Bol970
Это в опциях Delphi. Под рукой делфи7 нет, но если Вы нажмёте F1 и попытаетесь найти Autosave options, тогда "кто ищет тот всегда найдёт". Да и как это Вы не знаете где общие пути к компанентам прописываются?
Автор: Bol970
Дата сообщения: 12.01.2009 09:47
delover
В принципе помогло, хотя как оно "слетело" я все равно не понял. Спасибо.
ЗЫ:
Tools\Environment Options\Preferences\Autosave options\Project desktop
Автор: GrHnd
Дата сообщения: 12.01.2009 12:32
Привет All!
Никто не сталкивался со след. проблемой:
Стоит RAD Studio 2007 Version 11.0.2902.10471 с December 2007 Update.
Иногда (не очень часто) она просто закрывается (не важно есть ли несохраненные файлы или нет), вследствии чего пропадает всё несохраненное.
Как это лечить?
Автор: delover
Дата сообщения: 12.01.2009 13:58
GrHnd
Если в цикле [no][[/no]удалено[no]][/no]. У меня только предположения касаемые того что система предполагает, что такое приложение не работоспособно по некоторым причинам... Только легенда... Моя оказалась не удачной.
Автор: delover
Дата сообщения: 13.01.2009 06:35
GrHnd
У меня тоже бывает в Дельфи ошибка происходит, вылетает окно с кнопкой ОК и руганью, я её нажимаю, после этого опять вылетает то же окно. Потом они эти сообщения об ошибке уже каскадом выстраиваются. А так как это модальные окна, то я физически не успеваю попасть к своим редактированным PAS файлам, чтобы сохранить их. Кто нибудь знает как это лечить? И можно ли нажать Ctrl+S в модальном окне экзепшенов Дельфи?
Автор: ShIvADeSt
Дата сообщения: 13.01.2009 07:02
delover
GrHnd
ОСь какая? И еще, после вылета посмотрите в журнале событий виндовом - что написано, плюс к этому какой софт стоит? И еще насколько я помню, по вылетам и глюкам отдельная тема. И еще почитайте тут
http://forum.ru-board.com/topic.cgi?forum=35&bm=1&topic=28572&start=1080#lt
возможно что то не стоит из обновлений.
Автор: delover
Дата сообщения: 13.01.2009 07:08
ShIvADeSt
Ось какая? Да я вот на XP такое видел и d2007 была чистенькая без патчей и апдейтов. Да и пробовал я в цикле память выделять в бесконечном... Давно правда... Да только XP сервис пак2 и лицензионная была.

Кстати, если быть более точным, то надо описать, что я делал. Так как Вам может это помочь построить предположения на счёт баги. Я подменял интерфейс. Это значит, что после подмены некоторый программный код считал, что мой интерфейс существует после того как я его освободил. Как нам известно из информации о мягком связывании - интерфейс это некий счётчик, и тот код который содержит мой интерфейс после работы пытается этот счётчик крутануть к нулю. Вот теперь вспомним, что такое хип? Это выделенная память в которой может будут данные моего интерфейса, а может и код пакета BPL. Теперь представим память в которой код BPL и эту память начинают крутить из-за умершего счётчика. Естественно там будут инструкции для процессора, которые мягко сказать не соответствуют требованиям. Возможно там будут не известные процессору инструкции. В этом случае срабатывает ядро системы. Чаще процесс содержащий инструкции не подлежащие исполнению можно считать не состоятельным, т.е. логичнее убить, пока такой процесс не наделал делов.

ЗЫ
уже никто не помнит случайно мою систрейную тодо-ху в которой F9="kill delphi32.exe" (процесс) а Shift+F9="kill bds.exe", которая в борланд централе болталась?

Добавлено:
Незнаю можно ли подробности? Так когда доделал то прекратились в d2006 циклические экзепшены, а в d2007 её слетание. Именно по этому я попросил JCL отредактировать файл JclOtaUtils и попал в шапку можешь глянуть.
Florent Ouchet видимо не заметил что мой ник xpin остался в шапке. Не жалуйтесь Батве пожалуйста, у меня получается такая же история, а причина в том что Windows кажется критичен к работе ActiveX объектов. ToolsAPI в 2007 построен на IUnknown и диспетчерах и имеет TLB. Но это не отменяет тот факт, что я перехватываю у него управление с помощью TAggregatedObject который может быть простым интерфейсом. И много кода самой Дельфи было написано ещё тогда когда ToolsAPI не был ActiveX.
Автор: j7
Дата сообщения: 13.01.2009 10:23
Хочется организовать сервер потокового видер в формате MP4 или h264.
Может кто сталкивался с подобной задачей?
Поделитесь опытом.
Спасибо.
Автор: ShIvADeSt
Дата сообщения: 13.01.2009 11:22
j7
Думаю тут ближе к сетевым технологиям, а не ПП. И еще - это не дешево будет.
Автор: lerthe61
Дата сообщения: 13.01.2009 18:33
j7
В голову приходит броадкаст UDP пакетов. Когда-то соседняя команда реализовывала что-то подобное, насколько мне помниться было слизано готовое решение. Следовательно рекомендую глянуть какие готовые решения сейчас есть
Автор: j7
Дата сообщения: 13.01.2009 22:34
ShIvADeSt
lerthe61

Спасибо за советы.
В болшей степени интересует как налету кодировать сигнал. Именно налету, а не записанный файл.
Автор: Alexslv
Дата сообщения: 14.01.2009 00:41
Кто может помочь разобраться с вопросом программирования документов MS Word в Delphi?
Буду признателен
Автор: Tantos
Дата сообщения: 14.01.2009 01:47
Alexslv
И чего ты хочешь программировать? Попробуй поискать по форуму волшебные слова "автоматизация" и "OLE".
Автор: Alexslv
Дата сообщения: 14.01.2009 02:08
Tantos
Да в общем то начитался уже "автоматизации", везде одно и тоже.
Если коротко, то нужно написать софтину, которая клеит 2 дока.
Каждый из доков представляет собой как бы словарь, тоесть с нового абзаца идет термин и его определение. Все просто новый абзац - новый термин.
Нужно эти доки склеить в один, чтоб термины шли по алфавиту.
В частности интересует каким образом можно получить текущую позицию курсора, и как вытянуть по отдельности каждый термин.
Автор: Frodo_Torbins
Дата сообщения: 14.01.2009 10:06
Alexslv
Может легче будет сначала перекодировать эти словари в нечто более удобоваримое нежели doc?
Автор: Mandor Sawall
Дата сообщения: 14.01.2009 10:11
Alexslv
А "термин" - только одно слово, или нет?

Добавлено:
И еще - задачка одноразовая (только для два файла), или будет изпользуватся более часто?
Потому что ее можно решить через 3 действия в Word.
Автор: Alexslv
Дата сообщения: 14.01.2009 10:47
Frodo_Torbins
Может быть. Посоветуйте, если знаете какой формат будет более удобоваримым?

Mandor Sawall
"Термин" - одно слово, и пояснение к нему, как в толковом словаре.
Задачка не одноразовая, планируется много раз один файл дополнять из других, содержимым которого в нем нет. Тоесть будет работать много людей, каждый из них принесет свой док, их все нужно свести в один, в котором не повторялись бы термины.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Глобальные переменные в разных формах с++ builder 'a.


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.