Читаем Советы по Delphi. Версия 1.4.3 от 1.1.2001 полностью

 property BorderWidth;

 property DragCursor;

 property DragKind;

 property DragMode;

 property Enabled;

 property Hint;

 property Constraints;

 property Min;

 property Max;

 property Orientation;

 property ParentShowHint;

 property PopupMenu;

 property Position;

 property ShowFrame: boolean read FShowFrame write SetShowFrame;

 property ShowHint;

 property Smooth;

 property Step;

 property TabOrder;

 property TabStop;

 property Visible;

 property OnContextPopup;

 property OnDragDrop;

 property OnDragOver;

 property OnEndDock;

 property OnEndDrag;

 property OnEnter;

 property OnExit;

 property OnMouseDown;

 property OnMouseMove;

 property OnMouseUp;

 property OnStartDock;

 property OnStartDrag;

end;

procedure Register;

implementation

{ TVSProgressBar }

constructor TVSProgressBar.Create(AOwner: TComponent);

begin

 Inherited;

 FShowFrame:= True;

end;

procedure TVSProgressBar.SetShowFrame(Value: boolean);

begin

 if FShowFrame <> Value then begin

  FShowFrame:= Value;

  RecreateWnd;

 end;

end;

procedure TVSProgressBar.WMNCPAINT(var Msg: TMessage);

var

 DC: HDC;

 RC: TRect;

begin

 if ShowFrame then begin

  Inherited; // если рамка – родитель сам разберется

  Invalidate;

 end else begin

  DC := GetWindowDC(Handle);

  try

   Windows.GetClientRect(Handle, RC); // площадка под ProgressBar

   with RC do begin // учтем 3D эффект

    Right:= Right + 2;

    Bottom:= Bottom + 2;

   end;

   Windows.FillRect(DC, RC, Brush.Handle); // зальем площадку цветом подложки

  finally

   ReleaseDC(Handle, DC);

  end;

 end;

end;

procedure Register;

begin

 RegisterComponents('Controls', [TVSProgressBar]);

end;

end.

Теперь ProgressBar может появиться на форме «неожиданно», как бы из ничего, если ShowFrame:= False.

C уважением, VS 

<p>Query </p><p>Можно ли использовать результаты выполнения одного TQuery для другого TQuery?</p>

Nomadic отвечает:

Если Вы работаете с локальными БД, то Вам поможет –

DbiMakePermanent(SourceQuery.Handle, RName, false); 

<p>Можно ли вызвать хранимую процедуру через TQuery, если она не возвращает курсора?</p>

Nomadic отвечает:

В случае MS SQL нужно написать:

Query1.Sql := 'declare @res' + #13#10 + 'exec MyFunc :Param1, :Param2, @res OUTPUT';

Query1.Open;

Result := Query1.FieldByName( 'Column1' ).Value;

Query1.Close; 

<p>TQUERY и TDBGRID</p>

Delphi 1 

1. После ключевого слова where используйте оператор order

Select fname, lname, title

from T_EMPLOYEE

where title = 'MGR'

order by lname, fname

2. Попробуйте использовать событие ColEnter. 

<p>Две и более команд в свойстве TQUERY.SQL</p>

Delphi 1 

Я предлагаю вас попытаться подключить новый запрос к существующему TQuery.

Query1.Sql.Clear;

Query1.Close;

Query1.Sql.Add('select * from «monitor.dbf» order by location,dept');

Query1.Open;

Query1.Refresh;

Хитрость кроется в закрытии вашего запроса перед назначением нового. 

<p>RichEdit </p><p>Как вставить в нужное место Rich Text в TRichEdit?</p>

Nomadic советует:

Вы можете послать сообщение EM_STREAMIN с параметром SFF_SELECTION методом Perform для замены текущего Selection. Выдержка из Help:

Перейти на страницу:

Похожие книги

Основы программирования в Linux
Основы программирования в Linux

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Нейл Мэтью , Ричард Стоунс , Татьяна Коротяева

ОС и Сети / Программирование / Книги по IT
97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Программист-прагматик. Путь от подмастерья к мастеру
Программист-прагматик. Путь от подмастерья к мастеру

Находясь на переднем крае программирования, книга "Программист-прагматик. Путь от подмастерья к мастеру" абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.Прочитав эту книгу, вы научитесь:Бороться с недостатками программного обеспечения;Избегать ловушек, связанных с дублированием знания;Создавать гибкие, динамичные и адаптируемые программы;Избегать программирования в расчете на совпадение;Защищать вашу программу при помощи контрактов, утверждений и исключений;Собирать реальные требования;Осуществлять безжалостное и эффективное тестирование;Приводить в восторг ваших пользователей;Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.

А. Алексашин , Дэвид Томас , Эндрю Хант

Программирование / Книги по IT