Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Стоит ли ставить сабж [Delphi, Windows]


Страницы:   1 2

parovoZZ ©   (2006-05-30 19:55:00) 

Ведь, я так понимаю, придётся заново изучать процедуры, методы и пр. А вот если я просто поставлю библиотеку и всё равно буду писать на апях, поимею ли я что-нибудь?
Вот всё вроде бы есть - нету TWebBrowser и PageControl. А самому их писать лениво. Так что будем подумать.


parovoZZ   (2006-06-12 20:49:00) [1]

А т.е. надо сперва создать DataModule, потом попытаться приконнектиться к базе и уже потом создавать главную форму. Автоматика, едрить.


parovoZZ   (2006-06-09 20:03:00) [2]

А если без создания главного окна? В OnBeforeCreateWindow? Юзер решил побаловаться и от нечего делать запустил прогу. Ему показывается форма авторизации и больше ничего. Даже на панели задач нет окна. Он понимает, что без пароля ему делать нечего, но всё же пытается побаловаться. После отказа в доступе он жмёт cancel и всё закрывается. Как видите, главная форма не нужна, зачем её тогда создавать на этом этапе?


ECM   (2006-06-09 16:37:00) [3]

procedure TMainForm.KOLForm1FormCreate(Sender: PObj);
var
 Ret: Integer;
begin
   NewPassForm(PassForm,Applet);
   Ret := PassForm.Form.ShowModal;
   PassForm.Form.Hide;
   if Ret <> 1 then Form.Close;
end;


parovoZZ   (2006-06-09 16:22:00) [4]

Хорошо.

А как сделать так, чтобы сперва у меня показывалось окно авторизации, а уже потом главное окно? на VCL

 Application.CreateForm(TDMd, DMd);
 MainHandle := Application.Handle;
 LoadDll (MainHandle);
 repeat
  DataModule.Destroy;
  if not DMd.Login (MainHandle) then
   begin
    Application.Run;
    UnloadDll;
    exit;
   end;
 until DMd.Authorization = true;

 Application.CreateForm (TMainForm, MainForm);
 DataModule.Destroy;
 UnloadDll;
 Application.Run;


Ввиду реактивности работы, dll можно и опустить.


homm   (2006-06-09 13:01:00) [5]


> А будет ли менюшка в стиле GRUsh?

В обозримом будушем нет.


ECM   (2006-06-09 10:42:00) [6]


> с файлами замены сисмодулей не компилируется ни один компонент.

Компонент не надо компилировать с заменой системных модулей...Замена предназначена для сборки программ, а не компонент. Может пора уже задействовать свой собственный, главный компонент - мозги, Андрей?
Всё таки высшее образование за плечами...:)
Почитайте тексты на сайте Кладова, на www.kolnmck.ru, поиск по форуму опять же полезная вещь...:)))


parovoZZ   (2006-06-09 01:02:00) [7]

Исчо

с файлами замены сисмодулей не компилируется ни один компонент. Приходится убирать путь к ним. Не будет ли того же самого с заменой SysUtils и Classes?

А что за файл интересный fakevariants? На него делфя ругается - мол не могу найти процедуру - файл разрушен. Как только его удаляю, всё заводится. Например, KOLComObj.pas.


> Не, не то. Classes там можно спокойно переместить в ветку
> {$ELSE}, размер приложения уменьшится втрое

Там - это где?

А будет ли менюшка в стиле GRUsh? Скачал xpmenus - не фонтан.


homm   (2006-06-08 19:01:00) [8]


> А чем Вам jpeg не угодил? Могу в bmp, tiff, raw. Да всё,
> что угодно.
Для скриншотов приучайтесь к PNG.


> Поставил GRushControl - всё очень красиво, но вот при потере
> фокуса Делфи падает
Оффтоп конечно... Rebuild, Rebuild и еше раз Rebuild! А еще лучше в один пакет загнать вместе с КОЛ (у меня несколько месяцев уже дельфя не падала, хотя раньше стабильно после 2-х часов работы)


Vladimir Kladov   (2006-06-08 18:57:00) [9]

Не, не то. Classes там можно спокойно переместить в ветку {$ELSE}, размер приложения уменьшится втрое. Пример следует Save as какое-нибудь другое имя (а не KOLODBC - иначе под Delphi6 взникла проблема recursively uses itself - если исспользуется модуль KOLOdbc.pas). Мне дома тестировать особо не на чем - еще и БД устанавливать. Как а работе протестил, так и выложил. Прочее -на некривые руки программеров. На работе использую только VCL версию. Изменений вроде не было с момента публикации, разве что по мелочам (поле text: правда с ограничением до 64К - добавил недавно, это пара строчек в коде).


parovoZZ   (2006-06-08 18:38:00) [10]

А чем Вам jpeg не угодил? Могу в bmp, tiff, raw. Да всё, что угодно.

Поставил GRushControl - всё очень красиво, но вот при потере фокуса Делфи падает.


homm   (2006-06-08 17:35:00) [11]


> Картинка:
>
> http://img83.imageshack.us/img83/5481/tpanel3ll.jpg
Ну помимо самой картинки (кстати какой Папа Карло научил Буратино графику в Jpg сохранять?) неплохо было бы еше и описание ЧТО на ней изрображено. Еше раз: С TKOLPanel все в порядке. Что здесь имеется ввиду под панелькой?

> горизонтальная линия вдвое больше, чем вертикальная. А хотелось
> бы одинаковые.
В чем проблема? Сделайте их одинаковыми или скажите наконец что этому мешает!


ECM   (2006-06-08 17:07:00) [12]

2 parovoZZ
Между прочим на форуме присутствует поиск - иногда очень полезная вещь...
например:
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1146723660&n=10


Vladimir Kladov   (2006-06-08 16:57:00) [13]

В отличие от VCL в KOL панельки по умолчанию рисуют себя сами, точнее рисует их ось - от заданных параметров (вроде BorderStyle). Не нравится как она рисует, есть OnPaint и рисуйте себе как оно вам нравится.

Odbc: вы символ KOL добавили в опции проекта? Мой тест был под Dlphi5, но в любом случае: никаких ссылок на Classes из KOLOdbc при включении символа KOL быть не должно.


parovoZZ   (2006-06-08 14:52:00) [14]

Картинка:

http://img83.imageshack.us/img83/5481/tpanel3ll.jpg

горизонтальная линия вдвое больше, чем вертикальная. А хотелось бы одинаковые.

Но это всё не актуально по следующей причине

Добавил вручную в uses KOLodbc (ну не признаёт он ODBCQuery), началась ругань [Fatal Error] KolOdbc.pas(15): Unit Classes was compiled with a different version of System.TVarData

Ладно, убираю ссылку к файлам замены системных модулей, пошла другая песня:
[Fatal Error] KolOdbc.pas(15): Unit Classes was compiled with a different version of Variants.@VarClr


homm   (2006-06-08 06:59:00) [15]


> Как сделать панельку толщиной в один пиксель (линию)?
С TKOLPanel все в порядке. Что здесь имеется ввиду под панелькой тогда?


> Как подобраться к статусбару? Мне надо что-то типа этого
> (VCL)
property StatusText[ Idx: Integer ]: PChar read GetStatusText write SetStatusText;
   {* |<#form>
      Only for forms to set/retrieve status text to/from given status panel.
      Panels are enumerated from 0 to 254, 255 is to indicate simple
      status bar. Size grip in right bottom corner of status window is
      displayed only if form still CanResize.
      |<br>
      When a status text is set first time, status bar window is created
      (always aligned to bottom), and form is resizing to preset client height.
      While status bar is showing, client height value is returned without
      height of status bar. To remove status bar, call RemoveStatus method for
      a form.
      |<br>
      By default, text is left-aligned within the specified part of a status
      window. You can embed tab characters (#9) in the text to center or
      right-align it. Text to the right of a single tab character is centered,
      and text to the right of a second tab character is right-aligned.
      |<br>
      If You use separate status bar onto several panels, these automatically
      align its widths to the same value (width divided to number of panels).
      To adjust status panel widths for every panel, use property StatusPanelRightX.
   }
property StatusPanelRightX[ Idx: Integer ]: Integer read GetStatusPanelX write SetStatusPanelX;
   {* |<#form>
      Use this property to adjust status panel right edges (if the status bar is
      divided onto several subpanels). If the right edge for the last panel is
      set to -1 (by default) it is expanded to the right edge of a form window.
      Otherwise, status bar can be shorter then form width. }

Итого:
procedure TForm1.KOLForm1Resize(Sender: PObj);
begin
   Form.StatusPanelRightX[0] := Form.Width -100;
end;



> Как на панельке пододвинуть текст от края? Border = 10 не
> помогает. В run time?
Рисовать самому в OnPaint:
procedure TForm1.Panel2Paint(Sender: PControl; DC: HDC);
begin
   Sender.Canvas.TextOut(10, 0, Sender.Caption);
end;

procedure TForm1.Panel2EraseBkgnd(Sender: PControl; DC: HDC);
begin
   Sender.Canvas.FillRect(Sender.ClientRect);
end;


parovoZZ   (2006-06-08 02:48:00) [16]

Ну уж

http://www.kolnmck.ru/files/KolUtils.zip

Дальше - больше...

Как подобраться к статусбару? Мне надо что-то типа этого (VCL)
procedure TMainForm.SttsBrResize(Sender: TObject);
begin
 with SttsBr do
   Panels[0].Width := Width - Panels[1].Width;
end;


Как сделать панельку толщиной в один пиксель (линию)? Я выставляю еденицу, а на самом деле это толщина границы и в итоге мы получаем 2 пикселя. На VCL задавалась именно толщина панельки.

Как на панельке пододвинуть текст от края? Border = 10 не помогает. В run time?

А что делать с KOLodbc? Мне без коннекта к базе делать нечего.


homm   (2006-06-08 01:06:00) [17]

* У батенька!


homm   (2006-06-08 01:05:00) [18]


> Что-то не понял. Скачал KOLODBC - что это? Явно не компонент.
У батнка! Да вы батонокидатель :-)


> сильно ли нужен Collapsе?

Я бы не рекомендовал его использовать, пока не разберетесь с КОЛ дасконально.


> стоит ли качать замену модулей SysUtils и Classes, если
> есть KOLUtils?
Кидайте в меня тухлые помидоры, но я не знаю что за KOLUtils, а вот замену модулей SysUtils и Classes качать стоит, если ее у вас нет.


parovoZZ   (2006-06-08 00:14:00) [19]

А вот ещё чего. В testKOL в юните написано следующее:

{$IFDEF KOL_MCK}
uses Windows, Messages, ShellAPI, KOL {$IFNDEF KOL_MCK}, mirror, Classes, Controls, mckControls, mckObjs, Graphics,
 mckCtrls {$ENDIF (place your units here->)}, ODBCQuery;
{$ELSE}
{$I uses.inc}
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
{$ENDIF}


Но у меня нет ODBCQuery, есть только KOLOdbc.pas


parovoZZ   (2006-06-08 00:01:00) [20]

Что-то не понял. Скачал KOLODBC - что это? Явно не компонент. Если обратное, как его ставить. Тестовый проект из архива запускается вместе с просьбой указать путь к папке с проектом. Указываю. Дальше ничего не происходит. Такое ощущение, что у меня просто открылся юнит, без файла проекта.

И ещё пара вопросов

сильно ли нужен Collapsе?

стоит ли качать замену модулей SysUtils и Classes, если есть KOLUtils?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо