Forums.Avtograd.Ru: Вопросы По Delphi, Pascal - Forums.Avtograd.Ru

Перейти к содержимому

  • (30 Страниц)
  • +
  • 1
  • 2
  • 3
  • 4
  • 5
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Вопросы По Delphi, Pascal

#1 Пользователь офлайн   up

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 193
  • Регистрация: 01 Ноябрь 07

Отправлено 01 Ноябрь 2007 - 13:22

Сабж :rolleyes:
0


  • (30 Страниц)
  • +
  • 1
  • 2
  • 3
  • 4
  • 5
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Другие ответы в этой теме

#41 Пользователь офлайн   DartV

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 238
  • Регистрация: 01 Ноябрь 07

Отправлено 24 Ноябрь 2007 - 12:56

Просмотр сообщенияСеместр в Столовой (23.11.2007, 4:21):

Как текущее время (и желательно сразу дату, а то для даты я знаю только извращенческий способ) присвоить допустим в edit ну или даже в переменную с типом Date ?

Как проверить существует ли заданаая дирректория или нет?
И желательно если не существует такой, то создать.

Как сделать рисунок, служащий фоном для формы, полупрозрачным или даже прозрачным на 80%
Это реально?

Заранее спасибо.

1) для того чтобы присвоить в Edit используй :
Edit.Text:=FormatDateTime('dd.mm.yyyy [hh:nn:ss,zzz]',now);

2) чтото вроде DirectoryExists и CreateDir из модуля SysUtils
if not DirectoryExists('Имя директории') then CreateDir('Имя директории');

3) сделать прозрачным можно (свойства TransparentColor и TransparentColorValue у формы) но чтоб на 80% - незнаю, спроси в разделе Вопросы по WinAPI
Меня можно найти в IRC на каналах #programmers, #delphimaster, #delphiintru @ irc.tlt.ru (Dalnet.Ru), ник - Amidamaru
0

#42 Пользователь офлайн   ANDREW

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 18
  • Регистрация: 02 Ноябрь 07

Отправлено 25 Ноябрь 2007 - 15:12

Доброе время суток всем. У кого есть внешние компоненты для delphi7(т.е. которые не входят в диск с delphi), как они называются, для чего нужны? Если можно то киньте ссылочки
0

#43 Пользователь офлайн   IriLka

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 8
  • Регистрация: 01 Ноябрь 07

Иконки сообщения  Отправлено 25 Ноябрь 2007 - 17:27

Как я понимаю, пользовательские библиотеки надо регистрировать... Как это, простите, сделать? :huh:
0

#44 Пользователь офлайн   Explorer

  • Активный пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 699
  • Регистрация: 09 Ноябрь 07

Отправлено 25 Ноябрь 2007 - 17:42

Просмотр сообщенияANDREW (25.11.2007, 15:12):

Доброе время суток всем. У кого есть внешние компоненты для delphi7(т.е. которые не входят в диск с delphi), как они называются, для чего нужны? Если можно то киньте ссылочки

Да любой сторонний компонент, например, CoolTrayIcon или как он там называется...

Просмотр сообщенияIriLka (25.11.2007, 17:27):

Как я понимаю, пользовательские библиотеки надо регистрировать... Как это, простите, сделать? :huh:

Ну это делается через regserver, либо функцией:

...
type
TDllRegister = function: HResult; stdcall;
...
DllReg: TDllRegister;
...
function RegisterOCX(APath: String): boolean;
var
 H: integer;
 RegResult: HResult;
begin
 result := False;
 H := LoadLibraryEx(PChar(APath), 0, LOAD_WITH_ALTERED_SEARCH_PATH);
 if H <> 0 then
 begin
   @DllReg := GetProcAddress(H, 'DllRegisterServer');
   if @DllReg <> nil then
   begin
	 RegResult := DllReg;
	 if RegResult = S_OK then
	   result := True;
   end;
 end;
 freeLibrary(H);
end;

0

#45 Пользователь офлайн   Семестр в Столовой

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 5
  • Регистрация: 01 Ноябрь 07

Отправлено 26 Ноябрь 2007 - 08:45

Просмотр сообщенияDartV (24.11.2007, 12:56):

1) для того чтобы присвоить в Edit используй :
Edit.Text:=FormatDateTime('dd.mm.yyyy [hh:nn:ss,zzz]',now);
спасибо, это то что нужно.

Цитата

2) чтото вроде DirectoryExists и CreateDir из модуля SysUtils
if not DirectoryExists('Имя директории') then CreateDir('Имя директории');

так не получается, зато методом тыка я понял что достаточно только CreateDir('Имя директории'); если такая дирректория уже существует - то просто ничего не произойдёт, а если не существует - то создастся.

Цитата

3) сделать прозрачным можно (свойства TransparentColor и TransparentColorValue у формы) но чтоб на 80% - незнаю, спроси в разделе Вопросы по WinAPI

что-то не нашёл свойств TransparentColor и TransparentColorValue у формы...
у image есть свойство Transparent, но что Enable что Disable - визуально почемуто разницу не вижу. в чём дело, для чего это свойство тогда вообще?



ещё одна проблемка нарисовалась: нужно програмно закрыть приложение Word. Что-то не получается. Открыть нашёл как, а закрыть получается только документ в Worde, но не само приложение.
Подскажите как его закрыть.

Заранее спасибо.
0

#46 Пользователь офлайн   Explorer

  • Активный пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 699
  • Регистрация: 09 Ноябрь 07

Отправлено 26 Ноябрь 2007 - 20:04

Просмотр сообщенияСеместр в Столовой (26.11.2007, 8:45):

Открыть нашёл как, а закрыть получается только документ в Worde, но не само приложение.
Подскажите как его закрыть.

Заранее спасибо.

Попробуй завершить процесс по его имени. Как раз тыркни winword.exe или как он там называется. Наверное так...
0

#47 Пользователь офлайн   Семестр в Столовой

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 5
  • Регистрация: 01 Ноябрь 07

Отправлено 27 Ноябрь 2007 - 12:34

спасибо, предыдущий вопрос решён.
есть другой вопрос: что нужно сделать чтобы когда я размещаю checkbox на рисунке (image) избавится от рамки чекбокса, т.е вокруг чекбокса остаётся фон цвета формы, он выделяется от общего цвета рисунка и неприятно бросается в глаза.
Хотелось бы от этого избавиться.
0

#48 Пользователь офлайн   Explorer

  • Активный пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 699
  • Регистрация: 09 Ноябрь 07

Отправлено 27 Ноябрь 2007 - 18:06

Просмотр сообщенияСеместр в Столовой (27.11.2007, 12:34):

спасибо, предыдущий вопрос решён.
есть другой вопрос: что нужно сделать чтобы когда я размещаю checkbox на рисунке (image) избавится от рамки чекбокса, т.е вокруг чекбокса остаётся фон цвета формы, он выделяется от общего цвета рисунка и неприятно бросается в глаза.
Хотелось бы от этого избавиться.

WM_CTLCOLORSTATIC меняет цвет контрола. А вообще на рисунке лучше выводить текст с помощью функций DrawText или TextOut - только в них правильно работает прозрачность фона. Правда лишние проблемы при задании нужного шрифта на рисуемом контексте устройства, но проблема эта решаема. :)
0

#49 Пользователь офлайн   up

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 193
  • Регистрация: 01 Ноябрь 07

Отправлено 27 Ноябрь 2007 - 18:52

Explorer думаю не очень гуманно навязовать человеку винапи, если он ещё со стандарнымим кмопонетами неразобрался. Я в ему приват ответил что достаточно добавить в проект манифест хр.
0

#50 Пользователь офлайн   Explorer

  • Активный пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 699
  • Регистрация: 09 Ноябрь 07

Отправлено 27 Ноябрь 2007 - 19:07

Просмотр сообщенияup (27.11.2007, 18:52):

Explorer думаю не очень гуманно навязовать человеку винапи, если он ещё со стандарнымим кмопонетами неразобрался. Я в ему приват ответил что достаточно добавить в проект манифест хр.

Да тут ВинАпи ни при чем. Я так понимаю что ему надо поместить чекбокс на картинку на форме и чтобы у фона чекбокса был прозрачный цвет. Манифест вообще тут не при чем - просто будут диалоги с новым стилем, а на фон чекбокса это никак не влияет. А вообще в инспекторе объектов можно настроить вид контрола. Прозрачный чекбокс на картинке никогда не видел. Либо придется подстраивать элемент под картинку - то есть поместить на белую область чекбокс с белым цветом без надписи и добавить рядом надпись с прозрачным фоном. Конечно не самый лучший способ, однако будет работать...
0

#51 Пользователь офлайн   Barrabas

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 431
  • Регистрация: 01 Ноябрь 07

Отправлено 27 Ноябрь 2007 - 23:09

можно самому нарисовать на картинке чекбокс. Делфей под рукой нет, но должно быть событие onPaint (или типа того), в нем в нужно месте рисуем квадратик (запоминаем координаты), на событие клика вешаем проверку на попадание в квадрат и рисуем галочку.
На .NET во всяком случие такое проделать проще простого (в делфях думаю должно быть также)
0

#52 Пользователь офлайн   Семестр в Столовой

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 5
  • Регистрация: 01 Ноябрь 07

Отправлено 28 Ноябрь 2007 - 08:01

Просмотр сообщенияExplorer (27.11.2007, 18:06):

WM_CTLCOLORSTATIC меняет цвет контрола. А вообще на рисунке лучше выводить текст с помощью функций DrawText или TextOut - только в них правильно работает прозрачность фона. Правда лишние проблемы при задании нужного шрифта на рисуемом контексте устройства, но проблема эта решаема. :)

что такое WM_CTLCOLORSTATIC где взять и с чем есть?
Мне не только текст на рисунке надо вывести - на рисунке стоят чекбоксы и эта неприятная рамка не только вокруг текста чекбокса, но и вокруг самого флажка.

Просмотр сообщенияup (27.11.2007, 18:52):

Explorer думаю не очень гуманно навязовать человеку винапи, если он ещё со стандарнымим кмопонетами неразобрался. Я в ему приват ответил что достаточно добавить в проект манифест хр.

и как добавить манифест хр в делфи? :)
гдето была статья "стилизация окон создаваемых в delphi5 под интерфейс XP" но найти что-то не могу, да может быть ещё это и не то что ты имел в виду.

Про рисование - очень трудоёмко. У меня более 200 чекбоксов. Предположительное решение у меня есть, но оно тоже достаточно трудоёмко - у всех чекбоксов поудалять текст и написать вместо этого текст в лейболах.
Думал, может найду более простой способ...
0

#53 Пользователь офлайн   Barrabas

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 431
  • Регистрация: 01 Ноябрь 07

Отправлено 28 Ноябрь 2007 - 11:17

Просмотр сообщенияСеместр в Столовой (28.11.2007, 9:01):

Про рисование - очень трудоёмко. У меня более 200 чекбоксов. Предположительное решение у меня есть, но оно тоже достаточно трудоёмко - у всех чекбоксов поудалять текст и написать вместо этого текст в лейболах.
Думал, может найду более простой способ...

200 чекбоксов? ты уверен что правильно спроектировал интерфейс? бедный пользователь :). (для чего это?)

Про рисование это ты зря (что трудоемко). Главное правильно сделать. Унаследоваться от картинки, добавить массив структур описывающих координаты квадрата и надпись. Несколько методов для добавления этих самых структур в массив. Готово :)
0

#54 Пользователь офлайн   GlooMen

  • Профи =)
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 2 063
  • Регистрация: 01 Ноябрь 07

Отправлено 28 Ноябрь 2007 - 11:29

Для 200 чекбоксов 0_o лучше наверно заюзать CheckListBox
0

#55 Пользователь офлайн   Семестр в Столовой

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 5
  • Регистрация: 01 Ноябрь 07

Отправлено 29 Ноябрь 2007 - 04:19

Без паники :)
200 чекбоксов это не в одном окне, разумеется, а во всей программе на 22-х окнах и куче вкладок. Просто во всех окнах на фон формы я хочу поставить один и тот же рисунок, таким образом получается одна проблема у 200 чекбоксов :)

А может быть есть другой способ сделать фон у формы рисунком? Тоесть задача рисунка быть бэкграундом для всего окна а не для какой-то его области. Я просто растягиваю Image под размер окна. Но может быть есть какой-то более простой способ? например какое-нибуть свойство формы, отвечающее за фон... что-то типа свойства Color, но только чтобы вместо цвета можно было выбрать рисунок :)
0

#56 Пользователь офлайн   up

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 193
  • Регистрация: 01 Ноябрь 07

Отправлено 29 Ноябрь 2007 - 05:23

манифест для 7 делфи

program SmartPlaceBar;

{$R 'SmartPlaceBarIcon.res' 'SmartPlaceBarIcon.rc'}
{$R 'MenuTrayRes.res' 'MenuTrayRes.rc'}
{$R *.RES}
// здесь (
{$R WindowsXP.RES}
или
{$R DelphiXP.RES}
// ) здесь

uses
  Windows,
  Messages,
  ShellApi,
  ProgramConst,
  CompanyConst,
  HookControlU in 'HookControlU.pas',
  Constant in 'Constant.pas',
  TaskBar in 'TaskBar.pas',
  KOL;

0

#57 Пользователь офлайн   Explorer

  • Активный пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 699
  • Регистрация: 09 Ноябрь 07

Отправлено 29 Ноябрь 2007 - 10:38

Просмотр сообщенияup (29.11.2007, 5:23):

манифест для 7 делфи

program SmartPlaceBar;

{$R 'SmartPlaceBarIcon.res' 'SmartPlaceBarIcon.rc'}
{$R 'MenuTrayRes.res' 'MenuTrayRes.rc'}
{$R *.RES}
// здесь (
{$R WindowsXP.RES}
или
{$R DelphiXP.RES}
// ) здесь

uses
  Windows,
  Messages,
  ShellApi,
  ProgramConst,
  CompanyConst,
  HookControlU in 'HookControlU.pas',
  Constant in 'Constant.pas',
  TaskBar in 'TaskBar.pas',
  KOL;

Гм, а где само содержимое для компиляции этого RES файла? Да и вообще ты просто привел кусок своего кода, где ты даже используешь KOL библиотеку. Директива $R просто добирает указанные файлы в проект. То есть можно как все ресурсы одним RES файлом сделать, можно и несколькими опять же через $R. Семестр, если уж на то пошло, используй Resource Hacker или любой другой редактор ресурсов и сохрани в RES файле вот этот текст (конечно поменяй на свой):

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
	version="3.7.0.1747"
	processorArchitecture="X86"
	name="Любой текст"
	type="win32"
/>
<description>Любой текст</description>
<dependency>
	<dependentAssembly>
		<assemblyIdentity
			type="win32"
			name="Microsoft.Windows.Common-Controls"
			version="6.0.0.0"
			processorArchitecture="X86"
			publicKeyToken="6595b64144ccf1df"
			language="*"
		/>
	</dependentAssembly>
</dependency>
</assembly>

Или если затруднения с этим, то открой любую программу тем же Ресурс Хакером и найди в ресурсах ресурс 24 и сохрани его отдельно как RES файл и потом подключай к своему проекту.
0

#58 Пользователь офлайн   glVertex

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 61
  • Регистрация: 03 Ноябрь 07

Отправлено 29 Ноябрь 2007 - 14:43

Подскажите пожалуйста
Как в Image достать цвет точки по координатам?
0

#59 Пользователь офлайн   up

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 193
  • Регистрация: 01 Ноябрь 07

Иконки сообщения  Отправлено 29 Ноябрь 2007 - 17:28

Просмотр сообщенияExplorer (29.11.2007, 10:38):

Гм, а где само содержимое для компиляции этого RES файла? Да и вообще ты просто привел кусок своего кода, где ты даже используешь KOL библиотеку. Директива $R просто добирает указанные файлы в проект. То есть можно как все ресурсы одним RES файлом сделать, можно и несколькими опять же через $R. Семестр, если уж на то пошло, используй Resource Hacker или любой другой редактор ресурсов и сохрани в RES файле вот этот текст (конечно поменяй на свой)
Один из этих файлов есть в стандартной поставке Делфи 7. Тока я не помню какой, у мню ещё свой компанент стоит.

Цитата

Подскажите пожалуйста
Как в Image достать цвет точки по координатам?
Я звиняюсь. А справку по TImage почитать? Там дожно быть. На память чота RGBColor := Image.Pixel[x,y];
0

#60 Пользователь офлайн   Explorer

  • Активный пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 699
  • Регистрация: 09 Ноябрь 07

Отправлено 29 Ноябрь 2007 - 19:05

Просмотр сообщенияup (29.11.2007, 17:28):

Один из этих файлов есть в стандартной поставке Делфи 7.

Он называется XPMan, а вообще он также через директиву $R линкует к проекту тот самый WindowsXP.res файл.
Кстати если уж на то пошло, то этот манифест можно сырить с любого приложения, если в таковом он имеется, ну и файл не пожат упаковщиком/протектором (UPX не в счет). Открываем в Ресурс Хакере программу (Да хоть Проводник системный) и сохраняем файл как RES. Потом пишем {файл} и помещаем его в папку с проектом. Вот и все.
Или можно просто сохранить манифест в папке с приложением так: имяфайлапрограммыбезрасширения.manifest. И если у вас контролы поддерживают стиль XP, да и эта система (Ну или Vista), то вуаля!
0

  • (30 Страниц)
  • +
  • 1
  • 2
  • 3
  • 4
  • 5
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей