FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9239
Вход
Перевод формы из scx в prg Версия 2. Исправленная и улучшенная.

Данная программа предназначена для преобразования визуальной формы в PRG-файл, который объявляет ее через DEFINE CLASS.


 
Прислал: Каратаев   Категория: Инструменты разработчика


Перевод формы из scx в prg

Версия 2. Исправленная и улучшенная. В архиве описание и prg-файл
 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (5.021) Вложение [5.21]kb
Дополнения пользователей
Перевод формы из scx в prg Версия 2. Исправленная и улучшенная.
[+][?]
Дмитрий Петров
27.09.02 10:06:04

Привет, я немного не догоняю. 
Поправьте пожалуйста если я что то не то говорю или
не понимаю.
А что если просто сохранить форму как класс и код
этого класса кинуть в прг, будет не то-же самое?
Я сейчас для интереса попробовал это сделать на время в
форме с кучей объектов в.т.ч. с вложенными в контейнеры.
Ушло 30 сек. 
Поймите меня верно, я просто пытаюсь понять полезность
Вашего решения.
с уважением Дмитрий.
Александр Семеновский
27.09.02 10:42:41

По-моему в Visual FoxPro есть встроенный инструмент для этого

см. Class Browser -> Open (ваш SCX-файл) -> View Class Code
Александр
27.09.02 16:14:01

Так то оно так, господа, вот только метод Class Browser -> Open (ваш SCX-файл) -> View Class Code
выдает ошибки в следующем примерно коде:
ADD OBJECT sklad.grid2.column1.header1 AS header WITH ;
	FontBold = .F., ;
	FontName = "Arial", ;
	FontSize = 10, ;
	Alignment = 2, ;
	Caption = "Арт", ;
	ForeColor = RGB(0,0,0), ;
	BackColor = RGB(192,192,192), ;
	Name = "Header1"
Ведь сначала он добавляет сам Grid, в котором уже есть header по умолчанию, а потом пытается еще добавить header...
Александр
28.09.02 07:20:26

И еще, в вариантах, о которых говорят Александр Семеновский и Дмитрий Петров получается строка
типа:
ADD OBJECT sklad.grid2.column1.header1 AS header (и т.д.), строку эту Fox просто не воспринимает.
Для него корректно только строка типа:
ADD OBJECT header1 AS header (без всяких точек в имени объекта).
Отсюда, ИМХО, и полезность моего решения.
Sewer
17.09.06 17:30:45

Александр, мега-замечтательно! :)
До этого просидел чертову уйму времени, любуясь "шедеврами" кодотворчества CLASS VIEWERа...
Есть одно НО. В вашей проге предполагается, что имя класса (объекта) формы и имя ее файла
одинаковы... но если это не так, видим следующее:

PUBLIC ASCIIVIEWER


ASCIIVIEWER=NEWOBJECT("ASCIIVIEWERx")
ASCIIVIEWER.Show
RETURN

DEFINE CLASS Form1x AS form

Sewer
18.09.06 13:37:37

Александр, мега-замечтательно! :)
До этого просидел чертову уйму времени, любуясь "шедеврами" кодотворчества CLASS VIEWERа...
Есть одно НО. В вашей проге предполагается, что имя класса (объекта) формы и имя ее файла
одинаковы... но если это не так, видим следующее:

PUBLIC ASCIIVIEWER


ASCIIVIEWER=NEWOBJECT("ASCIIVIEWERx")
ASCIIVIEWER.Show
RETURN

DEFINE CLASS Form1x AS form

Sewer
19.09.06 10:40:26

Александр, мега-замечтательно! :)
До этого просидел чертову уйму времени, любуясь "шедеврами" кодотворчества CLASS VIEWERа...
Есть одно НО. В вашей проге предполагается, что имя класса (объекта) формы и имя ее файла
одинаковы... но если это не так, видим следующее:

PUBLIC ASCIIVIEWER


ASCIIVIEWER=NEWOBJECT("ASCIIVIEWERx")
ASCIIVIEWER.Show
RETURN

DEFINE CLASS Form1x AS form

Каратаев
03.10.06 08:24:27

Извините не сразу ответил - был в отпуске.
Не совсем понял проблему, но у меня получается вот так:
PUBLIC FRMGRDEDIT

SET CLASSLIB TO ..\..\..\class\my\forms.vcx ADDITIVE

FRMGRDEDIT=NEWOBJECT("FRMGRDEDITx")
FRMGRDEDIT.Show
RELEASE FRMGRDEDIT
RETURN

DEFINE CLASS Frmgrdedit1x AS form

[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика