Форум: "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