
- •1.Редактирование кривых гис
- •1.1. Корректировка нуля кривой
- •1.2.Корректировка конфигурации кривой
- •1.3.Изменение амплитуды кривой в точках
- •1.4. Изменение амплитуды кривой в группе точек
- •1.5. Сглаживание кривых
- •1.6. Замена кривой в интервале на константу
- •1.7. Корректировка амплитуды кривой
- •1.8.Переворачивание кривой
- •1.9.Обработка сносов кривой
- •1.9.1.Сносы
- •1.9.2.Сносы детальные
- •1.10. Объединение кривых
- •1.11.Вырезать интервал
- •1.12.Удаление интервала
- •1.13.Совмещение кривых
- •1.14.Перенормировка кривой
- •Контрольная задача
- •Рекомендации пользователю
- •1.15.Горизонтальный график
- •1.16.Корректировка свойств группы кривых
- •1.16.1. Изменение начала
- •1.16.2.Изменение ширины поля
- •1.16.3. Масштаб кривых
- •1.16.4.Сдвиг колонок
- •1.16.5.Изменить колонку
- •1.16.6. Раздвинуть кривые
- •1.17.Потенциирование кривой
- •1.18.Попластовая колонка
- •1.19.Сборка кривых
- •1.20.Цифровая таблица
- •1.21.Объединение колонок
- •1.22.Приведение к абсолютным отметкам
- •1.23.Создание новой кривой (Ручная кривая)
- •1.24.Попластовый результат
- •1.25.Непрерывная кривая
- •1.26.Перевернуть кривую
- •1.27.Огибающие
- •1.28.Шкала пористости
- •1.29.Расчет статистических характеристик кривой (Статистика)
- •1.30.Калькулятор
- •2. Увязка кривых гис по глубине
- •2.1. Увязка кривых гис по реперам
- •1.31. Сдвиг по глубине
- •1.32. Привязка кривых гис по локатору муфт
- •1.33. Групповой сдвиг кривых по глубине
- •3. Преобразования кривых гис
- •1.34. Математические преобразования
- •1.35.Пересчет кривых
- •1.36. Вычисления с кривыми
- •1.37.Краткое описание языка программ пользователя Особенности языка
- •Режимы работы программ
- •Входные данные
- •Выходные данные
- •Зарезервированные имена переменных:
- •Порядок разделов в программе
- •Встроенные функции:
- •Подключение в меню
Встроенные функции:
1) Для получения значения кривой или колонки со сдвигом по глубине в неявном цикле.
GetV(‘имя_данного’, сдвиг), где сдвиг может быть отрицательным и задается в м, имя_данного – может быть только с раздела IN.
Например,
V:=GetV('ДТП', -0.2)
2) Для ручного ввода данных:
InputStr(‘Заголовок’, ‘Значение по умолчанию’) – для ввода строки,
InputNumber(‘Заголовок’,‘Значение по умолчанию’) – для ввода числа.
Заголовок – сообщение для пользователя.
Обычно, система автоматически запрашивает значений переменной, если оно ни разу не присваивалось. Но при этом она всегда задает одинаковый вопрос «Чему равно значение …». В этих функциях можно при помощи заголовка задавать, например, разные вопросы.
3) Для выполнения программ на языке PUBL
RunPrw(‘Имя файла Prw c указанием пути’).
Путь можно указывать полный или относительно системы ПРАЙМ. Имя файла указывается в одинарных ковычках.
Например,
E= RunPrw(‘E:\prime\prw\Date.prw’)
E= RunPrw(‘prw\Date.prw’)
Коды возврата функции:
0 – все нормально,
-1 – файл prw не найден,
-2 – не загружается PABL.DLL с системного каталога ПРАЙМ.
другие значения – коды ошибок компиляции и выполнения программы prw.
Для выдачи сообщений на экран
Msg(строковая_переменная)
Например,
Msg(FloatToStr(V));
В окне Msg имеются три кнопки: ОК, Отказ, Игнорировать. Выбор кнопки Отказ приводит к выходу из программы. Выбор кнопки Игнорировать выключает окно до конца выполнения программы (например, при ошибочном вызове этой функции).
Функция Msg может быть использов.ана, например, для отладки программы.
Пример программы:
Step:=0.2;
IN ДТП;
OUT КПак;
begin
КПак:=((ДТП-170)/475)*100;
if H>=2672.0 then
if Msg('H='+FloatToStr(H)+' КПак='+FloatToStr(КПак))=0 then Exit;
end
4) Для вызова функций системы ПРАЙМ
SelectDepth – интерактивный выбор глубины на планшете (м),
SelectInter(‘Message’, Start, Stop) – интерактивный выбор интервала глубин Start, Stop на планшете (м),
SelectDView – интерактивный выбор кривой или колонки на планшете,
GetDView - выбор по имени кривой или колонки на планшете,
SelCurveValue(P,'Сообщение пользователю') – интерактивное указание значения кривой ;
Пример использования функций:
P=GetDView('НГК');
if P=0 then
P=SelectDView('Выберите кривую НГК');
V=SelCurveValue(P,'Укажите значение кривой НГК');
Msg('V='+FloatToStr(V));
GetDValue - получение значения кривой или колонки в заданной глубине,
GetMinMidMaxD(Name:string;Start, Stop, Min, Mid, Max, Disp:single) – вычисление минимума, среднего и максимума и дисперсии в заданном интервале кривой Name,
GetAB(Name:string;Start,Stop,A,B:single) - вычисление коэфф. линейной аппроксимации Name Ax+B кривой Name в заданном интервале.
Пример с явным циклом (один раз):
begin
P:= SelectDView('Выберите объект');
if P=0 then Exit;
h1:= SelectDepth('Выберите глубину');
V:= GetDValue(P,h1) ;
Msg(FloatToStr(V));
Exit;
end
Для использования этих функций в неявном цикле можно их вызвать только для одной точки, т.е. внутри условного оператора.
Например,
if Index=0 then begin
h1:= SelectDepth('Выберите опорную глубину');
еnd;
5) Для работы со строками:
Val - число из строки,
IntToStr - целое число в строку,
StrToInt - строку в целое число,
FloatToStr - вещественное число в строку,
StrToFloat - строку в вещественное число,
Copy - выделение части строки,
Pos - определение позиции символа в строке,
Length - длина строки,
Insert - вставить в строку,
Delete - удалить из строки часть,
Trim - удалить пробелы в строке,
TrimLeft - удалить левые пробелы в строке,
TrimRight - удалить правые пробелы в строке,
UpperCase - перевести в заглавные,
LowerCase - перевести в прописные,
Format - оформить выдачу по шаблону,
6) Для работы с датой-временем:
Now - текущее время,
Date - текущая дата,
Time - время,
DateToStr - дата в строковом представлении,
StrToDate - строку даты во внутреннее представление,
TimeToStr - время в строковом представлении,
StrToTime - строку во время во внутреннем представлении,
FormatDateTime – оформление дата и времени,
DayOfWeek - день недели,
IncMonth - увеличить месяц,
DecodeDate - декодировать дату,
DecodeTime - декодировать время,
EncodeDate - закодировать дату,
EncodeTime - закодировать время,
7) Арифметические функции:
Abs - абсолютная величина,
Int - целое число,
Frac - дробная часть,
Round - округление до целого,
Ceil
Floor
Trunc - целая часть числа,
Sin - функция синус,
Cos - функция косинус,
Tan - функция тангенс,
ArcSin - функция арксинус,
ArcCos - функция арккосинус,
ArcTan - функция арктангенс,
Exp - экспонента,
Ln - натуральный логарифм,
Lg - десятичный логарифм,
RND - случайное число от 0 до 1,
IntPower - целая степень,
Sqr, - квадрат,
Sqrt - корень,
Inc - увеличить число,
Dec - уменьшить число,
8) Специальные функции:
Min - количество параметров может быть различным,
Max - количество параметров может быть различным,
GetVar - получить переменную,
SetVar - задать переменную,
Decode - декодировать,
YearDays - число дней в году,
YearFrac - отстаток от полного числа дней в году.