PDA

Показать полную графическую версию : Незнаю как сделать в Delphi?


MelouN
30-09-2003, 18:17
В меня есть на форме OpenDialog, ListBox, Button.Мені нужно, чтобы когда я открывал фильм или клип, он был у меня в списке..и
если я буду открывать их несколько..чтобы они были также в списке...а затем чтобы дорогой фильм открывался в какой-нибудь
программе(Light Alloy!) из того списка!

Artya
01-10-2003, 02:20
вот пример на вскидку:

procedure TForm1.Button1Click(Sender: TObject);
begin
opendialog1.execute;
listbox1.Items.Assign(opendialog1.Files);
end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
shellexecute(handle,'', PChar(listbox1.Items[0]), '', PChar(listbox1.Items[0]), SW_SHOWNORmAL);
end;
незабудь в USES добавить SHELLAPI

З.Ы.тут правда будет запускатся только первый в списке элемент, но доделать там впринцыпе не сложно...

UZER
14-10-2003, 03:18
Подскажите, кто знает, как замутить кнопку в стиле XP
Что-то я не догнал в help'е
Спасибо

[mzd]
14-10-2003, 14:59
UZER
Borland Delphi 7 - кидаешь на форму XP manifest. у тебя не только кнопицы будут в стиле ХР - вся прога будет оформлена как в ХР

JCooper
16-10-2003, 00:47
UZER или создаешь внешний имяпроги.exe.manifest, есть на сайте oszone, правда кривой :)

UZER
16-10-2003, 07:01
Kuper
Не надо...спасибо

UZER
18-10-2003, 10:52
Приведите, пожалуйста, пример использования MessageBeep для вывода звука Exclamation

Исправлено: UZER, 12:02 18-10-2003

Partizan
19-10-2003, 00:54
Делаешь следующее объявление:
function MessageBeep(SoundType: Integer): Boolean; * stdcall; external 'user32.dll';

А далее например так:
procedure TForm1.Button1Click(Sender: TObject);
var s: boolean;
begin
s := MessageBeep(MB_ICONEXCLAMATION);
end;

И напоследок, вместо MB_ICONEXCLAMATION может быть MB_ICONASTERISK, MB_ICONHAND, MB_ICONQUESTION, MB_OK, 0xFFFFFFFF(стандартный beep через системный динамик).

UZER
03-11-2003, 12:31
Есть пара вопросов
1. Как сделат форму (наподобе диалога "О программе"), которая будет ругаться при нажатии мышой не на неё?
2. Как дать ссылку на mailto:...@...

Prisoner
03-11-2003, 13:58
UZER
Не знаю как на счет ругаться (начнем с того, что это не есть культурно :)), но сделав окно модальным можно избежать потерю фокуса окном, его можно будет только закрыть.

Второе - тут (http://www.delphimaster.ru/cgi-bin/download.pl?get=1066411612&n=0)

UZER
03-11-2003, 14:24
Prisoner
избежать потерю фокуса окном, его можно будет только закрытьИменно это я и хотел сказать :)

Добавлено:

Что-то я не понял, зачем мне этот компонент
Мне нужно дать ссылку на мыло, чтобы открылось окошко создания письма почтового клиента по-умолчанию с системе
Можно так winexec('explorer mailto:devil666@fromru.com',0)
Но это вызывается через IE, а как бы обойтись без него?


Исправлено: UZER, 15:49 3-11-2003

Prisoner
04-11-2003, 20:12
Тогда поможет такой код, помещенный в любой целесообразный обработчик события:


var
 sEMailAddress, sSubject, sBody, sMailMessage: string;
begin
 sEMailAddress := 'somebody@mail.ru';
 sSubject      := 'Subject of message';
 sBody         := 'Here some strings of message which will be send.';

 sMailMessage  := 'mailto:' + sEMailAddress +
               '?subject=' + sSubject +
               '&body=' + sBody;

 ShellExecute(0, 'open', PChar(sMailMessage), '', '', SW_SHOWNORMAL));
 //по поводу ловли ошибок см. справку по функции ShellExecute
end;

UZER
05-11-2003, 00:36
Prisoner
Все работает, пасиб
Ты там в одной скобке ошибся - последняя скобка лишняя

Tr00per
05-11-2003, 22:24
Как сделать чтобы при нажатии кнопки открывался www-сайт в ослике IE ?

UZER
06-11-2003, 00:35
Tr00per
procedure TForm1.Button1Click(Sender: TObject);
begin
winexec('explorer http://www.moysait.ya',0)
end; Надеюсь, понятно ;)

Tr00per
06-11-2003, 09:04
Спасибо за ответ! И еще: какие есть для дельфи компоненты, ограничивающие пользование программой до 30 дней, если прога не зарегистрирована?

UZER
06-11-2003, 12:04
Tr00per
Даж не знаю про компоненты, у меня другая идея - во врумя установки или первого запуска программы создать где-нибудь в глубине реестра запись, где записать дату установки, а потом при каждом запуске сравнивать, если больше 30 дней ==>...




© OSzone.net 2001-2012