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

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


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 718
от 26.01.2007, 15:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 422, Экспертов: 72
В номере:Вопросов: 4, Ответов: 4


Вопрос № 71816: Здравствуйте.Мне необходмы общие характеристики Delphi6 и Delphi7.То есть,что в этих версиях появилось нового по сравнению с предыдущими.Своего рода эволюция Delphi....
Вопрос № 71823: Здравствуйте, Эксперты! Я делаю печать StringGrid таким образом: (см приложение) То есть, во время работы приложения создаю метки QRLabel, присваиваю им необходимые свойства (владелец, ширина, линии, caption). Скажу сразу, что этот код я ...
Вопрос № 71832: Вопрос, наверно не совсем в тему, но наиболее близок всё-таки сюда... Используется связка Delph + OpenOffice-OLE На всех форумах как рекомендация по установке ширини столбца приводят код: Column.OlePropertySet("width"...
Вопрос № 71894: Уважаемые эксперты, скажите, как реализовать в своей программе возможность по нажатию кнопки в программе, удалять несколько символов в Word'е, т.е. имитировать нажатие клавиши Backspace в Word'е. ...

Вопрос № 71.816
Здравствуйте.Мне необходмы общие характеристики Delphi6 и Delphi7.То есть,что в этих версиях появилось нового по сравнению с предыдущими.Своего рода эволюция Delphi.
Отправлен: 20.01.2007, 15:22
Вопрос задал: Kelvine_1987 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Костенко Игорь Викторович
Здравствуйте, Kelvine_1987!
Компилятор Delphi теперь поддерживает три новых предупреждения: Unsafe_Type, Unsafe_Code и Unsafe_Cast. Данные предупреждения запрещены по умолчанию, но могут быть разрешены с помощью следующих директив {$WARN UNSAFE_CODE ON}, с помощью ключей командной строки компилятора dcc32 -W+UNSAFE_CODE и в среде, Project|Options|Compiler Messages. Данное свойство предназначено для помощи в переносе вашего кода на платформу .NET. В обслуживаемой среде выполнения, "unsafe" означает, что операция не может быть проверена во время статического анализа, выполняемого компилятором Just In Time (JIT). Такой код может серьезным риском в безопасности, поскольку здесь недостаточно информации для компилятора JIT для проверки его runtime поведения. Примером опасного кода, являются операции с указателями и перезапись памяти.

∙ Новые события в THTTPReqResp позволяют отделить HTTP сообщения до их и индикации прогресса при передаче или приеме длинных сообщений.
∙ THTTPSoapPascalInvoker теперь имеет опубликованные события, которые позволяют вам писать код до или после выполнения инвокер (invoker) выполнит запрошенный метод вызова.
∙ Теперь вы имеете большее управление над связыванием с извлекаемыми интерфейсами и WSDL документами. TWSDLHTMLPublish теперь публикует некоторые события, позволяя вам управлять генерацией WSDL. Вы можете также идентифицировать мапирование между возвращаемыми функцией значениями и именами параметров, с помощью пространства имен и действиями по умолчанию SOAP. На клиентской стороне, литеральное кодирование теперь поддержано, также как RPC кодирование.
∙ Новый интерфейс IRIOAccess позволяет вам иметь доступ до удаленного интерфейсного объекта, который реализует вызываемый интерфейс.
∙ Интерфейс IOPConvert имеет новое свойство: Encoding. Оно позволяет указать вам набор символов для передачи кодированных сообщений, передаваемых между клиентом и провайдером Web сервиса.
∙ Есть также изменения в Web сервисах, которые затрагивают Borland DataSnap приложения. Для более подробной информации смотрите главу "Database технологии".
∙ TLinkedRIO конструктор теперь автоматически генерирует отдельные имена файлов для каждого метода, который вы вызываете, делая отладку более простой.
∙ TOPToSoapDomConvert теперь имеет два новых события, которые позволяют вам при отладке десериализацию SOAP пакетов.
∙ Теперь вы можете использовать перегруженные методы на вызываемых интерфейсах, которые вы определили.


---------
Если хочешь заработать на жизнь - иди, работай. Если хочешь разбогатеть - придумай что-то другое.
Ответ отправил: Костенко Игорь Викторович (статус: 1-ый класс)
Ответ отправлен: 20.01.2007, 15:40


Вопрос № 71.823
Здравствуйте, Эксперты!
Я делаю печать StringGrid таким образом: (см приложение)
То есть, во время работы приложения создаю метки QRLabel, присваиваю им необходимые свойства (владелец, ширина, линии, caption).
Скажу сразу, что этот код я подсмотрел в компоненте PrnStringGrid (не помню, чей, но не стандартный).
Код полностью рабочий!

Вопросы:
1. Правильно ли я создаю метки? Может нужно какие-то еще параметры нужно установить (для корректности)?
2. Нет ли здесь каких-то подводных камней? Программа ИНОГДА (очень редко) вываливается с ошибкой Run-Time. Нет ли утечек памяти? Достаточно ли в конце освободить память у формы (FormReestr.Free)?
3. Как видно, метки создаются в цикле по количеству строк StringGrid-а. Как сделать, чтобы при достижении определенного количества происходил переход на следующий лист? Printer.NextPage и QuickRep1.NewPage не работают!

Благодарю всех за ответ.
P.S. на http://megalib.com наловил троянов. Будьте осторожнее!!!!

Приложение:

Отправлен: 20.01.2007, 16:06
Вопрос задал: Antares (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 6)

Отвечает: sir henry
Здравствуйте, Antares!
У компонента TStringGrid есть еще и свойство ColCount, т.е. кол-во столбцов. Поэтому процедуру можно упростить воспользовавшись вложенным циклом:
for i:=1 to StringGrid1.RowCount-1 do
for j:=1 to StringGrid1.ColCount-1 do
with TQRLabel.Create(DetailBand1) do { создали метку }
begin
....
Caption:=StringGrid1.Cells[j, i];
End;
Естественно только Вам нужно вычислять при назначении Top и Left смещение.
В этом случае Вы можете создавать автоматом и строки и колонки, по их количеству в StringGrid.
Возможно (но проверить я, естественно, это не могу) ошибка Run-Time у Вас выскакивала при попытке превысить созданные QRLabel по горизонталии.
И еще. Кол-во строк и колонок начинается с нуля (это заголовки) и до ColCount-1 (RowCownt-1).
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 20.01.2007, 17:37
Оценка за ответ: 3
Комментарий оценки:
Я привел лишь кусок кода. По нему можно понять смысл создания меток. На самом деле структура сложная, и я только беру некоторые данные из StringGrid.
Как это "превысить созданные QRLabel по горизонтали"?
Если задать height или left большой, метка легко уйдет за лист! Без ошибок!!!


Вопрос № 71.832
Вопрос, наверно не совсем в тему, но наиболее близок всё-таки сюда...

Используется связка Delph + OpenOffice-OLE
На всех форумах как рекомендация по установке ширини столбца приводят код:

Column.OlePropertySet("width", 1000); //1000 = 1см

Вопрос, не знаете ли вы, какого типа объект Column и каким методом можно получить нужный столбец?

Заранее спасибо!
Отправлен: 20.01.2007, 17:14
Вопрос задал: Стас М. (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: sir henry
Здравствуйте, Стас М.!
Единственный тип который Вы можете получить из OpenOffice в Delphi (это в равной мере относится и к MS Office), это тип OleVariant. Непосредственно к компоненту обращается сам ОО, т.к. в Delphi Вы работаете не с ОО, а с объектом COM который и передает далее офису Ваши параметры свойствам или процедуры на выполнение.
По поводу "как", Вам лучше обратится на форум по ОО, там наверняка Вам ответят. Ссылка:
http://community.i-rs.ru/
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 20.01.2007, 18:12


Вопрос № 71.894
Уважаемые эксперты, скажите, как реализовать в своей программе возможность по нажатию кнопки в программе, удалять несколько символов в Word'е, т.е. имитировать нажатие клавиши Backspace в Word'е.
Отправлен: 21.01.2007, 03:37
Вопрос задал: Пастарнаков Роман (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Синельников Сергей
Здравствуйте, Фёдоров, Иван, Сергеевич!

WordDoc.Selection.TypeBackspace, где WordDoc указатель на документ Ворда
Ответ отправил: Синельников Сергей (статус: 2-ой класс)
Ответ отправлен: 21.01.2007, 09:25


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

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

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

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.42 beta от 25.01.2007
Яндекс Rambler's Top100

В избранное