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

» Вопросы по Delphi (версии 2009, 2010 Weaver, 2011 Fulcrum)

Автор: Maks150988
Дата сообщения: 28.11.2010 10:59
MatrixNT
http://www.delphipraxis.net/125892-code-funktioniert-mit-windowsxp-nicht-mit-windowsxp-64-a.html
Автор: V1s1ter
Дата сообщения: 28.11.2010 16:03
Ludens
Зачем мусорник создавать? Таких фундаментальных вопросов много может насобираться.
А вот тут запросто можно указанное сделать.
Автор: ZBEP
Дата сообщения: 29.11.2010 13:16
Такой вопрос;
Я создаю форму таким образом:


Код:
var pWnd : HWND;

pWnd := CreateWindowEx(WS_EX_APPWINDOW, 'MUT', pChar(Caption),
WS_OVERLAPPED or WS_POPUP, 0,0, Width, Height, 0, 0,Hinstance, nil);
Автор: 0D0A
Дата сообщения: 29.11.2010 13:58
ZBEP
Какта так:

Код: var
OnMouseMove: procedure(const Window: HWND;
const WParam: WPARAM; LParam: LPARAM) of object = nil;

function WindowProc(Window: HWND; Msg: UINT;
WParam: WPARAM; LParam: LPARAM): LRESULT; stdcall;
begin
case Msg of
WM_MOUSEMOVE:
if Assigned(OnMouseMove) then
OnMouseMove(Window, WParam, LParam);
end;

Result := DefWindowProc(Window, Msg, WParam, LParam);
end;

type
TMouseMonitor = class
private
procedure MouseMove(const Window: HWND;
const WParam: WPARAM; LParam: LPARAM);
public
constructor Create;
end;

constructor TMouseMonitor.Create;
begin
OnMouseMove := MouseMove;
end;

procedure TMouseMonitor.MouseMove(const Window: HWND;
const WParam: WPARAM; LParam: LPARAM);
begin
MessageBeep(0);
end;
Автор: ZBEP
Дата сообщения: 29.11.2010 14:17
0D0A, спс, не знал этого
Автор: neznayka3
Дата сообщения: 01.12.2010 12:45
подскажите как реализовать поиск в lookupcombox-e по нескольким полям. хочу ввод адреса как в ДубльГис.
Автор: zeugene
Дата сообщения: 01.12.2010 20:11
neznayka3
Я бы в обработчике OnKeyPress производил поиск и выводил подходящие в выпадающем списке.
Автор: YuriyRR
Дата сообщения: 01.12.2010 23:08
neznayka3

Цитата:
подскажите как реализовать поиск в lookupcombox-e по нескольким полям. хочу ввод адреса как в ДубльГис.

подробнее пожалуйста. не ясно что хотите.
Автор: neznayka3
Дата сообщения: 02.12.2010 01:37
YuriyRR
Автор: zeugene
Дата сообщения: 02.12.2010 07:16
neznayka3
Примерно так:

procedure TfrmNewFund.edCompanyKeyPress(Sender: TObject; var Key: Char);
var
i: Integer;
begin
//заполняем выпадающий список (из базы загружаем только записи,
//начинающиеся с первой введённой буквы)
if (edCompany.Text = '') and (ord(Key) > 32) then
begin
Screen.Cursor := crHourGlass;
edCompany.Items.Clear;
with dsCompanys do
begin
if Active then
Close;
SelectSQL.Clear;
SelectSQL.Add('select company_name from companys where UPPER(company_name) ' +
'LIKE UPPER(''' + Key + '%'') ORDER by company_name');
Open;
FetchAll;
edCompany.Items.BeginUpdate;
for i := 1 to RecordCount do
begin
edCompany.Items.Add(VarToStr(dsCompanys['COMPANY_NAME']));
Next;
end;
edCompany.Items.EndUpdate;
Close;
edCompany.DroppedDown := True;
Screen.Cursor := crDefault;
end;
end;
end;

Если нужно, чтобы список ещё и автоматически открывался, как на скриншоте, то добавить ещё:

procedure TfrmNewFund.edCompanyChange(Sender: TObject);
begin
if edCompany.Text = '' then
begin
edCompany.DroppedDown := False;
edCompany.Clear;
end;
end;
Автор: tanaseduard
Дата сообщения: 02.12.2010 09:29
Как запустить приложение из Delphi под другим пользователем в AD. Соответственно указав имя и пароль нужного пользователя.
Автор: neznayka3
Дата сообщения: 02.12.2010 11:21
zeugene
не то. по 1 полю у меня сейчас примерно так и работает, только с cxLookupComboBox. фишка у дубльгис в том что поиск идет по нескольким полям, и их порядок значения не имеют. можно начать набирать сначала номер дома, потом улицу и тд.
например в таблице поля "ФИО", "ИНН", "что то еще". надо, чтобы пользователь мог начать поиск с любого из перечисленных полей.
Автор: zeugene
Дата сообщения: 02.12.2010 11:43
neznayka3
А если сделать представление (VIEW), с полем, куда будет входить содержимое всех нужных полей и искать уже по нему?

Добавлено:
tanaseduard
RUNAS
Можно набрать в консоли Windows RUNAS /? чтобы узнать дополнительные параметры.
Автор: tanaseduard
Дата сообщения: 02.12.2010 12:11
zeugene
Почти то что надо, но нельзя вводить пароль.
А хотелось бы автоматом.
Автор: Ktf
Дата сообщения: 02.12.2010 12:13

Цитата:
Как запустить приложение из Delphi под другим пользователем в AD. Соответственно указав имя и пароль нужного пользователя.

tanaseduard
в общих чертах нужно сделать следующее:
1. получить Token пользователя с помощью LogonUser
2. передать полученный Token в функцию CreateProcessAsUser
Автор: zeugene
Дата сообщения: 02.12.2010 12:35
tanaseduard
Решение здесь: http://forum.codenet.ru/showthread.php?t=20138
Автор: tanaseduard
Дата сообщения: 02.12.2010 14:50
Ktf
zeugene
Спасибо. Вроде оно.


Добавлено:
Как из DataSet'а получить рисунок по его коду, который в Blob храниться, и загрузить его в Image?
Храниться в формате BMP.
Автор: YuriyRR
Дата сообщения: 02.12.2010 21:19
tanaseduard

Цитата:
Как запустить приложение из Delphi под другим пользователем

В omnithreadlibrary в файле DSiWin32.pas есть функция
function DSiExecuteAsUser(const commandLine, username, password: string;
const domain: string = '.'; visibility: integer = SW_SHOWDEFAULT;
workDir: string = ''; wait: boolean = false): cardinal;


Добавлено:
tanaseduard

Цитата:
Как из DataSet'а получить рисунок по его коду, который в Blob храниться, и загрузить его в Image?

1.В датасете делаешь Lookup по полю кода рисунка
2.Сохраняешь его в memorystream
3.Загружаешь из этого потока в Image
Автор: tanaseduard
Дата сообщения: 02.12.2010 21:49
YuriyRR
Спасибо попробую оба варианта.
Автор: KSJJFS
Дата сообщения: 03.12.2010 18:03

Как можно удалить созданый мной(не нужный) рабочий стол в делфи , на панельки "Desktop" или View"/"Desktops"/
Автор: 0D0A
Дата сообщения: 03.12.2010 18:15
KSJJFS
Удалить соответствующий dst-файл в User\AppData\Embarcadero\BDS\8.0
Автор: ZBEP
Дата сообщения: 03.12.2010 19:59
Кто-нибудбь может разъяснить, как в XE с помощью INDY 10, используя idIRCserver создать IRC сервер, к которому можно было бы приконнектится не по локалке, а через интернет.

Знаю, как сделать локальный чат с помощью IdIRCServer и IdIRC, знаю как реализовать связь через инет с чужим IRC сервером с помощью IdIRC, но не знаю, что надо сделать с IdIRCServer, что бы к нему можно было подключаться через инет.
В демках инди все либо для локали, либо не для IRC.
Пытался и через TCP все реализовать, но тоже не получилось реализовать подключение к внешнему IP, к локальному все без проблем.
Автор: Frodo_Torbins
Дата сообщения: 03.12.2010 20:56
ZBEP
Я бы в первую очередь в сторону настроек брандмауэра смотрел, и способа подключения к инету.
Автор: ZBEP
Дата сообщения: 03.12.2010 21:29
Frodo_Torbins, брандмауэр отключал и на всяк случай разрешал, ноль реакции, по сети норм все, по инету никак.
Инет через ADSL, скорее всего в этом и косяк, но как то же и с ADSL реализовать все это можно.
В сети 8 человек, модем раздает каждому внутренний ип, вписывая его, локальные сообщения удачно передаются/принимаются.
Модему выдаётся внешний ип провайдером, приконнектиться к нему не получается
Автор: Frodo_Torbins
Дата сообщения: 03.12.2010 21:45
ZBEP
Вот-вот провайдер мог вас подключить через прокси или еще как, а вы теперь мучаетесь.
Автор: ZBEP
Дата сообщения: 03.12.2010 21:59
Frodo_Torbins, вот я и мучаюсь
Есть идеи как решить эту проблему?
Гуугл мучаю мучаю, но все не то..
Автор: Frodo_Torbins
Дата сообщения: 03.12.2010 22:35
ZBEP
Если это нужно только для экспериментов, то можно все делать и в локальной сети. Если вы хотите запустить сервер на постоянной основе, то нужно договариваться с провайдером, или вообще его сменить.
Автор: ZBEP
Дата сообщения: 03.12.2010 22:42
Frodo_Torbins, ну я опять загорелся игрушку сделать, она будет частично работать через инет, думал сделать все через IRC, т.к. имел дело уже с клиентской частью, сейчас больше склоняюсь к TCP, но ни то ни то не выходит.

Ниже исходники простейшего Клиента и Сервера отдельно.
В клиенте так же есть серверная часть но я ее отключил, пока не разберусь с подключением через инет.
http://zalil.ru/30074680

П.с.
Инет: ADSL (Провайдер ЮТК).
Delphi: XE
ОС: Winwows 7 x64
Автор: spasius
Дата сообщения: 03.12.2010 22:46
ZBEP
провайдер может предоставить статический IP? если да, то можно организовать сервер самому.
Автор: ZBEP
Дата сообщения: 03.12.2010 23:06
spasius, неа, мой провайдер может предоставить только высокий пинг, низкую скорость с периодическими попаданиями интернета за высокую цену.

П.с.
IP меняется после перезагрузки модема.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: Установка копоненты ZipTV


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