И снова статус строка

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

BlazeBio
Местный житель
Сообщения: 386
Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:

И снова статус строка

Сообщение BlazeBio »

Я знаю тема поднималась на форуме. Но как-то мимо вяло прошла. Так понимаю, что собственный набор не составить. Тогда используя стандартный, я накидал такой фейс.

Код: Выделить всё

#component "L_DOGOVOR"
const
  sciAQAEnEsc178=7500;
end;
planstatus statusLine
{
        (sciAQAEnEsc178..sciAQAEnEsc178)
        {
          '~F1~ Помощь',       cmHelp,               kbF1;
          '~Alt-F10~ Меню',cmHotKeys,kbAltF10;
          '~Enter~ Редактирование',  cmDefault,      kbNoKey;
          '~F7~ Создать',      cmInsert,             kbF7;
          '~F8~ Удалить',      cmDelete,             kbF8;
          '~Ins~ Пометить',cmAqaMarkRec, kbIns;
          '', cmAqaMarkAll, kbGrayPlus;
          '', cmAqaUnMarkAll, kbGrayMinus;
          '', cmAQAUpDownloadScript,kbCtrlF2;
		            '',cmResize,kbCtrlF5;
					'',cmSysMenu,kbCtrlF10;
					'',cmCalculator,kbShiftF2;
					'',cmEvaluateAndModify,kbCtrlF4;
					'',cmLastHelp,kbAltF1;
					'',cmHelp,kbF1;
		  //          '',cmCallIndex,kbShiftF1;
					'',cmQuit,kbAltX;
					'',cmMenu,kbF10;
					'',cmCalendar, kbAltF4;
					'',cmAqaReport,kbCtrlP;

        }
}

interface Plan 'Производственные планы' (,,scPPlan) ;
show at (,,76,25);
var name:string;
	data:date;
	status:string;
	podr:string;
	t_plan:string;
			browse bPPlan;
				fields
					data 'Дата':[15],protect, noAutoSize;
					name 'Номер плана':[25],protect, noAutoSize;
					status 'Статус':[7],protect, noAutoSize;
					podr 'Подразделение':[25],protect, noAutoSize;
					t_plan 'Тип плана':[4],protect, noAutoSize;
			end;
	handleevent
	cmDefault:
	{
		RunInterface('PlanCorrect');
	}
	end
end.
Почему, когда я создаю таким образом статус строку, то некоторые кнопки этой статус строки не видны в фейсе?
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: И снова статус строка

Сообщение Ged »

Потому что галла работает только со статуслайном StatGal.
Для добавления своего нужно перекомпиливать StatGal.
BlazeBio
Местный житель
Сообщения: 386
Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:

Re: И снова статус строка

Сообщение BlazeBio »

Нарыл в доке

Код: Выделить всё

#statusline "StatGal"

#include core.inc
#include sklad.inc
end;
При добавлении данных строк в debug.prg и компиляции вылетает ошибка: Не могу загрузить StatusLine : StatGal. Я так понимаю здесь в файлах *.inc находится описание статус строк?
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: И снова статус строка

Сообщение Ged »

StatGal уже откомпилен в ресурс C_StatLine.res
Соответственно для компиляции его необходимо подключить.

а инки - это просто константы.
BlazeBio
Местный житель
Сообщения: 386
Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:

Re: И снова статус строка

Сообщение BlazeBio »

Ged писал(а):StatGal уже откомпилен в ресурс C_StatLine.res
Соответственно для компиляции его необходимо подключить.
Компиляция прошла нормально, но все равно не изменилась статус строка :(
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: И снова статус строка

Сообщение Ged »

Так я ж написал, что галактика использует StatGal
чтобы добавить в него свою статус строку необходима его перекомпиляция.
А для перекомпиляции необходимы исходники.
Чтобы что то у вас получилось должно быть как минимум

Код: Выделить всё

StatGal statusLine
{
.....
        (sciAQAEnEsc178..sciAQAEnEsc178)
        {
.....
        }
.....
}
Можете конечно сделать свой StatGal, но тогда в других фейсах все пропадет :)
KATZ
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49

Re: И снова статус строка

Сообщение KATZ »

BlazeBio
Зря вы так глубоко полезли. В STATGAL-е полно разных контекстов на все случаи жизни, нет смысла придумывать еще. Просто подберите подходящий для вашей задачи.
BlazeBio
Местный житель
Сообщения: 386
Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:

Re: И снова статус строка

Сообщение BlazeBio »

KATZ писал(а): В STATGAL-е полно разных контекстов на все случаи жизни, нет смысла придумывать еще. Просто подберите подходящий для вашей задачи.
А разве этот не стандартный? :-(

Код: Выделить всё

StatGal statusLine {
        (sciAQAEnEsc178..sciAQAEnEsc178)
        {
          '~F1~ Помощь',       cmHelp,               kbF1;
          '~Alt-F10~ Меню',cmHotKeys,kbAltF10;
          '~Enter~ Редактирование',  cmDefault,      kbNoKey;
          '~F7~ Создать',      cmInsert,             kbF7;
          '~F8~ Удалить',      cmDelete,             kbF8;
          '~Ins~ Пометить',cmAqaMarkRec, kbIns;
          '', cmAqaMarkAll, kbGrayPlus;
          '', cmAqaUnMarkAll, kbGrayMinus;
          '', cmAQAUpDownloadScript,kbCtrlF2;
          '',cmResize,kbCtrlF5;
          '',cmSysMenu,kbCtrlF10;
          '',cmCalculator,kbShiftF2;
          '',cmEvaluateAndModify,kbCtrlF4;
          '',cmLastHelp,kbAltF1;
          '',cmHelp,kbF1;
          '',cmQuit,kbAltX;
          '',cmMenu,kbF10;
          '',cmCalendar, kbAltF4;
      	  '',cmAqaReport,kbCtrlP;
        }
}
Или всё-таки, как я понимаю, нужно оставить вместо StatGal название статус строки planstatus. Потому что при StatGal вообще пропадает статус строка, а при planstatus видны только кнопки F1,F5,CTRL+F5 и Esc (Ни F7, ни F8). Это так и должно происходит?
Статус строка объявляется в фейсе plan. И хотелось бы, чтобы она была видна только в этом фейсе, а в других фейсах уже использовать новые статус строки.
BlazeBio
Местный житель
Сообщения: 386
Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:

Re: И снова статус строка

Сообщение BlazeBio »

Так как можно сделать, чтобы стандартные F7(добавить) и F8(удалить) отображались в статус строке фейса?
KATZ
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49

Re: И снова статус строка

Сообщение KATZ »

BlazeBio писал(а):А разве этот не стандартный?
Стандартный или нет - судить не берусь. Но в STATGAL-е такой контекст есть, заново его компилировать не нужно. А идентификатором sciAQAEnEsc178 обозначается некая константа. Неважно, как будет называться ваш контекст, так же или по-другому, важно, чтобы константа была та, которая в STATGAL-е ему присвоена.

Код: Выделить всё

const
  sciAQAEnEsc178=302; // можно так
/*
  или так:
  scMyFavouriteContext=302;
  или даже так:
  sc_00302=302;
*/
end;

// Дальше - интерфейс, в котором контекст указывается стандартно
BlazeBio писал(а):Так как можно сделать, чтобы стандартные F7(добавить) и F8(удалить) отображались в статус строке фейса?
Как написано выше, только константу правильную выбрать (например, 6901 или 6903). Раньше разработчики не давали исходники для статус-линии, приходилось всяко-разно извращаться, чтобы эти константы вытащить. Сейчас GALNET.CSC найти несложно, вот из него небольшой кусочек, думаю, разберетесь даже без комментариев.

Код: Выделить всё

sci178Esc         =  6901;
sci1378Esc        =  6902;
sci178EnEsc       =  6903;
sci147EnEsc       =  6904;
sci17EnEsc        =  6905;
sci13EnEsc        =  6906;
sci1EnEsc         =  6907;
sci1Esc           =  6911;
sci13Esc          =  6912;
sci1378EnEsc      =  6914;
sci1478Esc        =  6916;
sci1Ins           =  6917;
sci178Ins         =  6918;
sci14Esc          =  6919;
sci178EnEscInsPM  =  6920;
sci14EnIns        =  6921;
sci134EnIns       =  6922;
sci17EnIns        =  6923;
sci1348Esc        =  6924;
sci148Ins         =  6925;
sci134EnEsc       =  6926;
sci147EnEscTree   =  6927;
sci14EnEscTree    =  6928;
sci17EnEscTree    =  6929;
sci1EnInsTree     =  6930;
sci14EnInsTree    =  6931;
sci178EscTree     =  6932;
sci1EnEscTree     =  6933;
sci148Esc         =  6935;
sci14EnEsc        =  6936;
sci1EnIns         =  6937;
sci138EnEsc       =  6938;
sci18EnEsc        =  6939;
sci1378En         =  6940;
sci178En          =  6941;
sci18Esc          =  6942;
sci1EnPM          =  6943;
sci147EnIns       =  6945;
sci134Esc         =  6949;
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: И снова статус строка

Сообщение edward_K »

а еще проще зайти в консоль упраления и посмотреть "Статус-строки" - тот же strartgal(систему тока не забудьте дернуть в "репозитарии")
BlazeBio
Местный житель
Сообщения: 386
Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:

Re: И снова статус строка

Сообщение BlazeBio »

KATZ, я не нашёл константы sciAQAEnEsc178. Использовал вместо sciAQAEnEsc178 константу sci178EnEsc=6903 и аналогичную статус строку из C_STATLINE.res. Все равно ничего не меняется, те же 4 кнопки.

Код: Выделить всё

  const
   	   sci178EnEsc =  6903;
   end;

planstatus   statusLine
{
	(sci178EnEsc..sci178EnEsc)
	{
	'~F1~ Помощь',cmHelp,   kbF1
	'~F7~ Добавить',cmInsert,   kbF7
	'~F8~ Удалить',cmDelete ,  kbF8
	'~Enter~ Выбор',cmDefault,   kbEnter
	'~Esc~ Выход', cmClose ,  kbAltF3
	 '',cmAlt1, kbAlt1  
	 '',cmAlt2, kbAlt2  
	 '',cmAlt3, kbAlt3 
	 '',cmAlt4, kbAlt4  
	 '',cmAlt5, kbAlt5 
	 '',cmAlt6, kbAlt6 
	 '',cmAlt7, kbAlt7 
	 '',cmAlt8, kbAlt8 
	 '',cmAlt9, kbAlt9  
	 '',cmAltEqual,kbAltEqual 
	 '',cmAltMinus,kbAltMinus 
	 '',cmPickAttr,kbAltA 
	 '',cmFilterSave,kbAltB 
	 '',cmPickClass,kbAltC 
	 '',cmDocBas,kbAltD 
	 '',cmNal,kbAltF 
	 '',cmRecalcAllSums,kbAltG 
	 '',cmIEHist,kbAltH 
	 '', cmImp,kbAltI 
	 '', cmOneRec,kbAltK 
	 '', cmManagerId,kbAltM 
	 '', cmFilialNo,kbAltN 
	 '', cmExp,kbAltO 
	 '', cmPlansNo,kbAltP 
	 '', cmOpenFile,kbAltR 
	 '', cmAccording,kbAltS 
	 '', cmKauReff,kbAltT 
	 '', cmLegend,kbAltU 
	 '', cmQuit,kbAltX 
	 '', cmLastHelp,kbAltF1 
	 '', cmChangeViewMode,kbAltF2 
	 '', cmAltInsert,kbAltF7 
	 '', cmAlternativeDelete,kbAltF8 
	 '', cmHotKeys,kbAltF10 
	 '', cmCalculator,kbShiftF2 
	 '', cmBuhCalculator,kbShiftF3 
	 '', cmPrev,kbShiftF6 
	 '', cmExtendedDelete,kbShiftF8 
	 '', cmSHIFTF9,kbShiftF9 
	 '', cmCalc,kbCtrlC 
	 '', cmEditBudget,kbCtrlB 
	 '', cmMulSelDO,kbCtrlI 
	 '', cmHozOper,kbCtrlH 
	 '', cmPrintDoc,kbCtrlP 
	 '', cmSetupReport,kbCtrlR 
	 '', cmIerarchy,kbCtrlU 
	 '', cmAttrib,kbCtrlEnter 
	 '', cmSaveDoc,kbCtrlF2 
	 '', cmRestoreDoc,kbCtrlF3 
	 '', cmEvaluateAndModify,kbCtrlF4 
	 '', cmResize,kbCtrlF5 
	 '', cmInsLowLevel,kbCtrlF7 
	 '', cmSpecialDelete,kbCtrlF8 
	 '', cmSysMenu,kbCtrlF10 
	 '', cmCompressLevel,kbCtrlBack 
	 '', cmShowAll,kbCtrlGrayPlus 
	 '', cmShowAll,kbCtrlEqual 
	 '', cmHideAll,kbCtrlGrayMinus 
	 '', cmPass,kbF4 
	 '', cmZoom,kbF5 
	 '', cmNext,kbF6 
	 '', cmMenu,kbF10 
	}
}
edward_K писал(а):а еще проще зайти в консоль упраления и посмотреть "Статус-строки" - тот же strartgal(систему тока не забудьте дернуть в "репозитарии")
У меня нет в консоли управления Статус-строки, есть только Система-Репозитарий-Компоненты/Системы. Мне говорили на форуме, что у меня вроде как неполная лицензия? Как быть в этом случае?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: И снова статус строка

Сообщение edward_K »

уберите всю вашу фигню и просто в броусе сделайте sci178EnEsc. Эта константа уже определена в GALNET.CSC(подключить в проект const ????? end если еще не поключено ) и не надо ни в коем случае ее определять повторно.
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Re: И снова статус строка

Сообщение galover »

Мне когда-то эта ветка помогла http://www.tyumbit.ru/gal_forum/viewtopic.php?f=2&t=332
BlazeBio
Местный житель
Сообщения: 386
Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:

Re: И снова статус строка

Сообщение BlazeBio »

edward_K писал(а):уберите всю вашу фигню и просто в броусе сделайте sci178EnEsc. Эта константа уже определена в GALNET.CSC(подключить в проект const ????? end если еще не поключено ) и не надо ни в коем случае ее определять повторно.
Всё оказалось просто! :grin:
А если бы не было браузера в фейсе, что тогда?
Ответить