Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];

Вниз

Проект VCL2KOL   Найти похожие ветки 

 
BaryVetaL ©   (2006-02-14 09:47) [0]

Выполняю свое обещание по поводу программы конвертирующей VCL проекты в KOL. Итак программа называется SmallVCL.
О том как пользоваться написано в архиве (см Readme*.txt)

Зависимости программы (какие компоненты нужны, кроме собственно KOL для успешной компиляци)
TKOLColorDialog
TKOLmdvGeneratorRTF

Так же необходимо прописать путь где Delphi будет искать модуль VCLtoKOL для этого
1) В меню Delphi
 Tools\Enviroment Options\Library
2) Установить Library Path папки где находиться модуль VCLtoKOL
3) Модуль VCLtoKOL находится в той же папке, где и сам SmallVCL :-)

Исходники и сама программа находятся по адресу:
http://www.rfms.adygnet.ru/files/SmallVCLKOL.rar
размер 780Kb.

 Ну а теперь о главном:
 ВЫ ЗАПРОСТО МОЖЕТЕ ВНЕСТИ В МОДУЛЬ И ПРОГРАММУ ВСЕ ЧТО ПОСЧИТАЕТЕ НУЖНЫМ, НО ПРИ
ОДНОМ УСЛОВИИ В НАЧАЛЕ МОДУЛЯ ВСТАВЬТЕ СВОЕ ФИО(Ник), ДАТУ, И ОПИСАНИЕ ТОГО, ЧТО ПОДПРАВИЛИ.
И НЕ ПОЛЕНИТЕСЬ ОТПРАВИТЬ МНЕ ПИСЬМО НА e-mail (ниже)
 ЗАТЕМ Я ВНЕСУ ВАС В СПИСОК TThanks в программе, и подправлю програмку у себя :-)
После конкретных изменений буду выставлять новые версии программы и все остануться в выигрыше.


Барилко Виталий aka BaryVetaL
e-mail: barilkovetal@mail.ru


 
BaryVetaL ©   (2006-02-15 10:57) [1]

Чё неужели никому не интересно? Мдаааа...


 
Barloggg   (2006-02-15 12:13) [2]

лично я скачал еще вчера, рассмотрел структуру. но компилить пока не пробовал. ибо тот vcl-проект пока начальством не затребован :)))


 
RA ©   (2006-02-15 14:59) [3]

Пробовал. Выяснил вот что:
1) Главное - заточено под D6. У меня D5. На D5 надо много чего править чтоб компильнуть. В основном ругается на platform, но это терпимо. Мож автор сделает с этим что-нибудь?
2) Это оно сгенерило.

procedure newform1( var result: pform1; aparent: pcontrol );
begin
(* create components ;-) *)
 new(result,create);
 with result^ do begin
 form:= newform(aparent,"Form").setsize(100,100).centeronparent.tabulate;
 applet:=form;
 form.add2autofree(result);
 .я
;
 .ms sans serif
font.style ;
 .pixelsperinch`
textheight;
 end;
end;  //<- end created form

Мне до конца не ясны строки начиная с ".я"
Могу выслать проект.
3) Напрягает nagScreen.
4) Само-собой нет комп. для БД и сетей. Или я ошибаюсь?


 
homm ©   (2006-02-15 15:03) [4]


> Чё неужели никому не интересно? Мдаааа...
А кому *здесь* (в конференции Kol) это может быть интересно? Люди и так пишут под kolnmck соответственно для них проект бесполезен. Т.е. у тебя получился совершенно неординарный проект - не слишком хорошая идея, и вполне неплохая реализация (тоже скачал посмотреть ;) ). Обычно все бывает наоборот. Попробуй в "прочее" запостить - там народу много ходит, может кто заинтерисуется.


 
BaryVetaL ©   (2006-02-15 15:46) [5]

RA:

> procedure newform1( var result: pform1; aparent: pcontrol
> );
> begin
> (* create components ;-) *)
>  new(result,create);
>  with result^ do begin
>  form:= newform(aparent,"Form").setsize(100,100).centeronparent.
> tabulate;
>  applet:=form;
>  form.add2autofree(result);
>  .я
> ;
>  .ms sans serif
> font.style ;
>  .pixelsperinch`
> textheight;
>  end;
> end;  //<- end created form


Да все делал в D6, не тестил на пятом, судя по всему в D5 формат dfm файла другой. Избавиться от Splash формы: закоментировать {$DEFINE SPLASH_SHOW}. Надо будет где нибудь надыбать D5...

homm:
Попытаюсь переубедить тебя.
Я понимаю, что ты освоил KOL&MCK и для тебя никакого труда не составляет писать маленькие программы, в каком то роде ты преуспел в этом деле и вслед за Кладовым идут такие громкие (по крайней мере для меня) имена как homm, Thaddy, ECM, Gendalf, MTsv DN, Vedun, SPeller... Вы все работаете и помогаете держаться на плаву KOL&MCK. Но большинство программистов Delphi все таки не такие как Вы! Они пишут на VCL.
Предположим Вася Пупкин именно такой, он никогда не слышал про KOL и MCK, но ему ужасно хочется написать маленькое приложение, а тут моя программа. Он преспокойно пишет себе на VCL и не заботиться о размерах. Потом прогоняет через мою прогу и получает маленький проект, который выполняет именно то, что он хотел. Здорово! А про KOL он и знать не должен и не должен париться, с установкой компонентов, зачем ему это? Так что говорить о том, что это не нужно, это ты зря... Как раз таки и нужно!

Без обид homm, но в этом ты не прав...


 
Vedun   (2006-02-15 16:34) [6]


> такие громкие (по крайней мере для меня) имена как homm,
>  Thaddy, ECM, Gendalf, MTsv DN, Vedun, SPeller...

Спасибо, что причислил мое имя к громким :). Я такой-же новичек в использовании KOL, как и многие другие на этом форуме. И до вышеперечисленных мне далеко (в смысле опыта и знаний всех нюансов KOL :) ). Но все равно приятно. :)

2 homm:
Уже тот факт, что программа написана с использованием KOL дает автору право предложить ее для обсуждения на этом форуме. И никто не заставляет тебя пользоваться ею. А вот в ее совершенствовании твой опыт очень пригодился бы.


 
Игорь Шевченко ©   (2006-02-15 16:50) [7]


> Но большинство программистов Delphi все таки не такие как
> Вы! Они пишут на VCL.


Что нисколько не умаляет их прочих достоинств :)

Господа KOL"овщики, поделитесь опытом замены System/SysInit на нечто модифицированное, лучше если будет ссылка на описание  последовательности действий, совсем хорошо, если замененные файлы будут использоваться только в определенных проектах, а прочие проекты будут использовать классчиеские немодифицированные юниты.

С наилучшими,


 
ECM ©   (2006-02-15 17:07) [8]


> BaryVetaL ©   (14.02.06 09:47)

Можно разместить на kolnmck.ru - только перепакуйте в zip
плз

> Игорь Шевченко ©   (15.02.06 16:50) [7]

Описание действий в архиве...(кроме 7-ки там нет Readme - кстати надо бы подправить)
http://bonanzas.rinet.ru/r_system.htm
или тут
http://www.kolnmck.ru/files1.shtml


 
ECM ©   (2006-02-15 17:18) [9]

Упс.. это в моем варианте для семерки нет описания :)
.::SystemDcu Replacement For Delphi 7:.
         .: Beta Version 2 :.
-----------------------------------------------------------------------------
Комплект системных модулей для замены стандартных. Замена производится
для уменьшения размера программы ~ на 8.5 кб.

Установка
-----------------------------------------------------------------------------
1. Для установки распакуйте архив в отдельный каталог
2. Запустите Delphi 7
3. Зайдите в Tools->Environment Options, найдите там вкладку Library
  и нажмите кнопку допишите в начало строки Library Path путь к
  каталогу в который Вы распаковали архив (незабудьте поставить ";" !!!)
4. Готово! Теперь вы можите писать программы размером от 5632 байт!

Если вы собираетесь использовать комплект и для работы с Vcl, то сделайте:
1. Удалите из каталога "c:\Program Files\Borland\Delphi7\Lib" модули
  Forms.dcu и SysUtils.dcu
2. Скопируйте туда исходные коды этих модулей
  Forms.pas    из "c:\Program Files\Borland\Delphi7\Source\Vcl\"
  SysUtils.pas из "c:\Program Files\Borland\Delphi7\Source\Rtl\Sys\"
3. Перезапустите Delphi, а когда она запуститься нажмите на кнопку
  Compile, тем самым мы перекомпилируем эти модули заново.
4. Теперь Вы можите удалить Forms.pas и SysUtils.pas из каталога Lib

-----------------------------------------------------------------------------
(C) 2003 by Avenger[NhT]
Mail-Me: xavenger@mail.ru
Icq:     956058
Home:    http://www.nhtboard.da.ru

т.е. пока варианта для
> только в определенных проектах,

не просматривается...
что с сервером ... полчаса убил на два поста...:(


 
Игорь Шевченко ©   (2006-02-15 17:23) [10]

ECM ©   (15.02.06 17:07) [8]

Благодарю.

Скачал для D6, увидел readme_rus.txt

"Ни в коем случае не замещайте имеющиеся файлы!
Просто пропишите путь на директорию, в которой вы положили этот набор файлов,
в списке путей проекта ( Project|Options|Directories\Conditionals|Search path... ).

Эти файлы не работают, если используются модули из VCL (Forms.pas, Classes.pas, и т.п.)"

У меня стоит несколько иная задача - мне бы хотелось удалить из указанных файлов (System/SysInit) вызовы функций из библиотек клиентской части подсистемы Win32 или заменить их на другие эквиваленты.
Например, из NTDLL.


 
ECM ©   (2006-02-15 17:28) [11]


> Например, из NTDLL

Ну... почему бы и нет...:)
Драйвер на Delphi?  Как-то на VC привычнее...:))


 
Vedun   (2006-02-15 17:28) [12]

По-моему обсуждение в этой ветке пошло куда-то в другую сторону. :(


 
homm ©   (2006-02-15 19:21) [13]


> Без обид homm, но в этом ты не прав...
Обид не будет, будет жесткая конструктивная критика, так что приготовся ;)

первое (не основное):
unit unit1;

interface

uses windows, messages, kol, vcltokol;
 private
   { private declarations }
 public
   { public declarations }
   glyph: tbitmap;
 end;

var
 form1: pform1;

procedure newform1( var result: pform1; aparent: pcontrol );

Что-то не хочет оно компилироватся без type TForm1=oblect(TObj); исходный модуль:
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
 TForm1 = class(TForm)
   procedure FormPaint(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
   Glyph: TBitmap;
 end;

var
 Form1: TForm1;

implementation


Второе
Я понимаю. Задача на первый взгляд кажется достаточно простой и уже почти решеной. Но чесное слово - слабо верится что процент програм объемом хотябы в тысячу сторок, заработающих после такого парсинга будет больше одного. Ты думаеш, что все дело в конструировании окна? Поверь мне - это только вершина айсберга. Ты не думал почему все мультиплатформеные программы программы пишут полтора раза - один раз для windows(например) и еще пол-раза под linux? Давно бы уже сделали такой парсер и было бы человечесту счастье. Да только нет его, потому как перевести программу под другую платформу (не важно что есть "платформа" - API или библиотека классов) в общем случае нельзя, если конечто платформы не разрабатывались изначально совместимыми для такого переноса. Сформулируй для себя еще раз задачу, которую ты перед собой поставил: "Перевести программу на KOL, для уменьшения размера, оставляя за разработчиком право писать на VCL". Верно? А теперь подумай, может ты не с той стороны подошел к решению вопроса? Я хочу сказать что на самом деле это уже сделано и называется это MCK! А по поводу того что кто-то может изначально не заботится о размере программ, а потом применить твою "волшебную палочку" могу сказать только одну истину: сначало думают, а потом делают.


 
DevilDevil ©   (2006-02-16 01:35) [14]

Vedum!

Не смотря на то, что я не написал ни одной программы под KOL&MCK и не видел твоей программы, всё-таки Поддержу Тебя!
Я уверен, что не все знают о существовании этой библиотеки. Следовательно, ещё очень долго будут писаться громоздкие компоненты и библиотеки функций под VCL. Вместе с тем, накопилась огромная коллекция отличных компонентов и функций, которые хотелось бы использовать в своих KOL&MCK проектах, а переписать такие компоненты вручную крайне тяжело. Именно в таких случаях необходима такая прекрасная вещь, как Твоя Программа!
Другое дело, что предстоит ещё куча доработок, однако, лёд тронулся, дело пошло. Поэтому желаю тебе удачи в этом нелёгком и нужном труде!
Пользуясь случаем, хотел попросить всех вас скинуть мне на мыло пару статей для начинающих, как пользоваться обсуждаемой нами библиотекой.


 
BaryVetaL ©   (2006-02-16 10:12) [15]

DevilDevil: Во первых не Vedum, а Vedun, а во вторых не он автор этой программы а я :)))

homm: Я тебя прекрасно понимаю... Тут дело вот в чем: ты и не найдешь в моем модуле VCLtoKOL конструкцию {$IFDEF LINUX}, я всё делаю под Windows. Вот почему:
1) Мне никто не мешает ввести ограничения на свою программу в дипломе: special for Windows!
2) Сначала все пишется для Windows, а уж потом для Linux, уверен, что в модулях Delphi именно так и было, да и потом кто мне мешает в следующей версии программы сделать все для Linux?
Насчет MCK: Ты вот все таки не доконца понимаешь суть того, что задумал я. MCK есть ни кто и не спорит, что есть, но я могу повториться и сказать, что НЕ ВСЕ ОБ ЭТОМ ЗНАЮТ!
Насчет того, что
> Задача на первый взгляд кажется достаточно простой и уже
> почти решеной

Ты не прав эта задача не такая уж простая и вовсе не решенная! Здесь очень много подводных камней, которые не видны с первого взгляда.

Теперь не по SmallVCL для homm: есть у меня знакомый вылитый ты! Очень хороший программист и подвергает критике все (причем достаточно успешно), почти тоже самое было и с моей программой, но прошло время и он изменил свою точку зрения... Надеюсь ты также поменяешь её :) Просто надо думать не так: "Нужна ли эта программа для меня?", а так "Нужна ли эта программа другим?"
Что-то меня понесло... Если сказал что-то обидное, то заранее прошу у тебя прощения. Без обид.


 
ECM ©   (2006-02-16 10:45) [16]


> Вместе с тем, накопилась огромная коллекция отличных компонентов
> и функций, которые хотелось бы использовать в своих KOL&MCK
> проектах, а переписать такие компоненты вручную крайне тяжело.
>  Именно в таких случаях необходима такая прекрасная вещь,
>  как Твоя Программа!

Это, мягко говоря, не совсем верно... Написать автоматический конвертор ЛЮБОГО (ну базовые VCL-компоненты в основном уже портированы, а вот со сторонними - дело похуже) VCL-компонента(класса) ой как тяжело, я думаю даже невозможно. Поэтому такая программа должна работать по принципу перевода известных ей VCL-компонентов в опять же известные ей KOL-объекты. Так, что без ручного перевода, пока никак.
Но я не могу отрицать определенную полезность такой программы для тех, кто впервые берется за KOL. И она вполне заслуживает того, чтобы быть и развиваться.


 
BaryVetaL ©   (2006-02-17 14:44) [17]

Спасибо ECM :)


 
homm ©   (2006-02-18 17:30) [18]


> Я тебя прекрасно понимаю... Тут дело вот в чем: ты и не
> найдешь в моем модуле VCLtoKOL конструкцию {$IFDEF LINUX}
Вот тут ты меня как раз и не понял. Я не имел ввиду поддержку Linux в твоем проекте, это нереально, сам KOL написан под и для виндовс. Прочитай еще раз предложения, где упоминается о линуксе.


> MCK есть ни кто и не спорит, что есть, но я могу повториться
> и сказать, что НЕ ВСЕ ОБ ЭТОМ ЗНАЮТ!
А о твоей программе будут знать все?

Ты согласен что твоя программа не может гарантировать хотябы с 10% вероятностью перенос программы в виде "как оно есть" (даже теоретически, не говоря о том что есть на текущий момент)? Все равно програмист, воспользовавшись твоим приложением в конечном итоге должен будет разбиратся, что же такое не работет в KOL. Т.Е. Он должен будет разбиратся с KOL!  А ты говориш, что ему даже не обязательно знать о его существовании. Т.Е ПРОГРАМИСТ ДОЛЖЕН БУДЕТ НАПИСАТЬ И ОЛАДИТЬ ПРОГРАММУ СНАЧАЛО НА VCL, А ПОТОМ ЕЩЕ РАЗ ЗАНОВО ОТЛАДИТЬ В KOL. И это мой основной аргумент почему я не "за" (писать "против" в данном случае неверно). Заранее позаботившись о выборе правильной платформы (vcl vs kol&mck) програмист избавляется от гемороя, появляющегося при использовании такого рода конвертора. Вот почему я считаю, что MCK намного грамотнее и правильнее реализует ВСЕ возможности твоей программы, КОТОРЫЕ МОГУТ БЫТЬ РЕАЛИЗОВАНЫ в действительности, а не в теории. Еще раз процетирую тебя:
>  MCK есть ни кто и не спорит, что есть, но я могу повториться
> и сказать, что НЕ ВСЕ ОБ ЭТОМ ЗНАЮТ!
Вот этот недостаток на мой взгляд и нужно исправлять! Пропаганда - сила. Эту силу нельзя оставлять без внимания.

Слова ECM:

> Так, что без ручного перевода, пока никак.
Тоже должны быть положены в копилку аргументов моей точки зрения.


> Теперь не по SmallVCL для homm: есть у меня знакомый вылитый
> ты! Очень хороший программист и подвергает критике все (причем
> достаточно успешно), почти тоже самое было и с моей программой,
>  но прошло время и он изменил свою точку зрения... Надеюсь
> ты также поменяешь её :)
Я буду только рад, если сейчас ошибаюсь.


> Просто надо думать не так: "Нужна ли эта программа для меня?"
> , а так "Нужна ли эта программа другим?"
А я думаю не так, я думаю: "я что будет в конечном итоге лучше для других" переписывать программу несколькор раз, под разные платформы, или же сразу писать на том, что нужно.


>  Если сказал что-то обидное, то заранее прошу у тебя прощения.
>  Без обид.
Ну какие могут быть обиды во время конструктивного разговора с вменяемым человеком ;)

ЗЫ. Создается впечатление что ты невнимательно читаеш мои посты, и некоторые мысли неправильно истрактованы, поэтому пожалуйста прежде чем возразить на конкретную фразу, перечитай еще раз несколько соседних предложений, возможно я уже ответил на твой вопрос.



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

Форум: "KOL";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.54 MB
Время: 0.062 c
1-1161672303
RayRom
2006-10-24 10:45
2006.12.10
Html to RTF желательно в памяти и целым текстом!


8-1136672981
Гость_
2006-01-08 01:29
2006.12.10
Поворот изображения


2-1163674438
*Ray*
2006-11-16 13:53
2006.12.10
обнуление значения DBLookUpComboBox


3-1159852366
Alexey 12
2006-10-03 09:12
2006.12.10
Значение на последнюю дату


2-1163925948
F33l
2006-11-19 11:45
2006.12.10
отступ текста в TMemo





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский