Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C++ Builder / Delphi

Выпуск № 291
от 18.02.2004, 03:00

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 1340
Отправлено ответов: 2935
Активность: 219.0 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

THE_PRO
Статус: Профессиональный
Общий рейтинг: 140.29
URL: THE_PRO
Телефон: (994 +12) 989647
[Подробней >>]
sir henry
Статус: Профессиональный
Общий рейтинг: 160.47
[Подробней >>]
Boriss
Статус: Профессиональный
Общий рейтинг: 153.11
URL: Программирование на Паскале
[Подробней >>]
 
Pawel
Статус: Опытный
Общий рейтинг: 163.38
[Подробней >>]
CJ
Статус: Опытный
Общий рейтинг: 121.75
URL: Мой персональный сайт! Зайдите и не пожалеете!
[Подробней >>]
samum2000
Статус: Опытный
Общий рейтинг: 122.99
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 1333. Почему в Delphi 6 есть INDY а в Delphi 7 нет и где его скачать?... (ответов: 5)
Вопрос № 1334. Приветствую вас уважаемые эксперты подскажите плиз как из реестра например здесь "HKEY_CURRENT_... (ответов: 6)
Вопрос № 1335. В программе (InterBase + Delphi6) имеются DBEdit'ы, в которых должны появляться определенные значени... (ответов: 3)
Вопрос № 1336. Здравствуйте эксперты ! Помогите разобраться в следующем: имею следующий тип и переменные type MyTy... (ответов: 5)
Вопрос № 1337. Приветствую ЭКСперты! Подскажите пожалуйста можно ли программно заполнять поля формы в IE. Т.е. запу... (ответов: 3)

Вопросов: 5, ответов: 22


 Вопрос № 1333

Почему в Delphi 6 есть INDY а в Delphi 7 нет и где его скачать?



Вопрос отправлен: 13.02.2004, 11:16
Отправитель: Андрей (barsena@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает THE_PRO

Доброе время суток, Андрей!
Kak eto... INDY 100 % est tam!!!

Ответ отправлен: 13.02.2004, 15:06
Отправитель: THE_PRO


Отвечает sir henry

Доброе время суток, Андрей!
В Delphi 7 Enterprise Indy есть. Видимо Вам надо просто поменять дистрибутив на Enterprise. Либо компоненты Indy у Вас просто не установлены, тогда при переустановке, надо выбрать установку вручную и проверить, стоит ли птичка возле компонентов Indy.

Ответ отправлен: 13.02.2004, 12:27
Отправитель: sir henry


Отвечает Boriss

Приветствую Вас, Андрей!
????? А почему Вы решили, что нет !
4 панели посвященных INDY есть в 7-м. Находят после ActiveX, Rave. Возможно, что Вы их не установили

Ответ отправлен: 13.02.2004, 13:54
Отправитель: Boriss


Отвечает Pawel

Доброе время суток, Андрей!
Вообщето INDY в delphi 7 есть.

Ответ отправлен: 13.02.2004, 16:55
Отправитель: Pawel


Отвечает CJ

Приветствую Вас, Андрей!
Нет потому что не впихнули его туда! :)

Ответ отправлен: 14.02.2004, 21:57
Отправитель: CJ


 Вопрос № 1334

Приветствую вас уважаемые эксперты подскажите плиз
как из реестра например здесь "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerDisallowRun" прочитать все содержащиеся в этом разделе (строковые) ключи (я думаю надо использовать функцию RegEnumValue из advapi32.dll но как этой функцией пользоватся столько не понятных параметров)



Вопрос отправлен: 13.02.2004, 14:30
Отправитель: funtik

[Следующий вопрос >>] [Список вопросов]

Отвечает THE_PRO

Добрый день, funtik!
Rabotay s klassom TRegistry iz modulya Registry
Naprimer Rgistry1.ReadString(...

Ответ отправлен: 13.02.2004, 15:05
Отправитель: THE_PRO


Отвечает Boriss

Приветствую Вас, funtik!
Не обязательно WinAPI для этого использовать. В Delphi есть класс TRegistry. И для него много примеров

Приложение:

Ответ отправлен: 13.02.2004, 18:01
Отправитель: Boriss


Отвечает sir henry

Приветствую Вас, funtik!
function RegEnumValue(hKey: HKEY; dwIndex: DWORD; lpValueName: PChar; var lpcbValueName: DWORD; lpReserved: Pointer; lpType: PDWORD; lpData: PByte; lpcbData: PDWORD): Longint; stdcall;
hKey - ключ.
dwIndex - этот параметр должен быть 0 при первом вызове, а далее по анологии с RegEnumKey (т.е. можно использовать в цикле),
lpValueName - буфер для названия значения
lpcbValueName - размер lpValueName
lpReserved должно быть всегда 0
lpType - буфер для названия типа (int)
lpData - буфер для данных
lpcbData-размер для lpData
Примечание:
При каждой новом вызове функции после предыдущего нужно заново переназначить lpcbValueName.
lpcbValueName = sizeof(lpValueName)

Ответ отправлен: 13.02.2004, 16:00
Отправитель: sir henry


Отвечает Pawel

Приветствую Вас, funtik!
А чем вас не устраевает клас TRegistry?

Ответ отправлен: 13.02.2004, 16:57
Отправитель: Pawel


Отвечает CJ

Добрый день, funtik!
Используй registry.pas

Ответ отправлен: 14.02.2004, 21:56
Отправитель: CJ


Отвечает samum2000

Здравствуйте, funtik!
В Delphi есть тип TRegistry, который обеспечивает доступ к реестру, но если вы все же хотите использовать API, то вот небольшая информация (выдержки из справочника по API).
Получить имена всех подразделов раздела Key:
RegEnumKey(Key:HKey; index: Longint; Buffer: PChar; cb: Longint): Longint;
где
Key - Handle на открытый или созданный раздел
Buffer - указатель на буфер
cb - размер буфера
index - индекс, должен быть равен 0 при первом вызове RegEnumKey. Типичное использование - в цикле While, где index увеличивается до тех пор, пока очередной вызов RegEnumKey не завершится ошибкой
Раздел должен быть предварительно открыт:
RegOpenKey(Key: HKey; SubKey: PChar; var Result: HKey): Longint;
Раздел Key
Подраздел SubKey
Возвращает Handle на подраздел в переменной Result. Если раздела с таким именем нет, то он не создается.
Возврат - код ошибки или ERROR_SUCCESS, если успешно.
Или создан:
RegCreateKey (Key:HKey; SubKey: PChar; var Result: HKey): Longint;
Key - указывает на "корневой" раздел реестра, в Delphi1 доступен только один - HKEY_CLASSES_ROOT, а в Delphi3 - все.
SubKey - имя раздела - строится по принципу пути к файлу в DOS (пример subkey1subkey2 ...). Если такой раздел уже существует, то он открывается.
В любом случае при успешном вызове Result содержит Handle на раздел.
Об успешности вызова судят по возвращаемому значению, если ERROR_SUCCESS, то успешно, если иное - ошибка.
Подробнее о них можно узнать в Windows SDK.

Ответ отправлен: 15.02.2004, 16:09
Отправитель: samum2000


 Вопрос № 1335

В программе (InterBase + Delphi6) имеются DBEdit'ы, в которых должны появляться определенные значения при переходе со строки на строку в гриде. Почему-то однажды появившееся значение (при запуске программы или при переходе со страницы на страницу PageControl'а) не изменяется, точнее, изменяется, если щелкнуть мышью на DBEdit'е. Как это побороть с минимальными издержками?



Вопрос отправлен: 13.02.2004, 14:47
Отправитель: Loko

[Следующий вопрос >>] [Список вопросов]

Отвечает sir henry

Доброе время суток, Loko!
Не знаю, почему у Вас так, у меня при передвижении по запросу данные в DBEdit меняются исправно. По умолчанию так и должно быть.
Компоненты:
TIBDatabase->TIBQuery->TDataSource->TDBEdit.
Попробуйте удалить компоненты с формы и поставить их заново, изменяя только необходимые свойства.

Ответ отправлен: 13.02.2004, 15:40
Отправитель: sir henry


Отвечает THE_PRO

Приветствую Вас, Loko!
Vrode bi u menya vse normalno, ya ne znayu pochemu u tebya tak?!

Ответ отправлен: 13.02.2004, 15:01
Отправитель: THE_PRO


Отвечает Pawel

Добрый день, Loko!
Работать по идее должно.

Ответ отправлен: 13.02.2004, 16:57
Отправитель: Pawel


 Вопрос № 1336

Здравствуйте эксперты !
Помогите разобраться в следующем:
имею следующий тип и переменные
type
MyType = record
Name: String[20];
Age: Byte;
end;
var
Form1: TForm1;
MyArr: array of MyType;
n: Byte;
по кнопке выполняю
procedure TForm1.Button1Click(Sender: TObject);
var i: byte;
begin
n:=15;
SetLength(MyArr,n);
for i:=1 to n do
begin
MyArr[i].Name:='Рамзес '+IntToStr(i)+'й';
MyArr[i].Age:=i*5+Random(10);
Memo1.Lines.Add(MyArr[i].Name+IntToStr(MyArr[i].Age));
end;
end;
Вылетает эксепшн EAccessViolation, не пойму в чем дело.
Оболочка Delphi 6.
Заранее спасибо.



Вопрос отправлен: 13.02.2004, 16:17
Отправитель: Радик (rdk78@nightmail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает THE_PRO

Доброе время суток, Радик!
Dinamicheskiya massivi numeruyutsya s 0 a ne 1 i poetomu:
...
n:=15;
SetLength(MyArr,n);
for i:=1 to n do
...
ne rabotayet, a
...
n:=15;
SetLength(MyArr,n);
for i:=0 to n-1 do
...
rabotayet!

Ответ отправлен: 13.02.2004, 16:30
Отправитель: THE_PRO


Отвечает Boriss

Доброе время суток, Радик!
Все просто - в массиве N элементов,
но их номера от 0 до N-1!
То есть, пытаясь записать в N-ый элемент - пишешь мимо!

Ответ отправлен: 13.02.2004, 17:56
Отправитель: Boriss


Отвечает sir henry

Добрый день, Радик!
Задавая размер массива SetLength(MyArr, 15), Вы получаете массив MyArr : array[0..14] of MyType. Элементов в нем 15, но первый элемент - 0, а последний - 14.

Ответ отправлен: 14.02.2004, 03:54
Отправитель: sir henry


Отвечает Pawel

Здравствуйте, Радик!
Массив, особенно динамический
лучше обрабатывать начиная с 0.

Ответ отправлен: 13.02.2004, 17:00
Отправитель: Pawel


Отвечает samum2000

Доброе время суток, Радик!
Ошибка вылетает потому, что вы обращаетесь к области памяти, которая не принадлежит вашему массиву. Динамические массивы начинают номерацию с ноля, поэтому, если вы пишите SetLength(MyArr,n);, то можете обращаться к элементам MyArr[0]..MyArr[14]. Вот и вся ошибкаж исправте цикл таким образом:
..
for i:=0 to n-1 do
..
Попутного ветра!

Ответ отправлен: 15.02.2004, 16:09
Отправитель: samum2000


 Вопрос № 1337

Приветствую ЭКСперты!
Подскажите пожалуйста можно ли программно заполнять поля формы в IE. Т.е. запущен IE и паралельно моя прога и автоматом, при нажатии на кнопку, заполняются нужные поля. Имена поле известны.. Если можно то как?
И еще:есть ли компонент и как он называется, который позволял бы отправлять форму и получать выходные данные, минуя использование браузера... Если можно пример.



Вопрос отправлен: 13.02.2004, 18:47
Отправитель: D.M. (m2dm@yandex.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Boriss

Здравствуйте, D.M.!
Вот что нашел в Delphist FAQ

Приложение:

Ответ отправлен: 13.02.2004, 19:15
Отправитель: Boriss


Отвечает THE_PRO

Доброе время суток, D.M.!
Prosto ispolzuy script peredavaya yemu parametri.

Ответ отправлен: 14.02.2004, 10:15
Отправитель: THE_PRO


Отвечает Pawel

Здравствуйте, D.M.!
Попробуй мспользовать IHTMLDocument

Ответ отправлен: 14.02.2004, 20:54
Отправитель: Pawel



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (27)
C / C++ (15)
Perl (4)
Builder / Delphi (20)
Pascal (21)
Basic / VBA (9)
Java / JavaScript (4)
PHP (14)
Криптография (6)
WinAPI (13)
Радиоэлектроника (7)
Пользователю
Windows 95/98/Me (39)
Windows NT/2000/XP (52)
"Железо" (33)
Поиск информации (14)
Администратору
Windows NT/2000/XP (28)
Linux / Unix (9)
Юристу
Гражданское право (16)
Семейное право (11)
Трудовое право (12)
КоАП (10)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2004 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное