Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi 2

Модерирует : ShIvADeSt

ShIvADeSt (22-03-2007 02:18): http://forum.ru-board.com/topic.cgi?forum=33&topic=8142  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

   

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Продолжение темы http://forum.ru-board.com/topic.cgi?forum=33&topic=3647&start=2020#lt
Внимание, все большие куски кода (более 5 строк) оформляем в тег [more] дабы уменьшить размер поста.

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:52 20-04-2006 | Исправлено: ShIvADeSt, 02:02 30-06-2006
Vetal303



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
kzsergo
чесно, нечего не понял. Можно как-то более дально объяснить что надо. А то Edit1.Text, Button1.....
 
ЗЫ Учимся задавать вопросы - господа!!!!

Всего записей: 498 | Зарегистр. 05-07-2004 | Отправлено: 00:13 04-08-2006 | Исправлено: Vetal303, 00:15 04-08-2006
dmit000



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос есть у меня.
То что я пишу для себя в Дельфи не требует версий выше третьей (на ней я и пишу собственно), но попалась версия 7 и мне не понятно стало почему скомпелированный файл программы в Дельфи7 раза в 4 больше по размеру чем такойже файл скомпелированный в Дельфи3.
 
Почему так и как это исправить.
 

Всего записей: 483 | Зарегистр. 07-06-2004 | Отправлено: 06:11 04-08-2006
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dmit000

Цитата:
То что я пишу для себя в Дельфи не требует версий выше третьей (на ней я и пишу собственно), но попалась версия 7 и мне не понятно стало почему скомпелированный файл программы в Дельфи7 раза в 4 больше по размеру чем такойже файл скомпелированный в Дельфи3.    Почему так и как это исправить.   

Потому что больше свойств стало у стандартных классов, поэтому и код больше. Никак это не исправится, пиши на АПИ и будет пофигу на чем компилировать.


----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 06:26 04-08-2006
kzsergo

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
чесно, нечего не понял. Можно как-то более дально объяснить что надо. А то +Edit1.Text, Button1

Что тут непонятного-то. На форме (класса TForm) имеется два компонента поле редактирования (класса TEdit) и исполнительная кнопка (класса TButton). Предположим я ввел пароль или имя с интернет карточи в поле редактирования (класса TEdit). Дальше нужно, чтобы значение, содержащееся в этом поле редактирования (класса TEdit), оказалось в соответственном поле редактирования окна "подключение к интернету" для этого должна нажиматься исполнительная кнопка (класса TButton).  

Всего записей: 36 | Зарегистр. 14-07-2006 | Отправлено: 09:50 04-08-2006
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
kzsergo
Если ты хочешь, чтобы текст из одного окна перенесся в другое - бери какую-нибудь прогу, позволяющую просматривать окна (например WinSight, SpyXX) - смотри что из себя представляет окно подключения, а затем FindWindow, FindWindowEx, SetWindowText.
 
Если же ты хочешь, чтобы можно было ввести пароль у себя в программе, а он потом появился в окне подключения когда его откроют - то тогда скорее всего надо писать в реестр - можно с помощью класса TRegistry, а место... RegMon, поиск по инету, форумы по Windows... ну или может кто здесь знает и присоветует

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 10:18 04-08-2006
kzsergo

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Объясните что это такое - FindWindow, FindWindowEx, SetWindowText. Я еще начинающий программист и пока достаточно мало знаю.

Всего записей: 36 | Зарегистр. 14-07-2006 | Отправлено: 11:56 04-08-2006
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
kzsergo
Функции Windows API - описаниие или в справке по делфи (менее подробное) или в MSDN (если нет локального варианта, то msdn.microsoft.com)

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 14:10 04-08-2006
SERGE_BLIZNUK

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kzsergo

Цитата:
FindWindow, FindWindowEx, SetWindowText

значит, вас всё таки поняли правильно и вы хотите писать текст в "чужое" приложение...
 
рекомендую набор факов и статей по Дельфи - Delphi World 6 Pro - 5000 статей по Delphi
 
там был ответ, как это сделать...
 
 

Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 17:10 04-08-2006
kzsergo

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
значит, вас всё таки поняли правильно и вы хотите писать текст в "чужое" приложение...  

 
 
Несовсем понял. Я не знаю как найти ссылку на поля редактирования нужного мне окна. Я не уверен, но мне кажется что нужно подключать библиотеку в моем случае она находится в файле Wininet.dll. Найдя ссылку, я смогбы воспользоваться SetWindowText тем самым вставить мой текст в эти поля (пароль или имя). И если вы знаете как вообще подключать чужие библиотеки и брать оттуда какие-либо функции или формы, то скажите.    

Всего записей: 36 | Зарегистр. 14-07-2006 | Отправлено: 18:51 04-08-2006
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
kzsergo
FindWindow - ищешь окно подключения по заголовку окна и можно классу (его можно посмотреть с помощью SpyXX)
FindWindowEx - ищешь нужный контрол у найденного окна подключения
SetWindowText - задаешь содержимое этого контрола
Wininet.dll для этого не нужен - все функции лежат в Windows.pas
 
Описание того как подключать функцию из библиотеки можешь найти в справке к делфи прыгая от "external"
Непосредственно форму из библиотеки ты не возьмешь - разве что какая-нибудь функция в процессе работы создает окно

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 23:32 04-08-2006
kzsergo

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
С FindWindow разобрался. Не могу понять, как действуют функции FindWindowEx и SetWindowText, а также какие значения нужно в них вводить. Пробую по-всякому использользовать их, но результата никакого, т. е. ничего не получается. Вследствие мои значения не добавляются в поле редактирования нужного мне окна.
 
 А как сделать так, чтобы мое окно всегда находилось поверх других, и что такое дескриптор?
 
Что за тип THandle и HWND?
 
 Я примерно представляю что это такое (дескриптор,HWND,THandle), но более точным определением не обладаю, так как еще учусь программировать.

Всего записей: 36 | Зарегистр. 14-07-2006 | Отправлено: 19:43 05-08-2006
Larry



Moderator
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
kzsergo,
 
SetWindowText(HWND, text);
 
HWND - указатель на окно.
 
FindWindowEx(HWND, 0, text, nil);


----------
Never put off till tomorrow what can be put off till day after tomorrow just as well

Всего записей: 3126 | Зарегистр. 20-07-2005 | Отправлено: 21:04 05-08-2006
kzsergo

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
FindWindowEx(HWND, 0, text, nil);  

 
 
Ну а text в данном случае какого типа (PChar или String или же какой-то другой)?  
 
Что такое дескриптор?  
 
Как определить класс окна? Я воспользовался прогой WinSight, но она мне несовсем понятна, потому как там одни числа, насколько я знаю, в шестнадцатеричном представлении, поэтому я накак не могу определить класс инересующегоменя окна или объекта.
 
А как сделать так, чтобы мое окно всегда находилось поверх других?
 
Как достать какую-нибудь функцию из чужой библиотеки?




попробуй скачать книжку по азам дельфи и почитать ее, многие вопросы исчезнут.

Всего записей: 36 | Зарегистр. 14-07-2006 | Отправлено: 22:10 05-08-2006 | Исправлено: ShIvADeSt, 02:02 07-08-2006
Ang



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
kzsergo
В терминах Delphi - text это PChar. А для использования функции из внешней DLL применяй функции LoadLibrary и GetProcAddress. Или заранее описывай нужную тебе функцию как external. (Кстати, ответы на многие вопросы такого типа можно нати в MSDN)

Всего записей: 251 | Зарегистр. 25-07-2001 | Отправлено: 00:18 06-08-2006
Jokerjar



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как в программе, написанной на KOL, поменять имя класса окна? А то оно всегда выходит одинаковым, что-то вроде obj_form

Всего записей: 591 | Зарегистр. 22-03-2006 | Отправлено: 13:09 06-08-2006
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
kzsergo

Цитата:
Что такое дескриптор?

Указатель на тот или иной объект Windows - число, которое ты как-то получаешь (FindWindow, CreateFile и т.п.) и затем передаешь функциям, что-то с этим объектом делающим (та же SetWindowText). Для окон чтобы было более читабельно дескриптор имеет тип HWND.
 

Цитата:
А как сделать так, чтобы мое окно всегда находилось поверх других?

Установить FormStyle в fsStayOnTop
 
WinSight в Д2006 толком обнаружить не удалось - ws32.exe лежит, но просит библиотеку, которой нет, поэтому по поводу его не посоветую... MS SpyXX можешь взять здесь - там вроде понятно где класс окна
http://rapidshare.de/files/28419778/SPYXX.EXE.html

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 21:06 06-08-2006 | Исправлено: RomanTim, 21:15 06-08-2006
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jokerjar

Цитата:
Как в программе, написанной на KOL, поменять имя класса окна? А то оно всегда выходит одинаковым, что-то вроде obj_form

так же как и в случае программы написаной на ВЦЛ, то есть никак юзай АПИ.


----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:03 07-08-2006
Jokerjar



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt, в api по-умолчанию класс Tform1, меняешь имя формы и меняется класс (только в начале появляется буква T).

Цитата:
юзай АПИ

Пример если можно
 

Всего записей: 591 | Зарегистр. 22-03-2006 | Отправлено: 06:47 07-08-2006
dmit000



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задача:
объявляю массив из пяти чисел (real) и перечисляю их в программе. нужно чтобы этот список появился в combobox.
Помогите пожалуйсто. Только код без наваротов нужен.

Всего записей: 483 | Зарегистр. 07-06-2004 | Отправлено: 06:00 08-08-2006
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jokerjar

Цитата:
Пример если можно

копай в гугле в сторону CreateWindow(Ex) дает возможность называть класс окна как угодно.
 
 
Добавлено:
dmit000

Цитата:
объявляю массив из пяти чисел (real) и перечисляю их в программе. нужно чтобы этот список появился в combobox.

ComboBox1.Items.Add(Format('%d,[MyArray[i]]));
вроде примерно так, позволяет форматировать действительные числа по маске (копать в сторону формата)


----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 06:20 08-08-2006
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi 2
ShIvADeSt (22-03-2007 02:18): http://forum.ru-board.com/topic.cgi?forum=33&topic=8142


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru