Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 21.07.2019, 17:59   #1
niter
Новичок
 
Регистрация: 21.07.2019
Сообщений: 1
Репутация: 10
По умолчанию 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 в 18:29.
niter вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


10:49.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru