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

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


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

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

Выпуск № 863
от 09.07.2007, 23:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 466, Экспертов: 79
В номере:Вопросов: 5, Ответов: 7


Вопрос № 93845: Господа помогите советом. Есть: 1. RxRichEdit1 (в нем уже есть некая информация) 2. MemoryStream1 Задача: добавить из MemoryStream1 в конец или начало RxRichEdit1. RxRichEdit1.Lines.LoadFromStream(MemoryStream1) заменяет данные<b...
Вопрос № 93852: Здравствуйте уважаемые эксперты, мне нужно разработать сетевую базу данных с помощью InterBase. Пришлите, пожалуйста, инструкцию по ее созданию на русском языке, заранее всем спасибо....
Вопрос № 93856: Добрый день, господа ! Как сделать вертикальную прокрутку синхронной в обоих DbGrid. Заранее спасибо. ...
Вопрос № 93920: Уважаемые эксперты, подскажите пожалуйста как стандартными средствами GDI создать карту? Мы создаем карту города. Нарисовать смежем. Как сделать чтоб это все перетаскивалось мышью. Может у кого-то есть маленький пример такого приложения. Вобщем станд...
Вопрос № 93944: Здайствуйте уважаемые эксперты! Вот опять пришел с вопросом. Суть его вот в чем: Имею во такой компанент JvSimScope1 - действие ето заключается в том чтобы отображать линию(ии) на расчерченной сетке при постоянном обнавлении(скорее всего похо...

Вопрос № 93.845
Господа помогите советом.
Есть:
1. RxRichEdit1 (в нем уже есть некая информация)
2. MemoryStream1
Задача: добавить из MemoryStream1 в конец или начало RxRichEdit1.
RxRichEdit1.Lines.LoadFromStream(MemoryStream1) заменяет данные

нашел CopyFrom(Source: TStream; Count: Longint): Longint
еще не пробовал, но может как-то так извернуться для добавления в конец:
RxRichEdit1.Lines.SaveToStream(MemoryStream2)
затем через MemoryStream2.CopyFrom(MemoryStream1; 0)
и опять RxRichEdit1.Lines.LoadFromStream(MemoryStream2)

Всем спасибо.
Отправлен: 04.07.2007, 02:52
Вопрос задал: Symson (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Louken
Здравствуйте, Symson!

Чтобы добавить в конец, смотри процедуру в приложении...
Использовать ее можно так:
PasteFromStream(RxRichEdit1.Lines, MemoryStream1);
Такой способ работает, только если, свойство RxRichEdit1.StreamFormat равно sfPlainText.

Приложение:

Ответ отправил: Louken (статус: 10-ый класс)
Ответ отправлен: 04.07.2007, 18:13
Оценка за ответ: 5

Отвечает: monah
Здравствуйте, Symson!
Попробуйте так:
var
s, s1:string;
i:integer;
begin
setlen(s, RxRichEdit1.size); // устанавливаем длинну буфера
RxRichEdit1.Read(s[1], RxRichEdit1.size); // Читаем в буфер
s1:=RxRichEdit1.text+s; // Обьеденяем данные
RxRichEdit1.text:=s1; // Записываем.
end;

---------
festina lente
Ответ отправил: monah (статус: Студент)
Ответ отправлен: 04.07.2007, 21:41
Оценка за ответ: 2
Комментарий оценки:
MemoryStream???


Вопрос № 93.852
Здравствуйте уважаемые эксперты, мне нужно разработать сетевую базу данных с помощью InterBase. Пришлите, пожалуйста, инструкцию по ее созданию на русском языке, заранее всем спасибо.
Отправлен: 04.07.2007, 04:54
Вопрос задал: Киселев Сергей Николаевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Архангельский Андрей Германович
Здравствуйте, Киселев Сергей Николаевич!

Есть хорошая книга Хелен Борри "Firebird, Рководство разработчика" в ней все описано"
В прилагаемом файле SQL-скрипт для создания БД из моей книги "Древовидные структуры в БД"

Прикреплённый файл: Загрузить >>
Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа.
---------
Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО

Ответ отправил: Архангельский Андрей Германович (статус: Специалист)
Ответ отправлен: 04.07.2007, 08:51


Вопрос № 93.856
Добрый день, господа !
Как сделать вертикальную прокрутку синхронной в обоих DbGrid.
Заранее спасибо.
Отправлен: 04.07.2007, 07:30
Вопрос задал: Elenkin Valeriy (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Sandy
Здравствуйте, Elenkin Valeriy!
Не очень понятно зачем это надо и с какой стати в 2х DbGrid будет одинаковое кол-во записей. В общем случае, на основании логики Вашей синхронизации используйте на обоих датасетах, связаных с гридами, методы: MoveBy, Next, Prior, Locate.
Ответ отправил: Sandy (статус: 7-ой класс)
Ответ отправлен: 04.07.2007, 09:41
Оценка за ответ: 4
Комментарий оценки:
... согласен вопрос не доработан, буду корректнее ..., спасибо.


Вопрос № 93.920
Уважаемые эксперты, подскажите пожалуйста как стандартными средствами GDI создать карту? Мы создаем карту города. Нарисовать смежем. Как сделать чтоб это все перетаскивалось мышью. Может у кого-то есть маленький пример такого приложения. Вобщем стандартные функуци реализовать.
Скачивала компонент Datamap, но он у меня отказался устанавливаться.
Любые советы будут очень дороги мне - новичку в этом деле.
Отправлен: 04.07.2007, 16:59
Вопрос задала: Сумарокова Наталья (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: Bochvarov NikB
Здравствуйте, Сумарокова Наталья!
Картьи бьивают два вида: растерние и векторние, а различия болшие.
Так, что сперва надо вьибрат техналогию.
А что бьи некоторой визуалной обект (или "все") перетаскивалось мышью - надо обрабатьивать: OnMouse Events.
Ответ отправил: Bochvarov NikB (статус: Студент)
Ответ отправлен: 04.07.2007, 17:18

Отвечает: PGM
Здравствуйте, Сумарокова Наталья!

Основные шаги, если делать самому:

1. Делаем наследника от TCustomPanel - TViewPanel = class(TCustomPanel). И в нем свойство Origin : TPoint, в котором хранится смещение от точки (0,0). Перегружаем Paint и в нем отрисовываем карту с нужного смещения.

2. В TViewPanel.MouseDown добавляем
FState := vs_Scroll; // признак что началось "таскание"
FLastMouse := Point(X,Y); // начальная точка "таскания"
Screen.Cursor := crSizeAll; // вид курсора

3. В TViewPanel.MouseMove
if FState = vs_Scroll then begin
dx := X-FLastMouse.X;
dy := Y-FLastMouse.Y;
FLastMouse := Point(X,Y);
FOrigin := Point(FOrigin.X - dx, FOrigin.Y - dy);
Invalidate;
end;

4. И наконец TViewPanel.MouseUp
FState := vs_None; // возвращаем статус в не "таскание"
Screen.Cursor := crDefault; // возвращаем курсор

P.S. В вышеприведенной схеме оставлены за скобками вопросы производительности (мигания при перетаскивании). В свое время когда делал через GDI пришлось вместо полного Paint(Invalidate) использовать ScrollDC с подрисовкой "кусочков". Через DirectX все оказалось попроще, особенно если карта влезает в оффскрин поверхность. Но это уже другой вопрос :).
Ответ отправил: PGM (статус: 8-ой класс)
Ответ отправлен: 04.07.2007, 21:00


Вопрос № 93.944
Здайствуйте уважаемые эксперты!
Вот опять пришел с вопросом. Суть его вот в чем:
Имею во такой компанент JvSimScope1 - действие ето заключается в том чтобы отображать линию(ии) на расчерченной сетке при постоянном обнавлении(скорее всего похож на коордиаграму).
В его событиях есть функция OnUpDate (как я понял выполнять какое то действие при обнавлении графика). По мимо этого компанента на форме лежит компонент TPing.
Вообщем смысл всего этого, что бы на графике отображался TTL.
В событии OnUpdate(JvSimScope1) пишу :
var
p: integer;
begin
p:= 50+ping1.Reply.RTT; --- (что бы смотрелось по середине графика прибавляю 50)
JvSimScope1.Lines.Lines[0].Position:=p;
end;

НО, удивительный эффект =), да значении TTL поподает на график, но только самое его первое значение, т.е. при обновлении графика дальнейшее значение TTL не прописывается в позицию линии(а только изночальное). Пробывал зделать цикл(тоесть пока кнопка впала, выводить значение TTL на график)-- привело к намертву зависанию всего ПО на компе. У кого есть какие идеи, как это реализовать по человечески? Если все таки через цикл, то можно наглядный пример его.
Отправлен: 04.07.2007, 20:49
Вопрос задал: Joni_ (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Sandy
Здравствуйте, Joni_!
Не получается ли у Вас зацикливание OnUpDate? Вы его вызываете, присваиваете, вероятно, его свойству новое значение - автоматом вызывается OnUpDate вновь.
Если я чего не понял киньте больше исходников в форум.
Ответ отправил: Sandy (статус: 7-ой класс)
Ответ отправлен: 05.07.2007, 12:13


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

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

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

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

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


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


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.53 beta от 09.07.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное