Добрый день!
Не получается прочитать данные из XML в XE2.
Вот функция, которая возвращает ноду по имени:
code:function getNodeByName(xFile, xName : string) : IXMLNode;
var
vXML : IXMLDocument;
vNode : IXMLNode;
begin
Result := nil;
if not FileExists(xFile) then exit;
vXML := NewXMLDocument;
vXML.LoadFromFile(xFile);
Result := RecursiveFindNode( vXML.DocumentElement, xName );
end;
Рекурсивный поиск реализован вот так:[Code]function RecursiveFindNode(ANode: ...
Можно ли с помошью keybd_event() написать произвольный мультиязычный текст?
Уточню:
Допустим у меня есть текст в переменной типа WideString (тоесть 16-ти битный уникоде), что означает что там может быть текст на любом языке.
Мне надо ввести этот текст в окне браузера.
Когда мне надо было вводить русский или английский текст - я без проблем это делал, указывал нужную раскладку, проверял большая буква или маленькая (надо ли зажимать шифт перед нажатием клавиши) и вводил побуквенно.
Но тут ...
Добрый день!
Моё приложение создаёт окно самостоятельно (WinAPI), затем я обрабатываю сообщения моего окна.
Есть задача - отлавливать нажатие клавиши Escape и не давать окну закрываться
(например хочу повесить на Escape другой функционал).
И так, я имею две функции (для наглядности я уберу из кода всё лишнее, проверки, оставлю только суть):
основной цикл моей программы
[Code]
procedure MainLoop;
while GetMessage( MSG, 0, 0, 0 ) do { забираю очередное сообщение для своего окна }
beg ...
Всем привет!
Пишу рекурсивную процедуру, в которую в качестве параметра передается объект (например TPanel)
Поскольку объект может быть различным, то делаю преобразование к TwinControl
Задача процедуры пройтись по всем элементам этого объекта, включая вложенные и установить некоторые общие свойства, например Enabled.
Все работает до тех пор, пока не встречается TSpeedButton (возможно есть и другие типы).
Поскольку этот компонент берет свое начало не от TwinControl, то у него нет свойства ...
У меня на форме есть Memo1 внутри которого пользователь может вводить только определённые символы (это проверяется через OnKeyPress). Но у пользователя остаётся возможность вставить текст через Ctrl+V или Shift+Insert или через контекстное меню.
Наверно правильно в таком случае перехватывать WM_PASTE и заранее исправлять текст в буфере...
Но тут вопрос: могу ли я изменить только тот текст который который попадёт при вставке в мой Memo1 или единственный вариант это "корёжить" сам буфер?
...
Представте что у вас Memo1 размером 100х100 точек.
Но в нём есть строка размером 500 точек.
И вы находитесь на середине этой строки.
Как узнать - начиная с какой точки вы видите текст? (ну тоесть каково смещение видимой зоны?)
Кто-то возможно сразу скажет что это можно найти в GetScrollInfo(Memo1.Handle,SB_HORZ,si);
Но дело в том что GetScrollInfo будет давать информацию о смещении скроллинга только в том случае если для Memo1 включены его стандартные скроллинги! А если стандартные скролл ...
Перевёл старый проект на RAD XE5.
Все старые исходные файлы в кодировке cp1251. Нужно, чтоб они были в utf8.
В связи с этим вопросы:
1. Правильно ли я понимаю, что RAD XE5 успешно работает с исходниками в utf8?
2. Умеет ли RAD XE5 автоматически переводить все исходники в заданную кодировку?
3. Предполагает ли кто-нибудь подводные камни?
Спасибо. ...
Всем привет.
TOpenDialog каждый раз открывается таким маленьким, а как его запустить с другими размерами? И как "Меню-ВИД" сделать принудительно "эскизы страниц"? Handle у него есть, может послать ему что-то?
...
Здравствуйте! В Delphi у компонента tchart в режиме разработки есть собственный редактор настроек различных свойств tchart. У меня вопрос есть ли у кого ссылки на ресурсы содержащие готовые решения настройки tchart при выполнении приложения. ...
Здравствуйте! Скачал у Вас на сайте в статье "Выдвижной ящик для визуальных компонентов" компонент TDrawer.
Компонент мне понравился, как раз то что я искал, но понадобилось создавать его динамически. В процедуре создания формы написал
uses
....Drawer;
procedure TForm1.FormCreate(Sender: TObject);
var
Drawer1: TDrawer;
begin
...
Drawer1:=TDrawer.Create(Form1);
Drawer1.Parent:=Form1;
...
end;
После компиляции ничего не произошло, подскажите, что я не учёл. ...
Здравствуйте.
Прошу помощи в следующем вопросе. Работаю в Delphi6.
Я получаю от сервера ответ на свой пост-запрос в формате json, который сохранется в стринг. Пример ответа сервера:
Доброго времени суток, уважаемые жители Королевства!
Вопрос по поводу добавления контакта в outlook я частично решил.
Но не могу правильно написать код в обработчике события ButtonClick, чтобы эта процедура работала.
Помогите пожалуйта. Вот код.
[Code]
procedure OutlookAddContact(ContactFolderPath : string; Contact : TContact);
const
olFolderContacts = $0000000A;
var
Outlook : OleVariant;
NameSpace : OleVariant;
ContactsRoot : OleVariant;
ContactsFolder : OleVariant;
OutlookC ...
Добрый день, уважаемые ГУРУ!
Помогите пожалуйста разобраться с проблемой.
Отладка под Windows XP Delphi7. ПО прекрасно работает. Под Windows7 x 32 - не запускается - т.е. процесс запускается, а окно не открывается. Хотя предыдущая версия нормально работала под Windows7. Никаких сообщений об ошибках, никаких записей в ЛОГах Windows, в логах Касперского.
У меня уже был такой случай - в предыдущий раз отключали антивирус, пробовали запускать под админом - не помогло.
приходилось откатываться ...
Добрый день!)
Я работаю с Delphi 2006 и Microsoft Office 2003. Через OLE выполняю поиск и замену в файле xls, тегов вида [TAG_1] на текстовые значения полей из БД. А вместо тегов [IMAGE_1], [IMAGE_2], [IMAGE_3], в файл вставляю картинки формата png. При этом, левый верхний угол вставленной картинки совпадает с тегом найденной ячейки [IMAGE_x].
Обращаютсь к Microsoft Excel вот так:
[Code]procedure TForm1.OpenAppXLS;
var
FFilePath : OleVariant;
begin
try
FExcelOLE := CreateOleObject ...
Доброе время суток, уважаемые жители Королевства!!!
У меня возникла проблема по экспорту из Lazarus в Excel.
Дело в том, что строка
ArrayData:=vararraycreate(...)
показывает что ошибка в vararraycreate
Посмотрев в список возможных варианов написания кода в Lazarus, увидел что vararraycreate вообще нет, а есть, например, vararrayget.
Помогите пожалуйста разобраться, что нужно сделать, чтобы не было ошибки...
Заранее вам благодарен... ...
Пока сеть работает стабильно, в сниффере вижу свои пакеты. Далее, выдираю из компа кабель, жду 10 сек, вставляю обратно, коннект восстанавливается... а вот b ...
Работаю с TAdvStringGrid. Очень сильно тормозит - каждая ячейка прорисовывается долго. При отправке на печать ждать приходится 4-5 минут. В чем причина? Может, надо какие-то настройки выставить??? ...
Вопрос про рисование полигонов и манипуляции ими с помощью мыши.
Пользователь видит растровую картинку, поверх неё надо обозначать несколько полигональных областей. Причем пользователь должен иметь возможность двигать мышью как отдельные вершины, так и полигон целиком. Как это реализовать наиболее оптимальным способом?
Сейчас я вершины полигонов обозначаю создавая в ран-тайм нужное количество TShape поверх PaintBox и соединяя их линией в OnPaint. Получается двигать вершины, а перемещать весь п ...
Для создания ярлыка на рабочем столе использую всем известный код
[Code]// Создание ярлыка
// PathObj - Путь к программе
// PathLink - Путь к ярлыку
// Desc - Описание
// Args - Аргументы
HRESULT CreateLink(wchar_t *PathObj, wchar_t *PathLink, wchar_t *Desc, wchar_t *Args)
{
CoInitialize(NULL);
IShellLinkW *psl;
HRESULT hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLinkW, (void**)&psl);
//HRESULT hres = CoCreateInstance(CLSID_ShellLink ...