а грузить DLL не проще ?
» Вопросы по Delphi
Люди добрые подскажите может кто знает как программно опросить эл. счетчик типа "Меркурий"
SergeBS
ой ....и LoginPrompt=false тоже ставил....пишет:
'Thread Start: Thread ID: 3628. Process Pr_Empl_2.exe(3620)'
а с trye пишет:
'Thread Start: Thread ID: 3992. Process Pr_Empl_2.exe(3900)'
Задолбался уже ...правда...может есть у кого мысли на этот счет?
ой ....и LoginPrompt=false тоже ставил....пишет:
'Thread Start: Thread ID: 3628. Process Pr_Empl_2.exe(3620)'
а с trye пишет:
'Thread Start: Thread ID: 3992. Process Pr_Empl_2.exe(3900)'
Задолбался уже ...правда...может есть у кого мысли на этот счет?
Как в из своей проги на Дельфях получить дискриптор Label, которая находится в другом приложении...?
Пробовал FindWindowEx(); не получается!
Пробовал FindWindowEx(); не получается!
BABAYKA
А в design-mode у тебя открывается? Вначале там открой. А потом уже пимпами балуй.
Добавлено:
BABAYKA
И вообще, что за сервер? И кем к нему коннектишься, что-то не пойму.
А в design-mode у тебя открывается? Вначале там открой. А потом уже пимпами балуй.
Добавлено:
BABAYKA
И вообще, что за сервер? И кем к нему коннектишься, что-то не пойму.
Lexz
Если ты имеешь ввиду handle, то у label'ов его нету
Если ты имеешь ввиду handle, то у label'ов его нету
Lexz
Ты сначала должен найти дескриптор окна, на котором находится контрол, а уж по нему искать дескриптор контрола (если он не лежит в другом контейнере на окне).
Ты сначала должен найти дескриптор окна, на котором находится контрол, а уж по нему искать дескриптор контрола (если он не лежит в другом контейнере на окне).
EZH
Я нашел окно через FindWindow!
Мне говорили что надо искать через Child.
А как?
Я нашел окно через FindWindow!
Мне говорили что надо искать через Child.
А как?
Lexz
Я искал кнопу и нажимал на неё так (С++)
Код:
hWnd = FindWindow(NULL,"Dialog Title");
if (hWnd)
{
hWnd = FindWindowEx(hWnd, NULL, "Button", "&OK");
if (hWnd)
SendMessage(hWnd, BM_CLICK, 0, 0);
}
Я искал кнопу и нажимал на неё так (С++)
Код:
hWnd = FindWindow(NULL,"Dialog Title");
if (hWnd)
{
hWnd = FindWindowEx(hWnd, NULL, "Button", "&OK");
if (hWnd)
SendMessage(hWnd, BM_CLICK, 0, 0);
}
Lexz
The EnumChildWindows function enumerates the child windows that belong to the specified parent window by passing the handle to each child window, in turn, to an application-defined callback function. EnumChildWindows continues until the last child window is enumerated or the callback function returns FALSE.
Но найти TLabel при помощи EnumChildWindows не получится.
Зато получится найти TStaticText.
The EnumChildWindows function enumerates the child windows that belong to the specified parent window by passing the handle to each child window, in turn, to an application-defined callback function. EnumChildWindows continues until the last child window is enumerated or the callback function returns FALSE.
Но найти TLabel при помощи EnumChildWindows не получится.
Зато получится найти TStaticText.
VitaliM
Идея на уровне бреда: создай RAM-диск, на него запиши и с него запусти.
Не пинать! Пятница и конец рабочего дня!
Идея на уровне бреда: создай RAM-диск, на него запиши и с него запусти.
Не пинать! Пятница и конец рабочего дня!
EZH
Я так делал с кнопкой, а с лейбл не получается!
Я так делал с кнопкой, а с лейбл не получается!
Lexz
Конечно не получается, Label просто рисуется на форме, т.к. не является окном (в Delphi это все наследники TWinControl). Тебе vshersh так и написал.
Конечно не получается, Label просто рисуется на форме, т.к. не является окном (в Delphi это все наследники TWinControl). Тебе vshersh так и написал.
EZH
А как же мне ее выцепить?
Как-то же можно, наверно...
А как же мне ее выцепить?
Как-то же можно, наверно...
SergeBS
Нажимаю ран....выскакивает моя программка готовая к работе и при попытке установки связи с сервером (по нажатию пимпы) происходит облом...она пытается приконнектится к нему но вместо заветной 'Соединение с БД установлено.' пишет 'Ошибка соединения с БД.' .... Чтойбы было немного понятней приведу листинг главной формы:
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ComCtrls, uDM;
type
TfMain = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
StatusBar1: TStatusBar;
procedure N2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fMain: TfMain;
implementation
{$R *.dfm}
procedure TfMain.N2Click(Sender: TObject);
begin
try
with fDM.Database1 do
begin
if Connected then Close;
Open;
end;
StatusBar1.SimpleText:='Соединение с БД установлено.'
except
StatusBar1.SimpleText:='Ошибка соединения с БД.'
end;
end;
end.
и листинг дата модуля:
unit uDM;
interface
uses
SysUtils, Classes, DBTables, DB;
type
TfDM = class(TDataModule)
DataSource1: TDataSource;
Query1: TQuery;
Database1: TDatabase;
UpdateSQL1: TUpdateSQL;
private
{ Private declarations }
public
{ Public declarations }
end;
var
fDM: TfDM;
implementation
{$R *.dfm}
end.
Локальный сервер IB 7.5.......
Нажимаю ран....выскакивает моя программка готовая к работе и при попытке установки связи с сервером (по нажатию пимпы) происходит облом...она пытается приконнектится к нему но вместо заветной 'Соединение с БД установлено.' пишет 'Ошибка соединения с БД.' .... Чтойбы было немного понятней приведу листинг главной формы:
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ComCtrls, uDM;
type
TfMain = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
StatusBar1: TStatusBar;
procedure N2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fMain: TfMain;
implementation
{$R *.dfm}
procedure TfMain.N2Click(Sender: TObject);
begin
try
with fDM.Database1 do
begin
if Connected then Close;
Open;
end;
StatusBar1.SimpleText:='Соединение с БД установлено.'
except
StatusBar1.SimpleText:='Ошибка соединения с БД.'
end;
end;
end.
и листинг дата модуля:
unit uDM;
interface
uses
SysUtils, Classes, DBTables, DB;
type
TfDM = class(TDataModule)
DataSource1: TDataSource;
Query1: TQuery;
Database1: TDatabase;
UpdateSQL1: TUpdateSQL;
private
{ Private declarations }
public
{ Public declarations }
end;
var
fDM: TfDM;
implementation
{$R *.dfm}
end.
Локальный сервер IB 7.5.......
Lexz
Хм... А что ты хочешь делать с этой меткой? Напрямую добраться до неё и посылать ей сообщения не удасться. Если нужен, скажем, её текст, то можно попробовать как-то добраться до него в памяти другого приложения (процесса). Примером не помогу, т.к. не делал такого, но надо копать в сторону ReadProcessMemory...
Хм... А что ты хочешь делать с этой меткой? Напрямую добраться до неё и посылать ей сообщения не удасться. Если нужен, скажем, её текст, то можно попробовать как-то добраться до него в памяти другого приложения (процесса). Примером не помогу, т.к. не делал такого, но надо копать в сторону ReadProcessMemory...
Спасибо большое за ответы!! В конце концов пришлось использовать
другие компоненты и код писать другой. Хотя ваш способ работал.
У меня теперь ещё один глупый вопрос: разжуйте плиз, как лучше запихать
Гиф-анимацию в проект, через TAnimate сейчас подцепляются чисто AVI.
Спасибо.
другие компоненты и код писать другой. Хотя ваш способ работал.
У меня теперь ещё один глупый вопрос: разжуйте плиз, как лучше запихать
Гиф-анимацию в проект, через TAnimate сейчас подцепляются чисто AVI.
Спасибо.
smus811
Используй TRxGIFAnimator
Используй TRxGIFAnimator
smus811
Цитата:
рискну дополнить...
это есть (как наследие) в JEDI
пример использования
JEDI\JVCL210\jvcl\examples\RxGIFAnimator\
а сам TJvGIFAnimator = class(TJvImageControl)
описан в JvGIFCtrl.pas
Цитата:
Используй TRxGIFAnimator
рискну дополнить...
это есть (как наследие) в JEDI
пример использования
JEDI\JVCL210\jvcl\examples\RxGIFAnimator\
а сам TJvGIFAnimator = class(TJvImageControl)
описан в JvGIFCtrl.pas
EZH
Мне просто надо определить когда изменится надпись, и сэмулировать щелчек мышкой!
Вот мне и надо определить ее текст!
А щелкать надо по форме (ну это не проблема )
Мне просто надо определить когда изменится надпись, и сэмулировать щелчек мышкой!
Вот мне и надо определить ее текст!
А щелкать надо по форме (ну это не проблема )
Привет всем!
Уже несколько дней изучаю явление, которое может быть интересно и вам.
Вдруг и меня кто уму разуму наючит.
Дело в следующем:
На простой форме класса TForm размещено 4 компонента класса TEdit
и один компонент класса TImage, для згрузки картинки в который,
добавлен компонент TOpenPictureDialog.
В ходе работы пользователь заполняет строчки компонентов TEdit
и используя диалог TOpenPictureDialog открывает картинку в TImage.
Затем при закрытии формы текстовые строки добавляются в списки,
строки которых сохраняются на диске в текстовых файлах. Адрес файла
картинки также сохраняется в списке. Фрагмент кода выглядит так:
...
procedure TForm3.Button1Click(Sender: TObject);
begin
OpenPictureDialog1.InitialDir := 'D:\';
OpenPictureDialog1.Execute;
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;
procedure TForm3.Button2Click(Sender: TObject);
const
path1 = '..\Ini1\ini1.txt';
begin
List1.Add(Edit1.Text);
List1.SaveToFile(path1);
Form1.ListBox1.Items:= List1;
...
В результате выясняется, что возможность сохранения списка, к которому
добавлена строка из Edit1 в файле напрямую зависит от диалога открытия
картинки. Поначалу после выбора файла картинки и загрузки её в
Image1.Picture дальнейшее нажатие кнопки Button2 приводило к
ошибке с сообщением "Can not creat file ....\Ini1\ini1.txt"
При отключенном диалоге (//OpenPictureDialog1.Execute;) вся текстовая
информация из Edit1.Text сохраняется в файл без проблем.
Диалог OpenPictureDialog каким то образом изменяет адреса файлов?
И сейчас, при наличии диалога картинки, программа работает лишь,
если выбрана картинка из директории, в которой расположены файлы
\Ini1\ini1.txt. Попытка открыть файл картинки с диска С:\ опять
приводит к ошибке. Может кто знает, как это вылечить?
C глубоким уважением ковсем жителям этого форума,
ваш Lightosaur
Уже несколько дней изучаю явление, которое может быть интересно и вам.
Вдруг и меня кто уму разуму наючит.
Дело в следующем:
На простой форме класса TForm размещено 4 компонента класса TEdit
и один компонент класса TImage, для згрузки картинки в который,
добавлен компонент TOpenPictureDialog.
В ходе работы пользователь заполняет строчки компонентов TEdit
и используя диалог TOpenPictureDialog открывает картинку в TImage.
Затем при закрытии формы текстовые строки добавляются в списки,
строки которых сохраняются на диске в текстовых файлах. Адрес файла
картинки также сохраняется в списке. Фрагмент кода выглядит так:
...
procedure TForm3.Button1Click(Sender: TObject);
begin
OpenPictureDialog1.InitialDir := 'D:\';
OpenPictureDialog1.Execute;
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;
procedure TForm3.Button2Click(Sender: TObject);
const
path1 = '..\Ini1\ini1.txt';
begin
List1.Add(Edit1.Text);
List1.SaveToFile(path1);
Form1.ListBox1.Items:= List1;
...
В результате выясняется, что возможность сохранения списка, к которому
добавлена строка из Edit1 в файле напрямую зависит от диалога открытия
картинки. Поначалу после выбора файла картинки и загрузки её в
Image1.Picture дальнейшее нажатие кнопки Button2 приводило к
ошибке с сообщением "Can not creat file ....\Ini1\ini1.txt"
При отключенном диалоге (//OpenPictureDialog1.Execute;) вся текстовая
информация из Edit1.Text сохраняется в файл без проблем.
Диалог OpenPictureDialog каким то образом изменяет адреса файлов?
И сейчас, при наличии диалога картинки, программа работает лишь,
если выбрана картинка из директории, в которой расположены файлы
\Ini1\ini1.txt. Попытка открыть файл картинки с диска С:\ опять
приводит к ошибке. Может кто знает, как это вылечить?
C глубоким уважением ковсем жителям этого форума,
ваш Lightosaur
vshersh, SERGE_BLIZNUK, спасибо! буду пробовать.
Lightosaur
Все правильно так и должно быть. Используй в path1 абсолютный путь и почитай где-нибудь что означает ТУКУЩАЯ ПАПКА в Windows, чтобы такого больше не делал.
Все правильно так и должно быть. Используй в path1 абсолютный путь и почитай где-нибудь что означает ТУКУЩАЯ ПАПКА в Windows, чтобы такого больше не делал.
Lightosaur
полезная штука
полезная штука
Lightosaur
1. очень рекомендую код:
Код: OpenPictureDialog1.Execute;
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
1. очень рекомендую код:
Код: OpenPictureDialog1.Execute;
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
Спасибо Всем!
Есть же люди умней меня!
Всех Вам благ!
Есть же люди умней меня!
Всех Вам благ!
Как менять яркость/контраст экрана??? глобально в системе
нашел процедуру DeviceIoControl с параметром IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS
но как ей воспользоваться для этого ума не приложу
еще есть SetDeviceGammaRamp но у него в параметре надо передавать массив - зачем массив то? что в нем должно быть? в моем понимании одной переменой byte должно хватать
да и SetDeviceGammaRamp для гаммы а не для яркости/контраста
есть идеи?
нашел процедуру DeviceIoControl с параметром IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS
но как ей воспользоваться для этого ума не приложу
еще есть SetDeviceGammaRamp но у него в параметре надо передавать массив - зачем массив то? что в нем должно быть? в моем понимании одной переменой byte должно хватать
да и SetDeviceGammaRamp для гаммы а не для яркости/контраста
есть идеи?
Люди добрые! подскажите как в Delphi осуществить проверку на наличие числа в real массиве. Вот это работает:
if not h in [1,2,3,4,5] then то-то то-то (h:integer)
а вот с числами типа real как?
Заранее спасибо!
if not h in [1,2,3,4,5] then то-то то-то (h:integer)
а вот с числами типа real как?
Заранее спасибо!
LePeR
Цитата:
читаем что есть такое вот это
Цитата:
function IsExists(a:real;b:myMas):boolean;
var
i:integer;
begin
Result:=False;
for i:=Low(b) to High(b) do
if a=b[i] then begin
result:=True;
exit;
end;
незабудь описать тип массива зараннее.
Цитата:
Люди добрые! подскажите как в Delphi осуществить проверку на наличие числа в real массиве. Вот это работает:
if not h in [1,2,3,4,5] then то-то то-то (h:integer)
читаем что есть такое вот это
Цитата:
[1,2,3,4,5]и узнаем что это множество, далее узнаем какие типы данных могут входить в множество и оказывается что действительный туда нельзя, почему читаем в хелпе. Для чисел типа рил делается отдельная функция типа
function IsExists(a:real;b:myMas):boolean;
var
i:integer;
begin
Result:=False;
for i:=Low(b) to High(b) do
if a=b[i] then begin
result:=True;
exit;
end;
незабудь описать тип массива зараннее.
Здравствуйте!
Я только начал изучать Delphi. При создании первых программ у меня возникло много вопросов. Возможно они слишком простые и кто-то из вас ответит мне за 5 минут, но мне чтобы на них ответить придётся часами рыться в справочниках. Итак вот мои вопросы:
Как поместить на форму рисунок в формате gif, jpg и др.?
Как сделать TLabel прозрачной?
Как сделать чтобы в TEdit не печатать больше двух символов после запятой?
Как пользоваться PageControl и делать многостраничные формы, можно ли несколько програм расположенных на разных формах обьединить в одну программу с несколькими страницами?
Как сделать градиентную заливку фона страницы и др. компонентов?
Как сделать кнопку обзор с загрузкой полного пути в TEdit
И ещё расскажите пожалуйста что это за KOL - кодоэкономичная объектная библиотека для Delphi и всё что известно о графике, 2d и 3d в Delphi
Я только начал изучать Delphi. При создании первых программ у меня возникло много вопросов. Возможно они слишком простые и кто-то из вас ответит мне за 5 минут, но мне чтобы на них ответить придётся часами рыться в справочниках. Итак вот мои вопросы:
Как поместить на форму рисунок в формате gif, jpg и др.?
Как сделать TLabel прозрачной?
Как сделать чтобы в TEdit не печатать больше двух символов после запятой?
Как пользоваться PageControl и делать многостраничные формы, можно ли несколько програм расположенных на разных формах обьединить в одну программу с несколькими страницами?
Как сделать градиентную заливку фона страницы и др. компонентов?
Как сделать кнопку обзор с загрузкой полного пути в TEdit
И ещё расскажите пожалуйста что это за KOL - кодоэкономичная объектная библиотека для Delphi и всё что известно о графике, 2d и 3d в Delphi
Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
Предыдущая тема: Вероятность одинакового CRC32
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.