Вопрос № 52194: Уважаемые эксперты, помогите пожалуйста осветом: подскажите как разместить на полупрозрачной форме совсем непрозрачные кнопки, рисунки или иные объекты?...Вопрос № 52220: Добрый день, уважаемые Эксперты!
Во время работы программы формируется файл истории т.е. записываются все действия, которые произвел пользователь. Все это для того, что бы при следующем старте программы воссоздать "наделанное" пользоват...Вопрос № 52224: Добрый день уважаемые эксперты.
Я понимаю что не туда пишу, но другой рассылки посвященной ActiveX нет :-(
Я пытаюсь найти описание к ActiveX MSCOMCT2.OCX, свойства и что возвращает... Помогите плиз...
Заранее благодарен всем откликнувшим...Вопрос № 52271: Здравствуйте, господа Эксперты! Кто-нибудь работал в своих приложениях с WinRAR`ом - я имею в виду через командную строку - заархиировать файл и т.д.? Сейчас возникла такая необходимость, изучил справку WinRAR по командной строке, но почему-то не раб...
Вопрос № 52.194
Уважаемые эксперты, помогите пожалуйста осветом: подскажите как разместить на полупрозрачной форме совсем непрозрачные кнопки, рисунки или иные объекты?
Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Сапожников Владимир!
Наиболее простым решением мне видется кинуть на форму маску для прозрачности. Однако, полупрознрачность получится делать только с помощью "шахматного" заполнения пикселями. Через TransparentColor. Это как-то "по-умному" называется в 3D-графике, но это не важно.
Не обязательно подгонять ее под компоненты форму - просто киньте как Background Picture.
--------- Не узнаешь - не попробуешь.
Отвечает: Савенко Вадим Иванович
Здравствуйте, Сапожников Владимир!
Если через AlphaBlend, то не получится. Владельцем всего, что расположено на форме, является сама форма. Поэтому, если форма полупрозрачная, то и все компоненты на форме будут такими же. Здесь нужно что-то другое придумывать. Попробуйте совет Кирилла Владимировича.
Ответ отправил: Савенко Вадим Иванович (статус: 7-ой класс)
Ответ отправлен: 15.08.2006, 20:02
Вопрос № 52.220
Добрый день, уважаемые Эксперты!
Во время работы программы формируется файл истории т.е. записываются все действия, которые произвел пользователь. Все это для того, что бы при следующем старте программы воссоздать "наделанное" пользователем. Для удобства во время работы программы все записывается в Memo , а при закрытии программы формируется файл Memo1.SaveToFile('1.txt'). Так вот одно из действий, которое может произвести пользователь - написать текст в RichtEdite и в нем же задать нужный ему шрифт. Вопрос: как в Memo записать все
параметры выбранного пользователем шрифта, а именно цвет, стиль, и т.д. т.е. все возможные параметры шрифта?
Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Дмитрий Александрович!
Возьмите, да посмотрите формат rtf (т.е. файл сохраняется из RichEdit.SaveToFile) - им и воспользуйтесь.
--------- Не узнаешь - не попробуешь.
Отвечает: Ерёмин Андрей
Здравствуйте, Дмитрий Александрович!
Если планируется использовать обычный Plain text (а не RTF), то все параметры шрифта можно сохранять и восстанавливать вручную. Вот основные из них: Font.Color - цвет шрифта (например, #00FF0000); Font.Style - стили шрифта: полужирный, курсив, подчёркнутый, зачёркнутый [fsBold,fsItalic,fsUnderline,fsStrikeOut]. Font.Name - название шрифта (например, Arial, Courier New и т.д.) Font.Size - размер шрифта (10, 12 и т.д.)
Хранить все эти параметры удобно в ini-файле - модуль IniFiles.pas. Класс TIniFile и действия с ним: Create(), WriteInteger(), WriteString(), ReadInteger(), ReadString(), Free(). Подробнее здесь. Удачи!
--------- Нет правила без исключений. Правило без исключений - исключение из правил.
Отвечает: Coupler
Здравствуйте, Дмитрий Александрович!
В приложении 2 процедуры, которые записывают в INI файл и восстанавливают из него все параметры шрифта.
Приложение:
Ответ отправил: Coupler (статус: Студент)
Ответ отправлен: 16.08.2006, 05:17
Отвечает: Morgen_krsk
Здравствуйте, Дмитрий Александрович!
Обратите свой взгляд на (в хелпе) SelAttributes: TTextAttributes - атрибуты выделенного текста, а так же Paragraph: TParaAttributes - атрибуты параграфов.
Чтобы получить аттрибуты какой либо области есть поля SelStart, SelLength для выделения, поэкспериментируйте с ними. Если аттрибут отличается в пределах области (допустим размер различный), то возвращается какое-то "нулевой" значение.
P.S. Если говорить по RichEdit в Delphi 7 ... то рекомендую компонент RxRichEdit.
Ответ отправил: Morgen_krsk (статус: 2-ой класс)
Ответ отправлен: 16.08.2006, 15:53
Вопрос № 52.224
Добрый день уважаемые эксперты.
Я понимаю что не туда пишу, но другой рассылки посвященной ActiveX нет :-(
Я пытаюсь найти описание к ActiveX MSCOMCT2.OCX, свойства и что возвращает... Помогите плиз...
Заранее благодарен всем откликнувшимся....
Отвечает: Герасименко Алексей Анатольевич
Здравствуйте, Никольский Валерий Александрович!
Посмотрите, пожалуйста вот эти ссылки:
http://www.yandex.ru/yandsearch?text=MSCOMCT2.OCX
в частности тут
http://ms-access.ru/SetupWizard_mscomct2.html
Ответ отправил: Герасименко Алексей Анатольевич (статус: 1-ый класс)
Ответ отправлен: 16.08.2006, 06:34 Оценка за ответ: 1 Комментарий оценки: Я умею пользоваться поисковиком... А данные вами ссылки были взяты из форума. Если бы вы потрудились посмотреть что там лежит и написано но ответа не давали бы. Впредь будьте внимательны если отвечаете на ответ.
Вопрос № 52.271
Здравствуйте, господа Эксперты! Кто-нибудь работал в своих приложениях с WinRAR`ом - я имею в виду через командную строку - заархиировать файл и т.д.? Сейчас возникла такая необходимость, изучил справку WinRAR по командной строке, но почему-то не работает. Пробовал и WinExec () и ShellExecute. Сам синтаксис командной строки прост: WINRAR a results.rar results.htm, где а - команда добавления файла results.htm в архив с именем results.rar Я пробовал и WinExec('WinRAR.exe WINRAR a results.rar results.htm ',SW_SHOW);
и ShellExecute(0,'open','WinRAR.exe','WINRAR a results.rar results.htm ',nil,SW_SHOW), я даже в ShellExecute в параметр папки по умолчанию передавал ParamStr(1) - все равно не работало. В случае с ShellExecute выскакивало сообщение "Архивы не найдены!". Я решил, что вначале нужно создать архив с таким именем, создал его "вручную", (хотя в справке написано, что "этой командой нельзя добавлять файлы в архивные тома, с её помощью можно их только
создавать"), но сообщение все равно появлялось.
Помогите, пожалуйста! Заранее спасибо!
Отправлен: 16.08.2006, 06:37
Вопрос задал: Neiroman (статус: 1-ый класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: sir henry
Здравствуйте, Neiroman!
У Вас ошибка в том, что Вы и обоих случаях зачем то слово WINRAR написали два раза. Правильно будет так:
ShellExecute(0,'open','WinRAR.exe','a results.rar results.htm ',nil,SW_SHOW);
Третьим параметром Вы указываете название запускаемой программы, а четвертым, где у Вас и была ошибка, только параметры, которые прилагаются к этой программе, второй раз писать название самой программы не надо.
Ответ отправил: sir henry (статус: Академик) Россия, Красноярск ---- Ответ отправлен: 16.08.2006, 06:47
Отвечает: DeVampir
Здравствуйте, Neiroman!
Вообще-то для работы только с командной строкой существует консольная версия WinRar. Она лежит в каталоге с программой и называется Rar.exe - файл в 3 раза меньше версии с графическим интерфейсом, правда работает только с rar-архивами. Я в свое время работал с Rar вот так:
str := 'Rar.exe m -rr1p -ep -inul -m5 -y -t -- "' + save_file + '" "' + FileName + '"';
FillChar(StartInfo, Sizeof(StartInfo),#0);
StartInfo.cb := Sizeof(StartInfo);
StartInfo.dwFlags := STARTF_USESHOWWINDOW;
StartInfo.wShowWindow := SW_HIDE;
if CreateProcessA(nil, PChar(str), nil, nil, true, CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil, nil, startinfo, procinf)
then WaitForSingleObject(procinf.hProcess, 100000) else //выводим сообщение об ошибке работы WinRar
CloseHandle(ProcInf.hProcess);
пояснения:
m - переместить в архив (если а, то добавить)
-rr1p - инфа для восстановления 1%
-ep - добавлять без путей
-inul - не выводить сообщения об ошибках
-m5 - метод сжатия - максимальный
-y - отвечать на все "Да"
-t - тест архива (очень нужно при перемещении в архив)
-- - больше ключей нет
save_file - имя архива
FileName - имя архивируемого файла
procinf: TProcessInformation;
startinfo: TStartupInfo;
Все команды и ключи можно посмотреть в хелпе и файле Rar.txt
Удачи!
--------- Нам будет трудно - это терпимо! (с) М. Горшенев
Ответ отправил: DeVampir (статус: 2-ой класс)
Ответ отправлен: 17.08.2006, 06:49