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

» Вопросы по Delphi

Автор: RostY
Дата сообщения: 03.02.2006 11:43
а грузить DLL не проще ?
Автор: Andysoft3k
Дата сообщения: 03.02.2006 13:32
Люди добрые подскажите может кто знает как программно опросить эл. счетчик типа "Меркурий"
Автор: BABAYKA
Дата сообщения: 03.02.2006 13:43
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)'

Задолбался уже ...правда...может есть у кого мысли на этот счет?

Автор: Lexz
Дата сообщения: 03.02.2006 15:59
Как в из своей проги на Дельфях получить дискриптор Label, которая находится в другом приложении...?
Пробовал FindWindowEx(); не получается!
Автор: SergeBS
Дата сообщения: 03.02.2006 16:02
BABAYKA
А в design-mode у тебя открывается? Вначале там открой. А потом уже пимпами балуй.


Добавлено:
BABAYKA
И вообще, что за сервер? И кем к нему коннектишься, что-то не пойму.
Автор: vshersh
Дата сообщения: 03.02.2006 16:06
Lexz
Если ты имеешь ввиду handle, то у label'ов его нету
Автор: EZH
Дата сообщения: 03.02.2006 16:06
Lexz
Ты сначала должен найти дескриптор окна, на котором находится контрол, а уж по нему искать дескриптор контрола (если он не лежит в другом контейнере на окне).
Автор: Lexz
Дата сообщения: 03.02.2006 16:14
EZH
Я нашел окно через FindWindow!
Мне говорили что надо искать через Child.
А как?
Автор: EZH
Дата сообщения: 03.02.2006 16:19
Lexz
Я искал кнопу и нажимал на неё так (С++)

Код:
hWnd = FindWindow(NULL,"Dialog Title");
if (hWnd)
{
hWnd = FindWindowEx(hWnd, NULL, "Button", "&OK");
if (hWnd)
SendMessage(hWnd, BM_CLICK, 0, 0);
}
Автор: vshersh
Дата сообщения: 03.02.2006 16:21
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.
Автор: SergeBS
Дата сообщения: 03.02.2006 16:21
VitaliM
Идея на уровне бреда: создай RAM-диск, на него запиши и с него запусти.
Не пинать! Пятница и конец рабочего дня!
Автор: Lexz
Дата сообщения: 03.02.2006 16:29
EZH
Я так делал с кнопкой, а с лейбл не получается!
Автор: EZH
Дата сообщения: 03.02.2006 16:36
Lexz
Конечно не получается, Label просто рисуется на форме, т.к. не является окном (в Delphi это все наследники TWinControl). Тебе vshersh так и написал.
Автор: Lexz
Дата сообщения: 03.02.2006 16:43
EZH
А как же мне ее выцепить?
Как-то же можно, наверно...
Автор: BABAYKA
Дата сообщения: 03.02.2006 16:56
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.......
Автор: EZH
Дата сообщения: 03.02.2006 17:47
Lexz
Хм... А что ты хочешь делать с этой меткой? Напрямую добраться до неё и посылать ей сообщения не удасться. Если нужен, скажем, её текст, то можно попробовать как-то добраться до него в памяти другого приложения (процесса). Примером не помогу, т.к. не делал такого, но надо копать в сторону ReadProcessMemory...
Автор: smus811
Дата сообщения: 03.02.2006 18:38
Спасибо большое за ответы!! В конце концов пришлось использовать
другие компоненты и код писать другой. Хотя ваш способ работал.
У меня теперь ещё один глупый вопрос: разжуйте плиз, как лучше запихать
Гиф-анимацию в проект, через TAnimate сейчас подцепляются чисто AVI.
Спасибо.
Автор: vshersh
Дата сообщения: 03.02.2006 19:13
smus811
Используй TRxGIFAnimator
Автор: SERGE_BLIZNUK
Дата сообщения: 04.02.2006 00:53
smus811

Цитата:
Используй TRxGIFAnimator


рискну дополнить...
это есть (как наследие) в JEDI
пример использования
JEDI\JVCL210\jvcl\examples\RxGIFAnimator\
а сам TJvGIFAnimator = class(TJvImageControl)
описан в JvGIFCtrl.pas
Автор: Lexz
Дата сообщения: 04.02.2006 08:44
EZH
Мне просто надо определить когда изменится надпись, и сэмулировать щелчек мышкой!
Вот мне и надо определить ее текст!
А щелкать надо по форме (ну это не проблема )
Автор: Lightosaur
Дата сообщения: 04.02.2006 16:31
Привет всем!

Уже несколько дней изучаю явление, которое может быть интересно и вам.
Вдруг и меня кто уму разуму наючит.
Дело в следующем:
На простой форме класса 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
Автор: smus811
Дата сообщения: 04.02.2006 17:53
vshersh, SERGE_BLIZNUK, спасибо! буду пробовать.

Автор: LordMAD
Дата сообщения: 04.02.2006 19:27
Lightosaur
Все правильно так и должно быть. Используй в path1 абсолютный путь и почитай где-нибудь что означает ТУКУЩАЯ ПАПКА в Windows, чтобы такого больше не делал.
Автор: NightRider
Дата сообщения: 04.02.2006 20:08
Lightosaur
полезная штука
Автор: SERGE_BLIZNUK
Дата сообщения: 05.02.2006 09:00
Lightosaur
1. очень рекомендую код:

Код: OpenPictureDialog1.Execute;
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
Автор: Lightosaur
Дата сообщения: 05.02.2006 16:08
Спасибо Всем!
Есть же люди умней меня!
Всех Вам благ!
Автор: Irogotoshi
Дата сообщения: 05.02.2006 20:19
Как менять яркость/контраст экрана??? глобально в системе
нашел процедуру DeviceIoControl с параметром IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS
но как ей воспользоваться для этого ума не приложу

еще есть SetDeviceGammaRamp но у него в параметре надо передавать массив - зачем массив то? что в нем должно быть? в моем понимании одной переменой byte должно хватать
да и SetDeviceGammaRamp для гаммы а не для яркости/контраста

есть идеи?
Автор: LePeR
Дата сообщения: 05.02.2006 22:34
Люди добрые! подскажите как в Delphi осуществить проверку на наличие числа в real массиве. Вот это работает:
if not h in [1,2,3,4,5] then то-то то-то (h:integer)
а вот с числами типа real как?
Заранее спасибо!
Автор: ShIvADeSt
Дата сообщения: 06.02.2006 01:12
LePeR

Цитата:
Люди добрые! подскажите как в 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;

незабудь описать тип массива зараннее.
Автор: Podoben_Bogu
Дата сообщения: 06.02.2006 06:30
Здравствуйте!
Я только начал изучать Delphi. При создании первых программ у меня возникло много вопросов. Возможно они слишком простые и кто-то из вас ответит мне за 5 минут, но мне чтобы на них ответить придётся часами рыться в справочниках. Итак вот мои вопросы:
Как поместить на форму рисунок в формате gif, jpg и др.?
Как сделать TLabel прозрачной?
Как сделать чтобы в TEdit не печатать больше двух символов после запятой?
Как пользоваться PageControl и делать многостраничные формы, можно ли несколько програм расположенных на разных формах обьединить в одну программу с несколькими страницами?
Как сделать градиентную заливку фона страницы и др. компонентов?
Как сделать кнопку обзор с загрузкой полного пути в TEdit
И ещё расскажите пожалуйста что это за KOL - кодоэкономичная объектная библиотека для Delphi и всё что известно о графике, 2d и 3d в Delphi

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: Вероятность одинакового CRC32


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