Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.07.2019, 16:59   #1
niter
Новичок
Джуниор
 
Регистрация: 21.07.2019
Сообщений: 1
По умолчанию ISIS\PL

Добрый день, помогите пожалуйста разобраться с кодом, ну или как его можно написать, суть заключается в том чтобы написать код для переименовывания полей External Name в программе ISIS/BASE через функцию Execute PL program (переименовывать кучу полей не очень удобно, было бы неплохо на этот случай иметь скрипт)
ссылка на то что я нарыл в обучающих файлах + инструкция по внутреннему языку программирования https://fex.net/s/ltnmbtd
ссылка на скачивание самой программы https://rutracker.org/forum/viewtopic.php?t=1729546

То что я нашел в обучающих файлах что хоть немного похоже на то что мне нужно сделать, помогите пожалуйста расшифровать и правильно составить код для необходимой задачи
program qwqwqw;

Код:
{$C isisbase.inc}
		
		{Now put in external field names}
			lastNamedField := firstNamedField;
			while lastNamedField <> nil do
			begin
				fieldName := lastNamedField^.Name;
				{find by path name rather than field number, since	field nums in 
					old and new databases may not match}
				fieldNum := GetFieldFromPathName( lastNamedField^.PathName );
				fieldExtName := lastNamedField^.ExtName;
				WriteLn( 'Adding External Name for FieldNum ' + IStr(fieldNum,0) +
							' = ' + GetFieldPathName(fieldNum) ); 

				{cut first link off list}
				firstNamedField := lastNamedField;
				lastNamedField := lastNamedField^.NextField;
				Dispose( firstNamedField );

				ChangeFieldName( fieldNum, fieldName, fieldExtName);
			end; {while lastNamedField...}
			PopDb;
		end;
		
		
		
		{Add to linked list of external field names}
			if fieldExtName <> '' then
			begin
				if firstNamedField = nil then
				begin
					new( firstNamedField );
					lastNamedField := firstNamedField
				end 
				else 
				begin
					new ( lastNamedField^.NextField );
					lastNamedField := lastNamedField^.NextField
				end; {if firstNamedField}

				lastNamedField^.PathName := fieldPathName;
				lastNamedField^.Name := fieldName;
				lastNamedField^.ExtName := fieldExtName;
				lastNamedField^.NextField := nil

			end; {if fieldExtName...}

Последний раз редактировалось Аватар; 21.07.2019 в 17:29.
niter вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц