Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.04;
Скачать: CL | DM;

Вниз

Стоит ли ставить сабж   Найти похожие ветки 

 
parovoZZ ©   (2006-05-30 19:55) [0]

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


 
ECM ©   (2006-05-30 21:02) [1]


> TWebBrowser и PageControl

Насчет TWebBrowser - сомневаюсь ... тут в соседних ветках что-то  обсуждалось... (самому то не нужно сие...)

> А самому их писать лениво


>  и всё равно буду писать на апях

Если их писать на "апях" - то почему бы потом не написать для всех KOL-версию?
:))

> Ведь, я так понимаю, придётся заново изучать процедуры,
> методы и пр.

Если знаешь API - понять KOL очень легко (тем более написать дополнение для него)


 
parovoZZ ©   (2006-06-06 00:25) [2]

Так, а не понятно - в чём торч от этого КОЛ? Из-за MCK? Дык в редакторе ресурсов я тоже могу наваять диалог любой сложности. Только вот визуальный интерфейс потом надо будет в ран-тайм догонять. Но всё равно. Неужели exe на кол получается меньше, чем на апях?


 
homm ©   (2006-06-06 01:19) [3]


> Неужели exe на кол получается меньше, чем на апях?

Неужели ты реальный проект больше "hello, world!" будеш на апях писать?

Тем не менее с учетом того, что не нужно будет многое писать по нескольку раз в каждой оконной процедуре, плюс КОЛ написан на асме, думаю для сколь-либо сложного проекта выйгрыш будет.


 
homm ©   (2006-06-06 01:24) [4]


> Дык в редакторе ресурсов я тоже могу наваять диалог любой
> сложности.

Очень интересно будет посмотреть :)


 
homm ©   (2006-06-06 01:27) [5]

Вообще, в чем вопрос кстати? Преимущество ООП(КОЛ) над "не ООП"(API)? Дайте ему кто-нибудь ссылочку, а то я вопросом не интерисовался, мне они и так очевидны.


 
ECM ©   (2006-06-06 12:11) [6]


> Неужели exe на кол получается меньше, чем на апях?

Да... меньше затрат по времени на создание программы, при гораздо меньшем количестве кода и соизмеримом размере загружаемого модуля


 
ECM ©   (2006-06-06 12:14) [7]

З.Ыю кстати теоритичекси - при использовании KOL+колапс - возможно и меньший размер загружаемого модуля
:)


 
parovoZZ ©   (2006-06-07 03:57) [8]

А как быть с базами данных, например MySQL? Я смогу подконнектиться? И где можно взять компонентов? Тут говорили про какой-то HTML вьювер, мне бы такой (обязательно с поддержкой CSS). Не пихать же TWebBrowser в dll.


 
homm ©   (2006-06-07 06:42) [9]


> А как быть с базами данных, например MySQL? Я смогу подконнектиться?

А на KOLnMCK сначала поискать не сутьба? (конкретно MySQL вроде когда-то видел)


 
homm ©   (2006-06-07 06:49) [10]


> Не пихать же TWebBrowser в dll.

Не понял. Зачем в длл? TWebBrowser - малюсенькая прослойка между комовским интернет эксплорером и VCL. Для КОЛ - http://www.kolnmck.ru/files/components/activex/kolwebbrowser.zip

ЗЫ. Перепутал MySQL и SQLite. Это для последнего есть расширения. Можеш дать ссылку для таких расширений на VCL?


 
ECM ©   (2006-06-07 11:08) [11]


> А как быть с базами данных, например MySQL? Я смогу подконнектиться?

Конкретно драйвера прямого доступа нет (по моему).
Но я думаю можно найти ODBC-драйвер или OLE DB-провайдер для MySQL
(Или я ошибаюсь?)
И тогда флаг (даже два флага - KOL ODBC, KOLEDB) в руки :)

http://www.kolnmck.ru/components/files_db.shtml


 
parovoZZ ©   (2006-06-07 13:10) [12]

Ну вообщем я использую MySQL Connector / ODBC и технологию ADO. Для прямого доступа есть бесплатные компоненты с платной техподдержкой AnyDAC (da-soft.com). Ещё здесь: SQL.ru. Собственно у меня проект не коммерческий, поэтому особо не юзал.

Ладно, будем посмотреть.


 
parovoZZ ©   (2006-06-07 14:10) [13]

Пиля, скачал demoempty, откомпилил. В результате вместо 9 кБ изначально поимел 16.5 кБ. Откуда взялся перевес? А если с родными системными модулями, то вообще 24.5 кБ. Delphi 7, системные модули - sysdcud7.zip, KOL&CMK 2.36. Да, и кстати, там в ридми написано, что версия 2.30, а на сайте 2.36.


 
ECM ©   (2006-06-07 14:23) [14]


> В результате вместо 9 кБ изначально поимел 16.5 кБ

9 кб - это зажато UPX-ом в чем можно убедится посмотрев Hex-dump исполняемого файла
....И собиралось сие еще в 2002 году - с тех пор KOL чуть-чуть "потолстел" (немного в плюс все равно будет)

> в ридми написано, что версия 2.30, а на сайте 2.36

Просто ридми не обновлялся с той версии... Настоящую версию смотреть надо в файле KOL.PAS


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

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

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

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

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


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

А вот ещё чего. В 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


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


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


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

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


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


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

* У батенька!


 
parovoZZ ©   (2006-06-08 02:48) [19]

Ну уж

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 06:59) [20]


> Как сделать панельку толщиной в один пиксель (линию)?
С 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 14:52) [21]

Картинка:

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


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

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

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


 
ECM ©   (2006-06-08 17:07) [23]

2 parovoZZ
Между прочим на форуме присутствует поиск - иногда очень полезная вещь...
например:
http://delphimaster.net/view/11-1146723660/


 
homm ©   (2006-06-08 17:35) [24]


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

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


 
parovoZZ ©   (2006-06-08 18:38) [25]

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

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


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

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


 
homm ©   (2006-06-08 19:01) [27]


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


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


 
parovoZZ ©   (2006-06-09 01:02) [28]

Исчо

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

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


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

Там - это где?

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


 
ECM ©   (2006-06-09 10:42) [29]


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

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


 
homm ©   (2006-06-09 13:01) [30]


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

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


 
parovoZZ ©   (2006-06-09 16:22) [31]

Хорошо.

А как сделать так, чтобы сперва у меня показывалось окно авторизации, а уже потом главное окно? на 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 можно и опустить.


 
ECM ©   (2006-06-09 16:37) [32]

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 20:03) [33]

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


 
parovoZZ ©   (2006-06-12 20:49) [34]

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



Страницы: 1 вся ветка

Текущий архив: 2007.03.04;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.048 c
15-1170424466
LenaS
2007-02-02 16:54
2007.03.04
Где можно найти ?


2-1171579603
Евгений Р.
2007-02-16 01:46
2007.03.04
Выделение цветом в dbGrid


6-1159611403
redlord
2006-09-30 14:16
2007.03.04
вопрос про склеивание данных при передачи через сокет


2-1171350089
daser
2007-02-13 10:01
2007.03.04
Как сделать, чтоб пользователь сам мог вгрузить в Image...


15-1170538559
Евгенич
2007-02-04 00:35
2007.03.04
Что почитать, чтобы научиться писать код?