This commit is contained in:
softlandia 2019-08-18 20:13:36 +04:00
Коммит 20df94b18f
95 изменённых файлов: 26011 добавлений и 0 удалений

3
!pak.cmd Normal file
Просмотреть файл

@ -0,0 +1,3 @@
del *.~*
C:\Progra~1\7-Zip\7z.exe u logix *.* -r -t7z -ms -mmt -mx9 -x!*.dsm -x!*.dcu -x!*.zip -x!*.~* -x!*.7z -x!arc\*.*
C:\Progra~1\7-Zip\7z.exe u xlib x:\lib\xlib\*.* -r -t7z -ms -mmt -mx9 -x!*.dsm -x!*.dcu -x!*.zip -x!*.7z

27
.gitignore поставляемый Normal file
Просмотреть файл

@ -0,0 +1,27 @@
*.7z
*.zip
*.dsm
__history\*
__history/*
__recovery\*
__recovery/*
site/*
site\*
setup\*
setup/*
ModelSupport_logix\*
ModelSupport_logix/*
bin\*
bin/*
arc\*
arc/*
help\*
help/*
*.tvsconfig
*.ddp
*.local
*.dcu
*.identcache
*.~*
*.bdsproj
.git_status

3289
765.las Normal file

Разница между файлами не показана из-за своего большого размера Загрузить разницу

37
APIcode.dfm Normal file
Просмотреть файл

@ -0,0 +1,37 @@
inherited frmAPIcode: TfrmAPIcode
Left = 370
Top = 254
Caption = 'Change API code'
ClientWidth = 488
OldCreateOrder = True
ExplicitWidth = 496
PixelsPerInch = 96
TextHeight = 13
inherited Panel2: TPanel
Width = 488
ExplicitWidth = 488
end
inherited Panel1: TPanel
Width = 488
ExplicitWidth = 488
inherited lv: TListView
Width = 486
FlatScrollBars = True
ViewStyle = vsReport
ExplicitWidth = 486
end
end
inherited Panel3: TPanel
Width = 488
ExplicitWidth = 488
inherited btnOK: TBitBtn
Left = 345
OnClick = BitBtn1Click
ExplicitLeft = 345
end
inherited btnCancel: TBitBtn
Left = 410
ExplicitLeft = 410
end
end
end

75
APIcode.pas Normal file
Просмотреть файл

@ -0,0 +1,75 @@
unit APIcode;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
BaseDlg, ImgList, Menus, StdCtrls, Buttons, ComCtrls, Mask,
ExtCtrls;
type
TfrmAPIcode = class(TfrmBaseDlg)
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmAPIcode: TfrmAPIcode;
implementation
uses
CLas, Utils, Common;
{$R *.DFM}
procedure TfrmAPIcode.BitBtn1Click(Sender: TObject);
var
lf : TLASFile;
i : integer;
filecount : string;
lasfilename : shortstring;
begin
inherited;
if deFolder.Text <> 'deFolder' then
if SearchFiles() = _ERROR_ then exit;
pbProgress.Visible := true;
pbProgress.min := 0;
pbProgress.max := strlstFile.Count;
pbProgress.Position := pbProgress.min;
filecount := lblFileCount.Caption;
strlstAPI.Sort();
lf := TLASFile.Create();
try
for i := 0 to strlstFile.Count -1 do begin
lasfilename := strlstFile[i];
Writeln(logfile, Format('Read las file: %s', [lasfilename]));
try
if lf.ReadFromLas(lasfilename) = _OK_ then begin
if lf.FillAPI( strlstAPI ) = _OK_ then begin
Writeln(logfile, Format('Change API: %s', [lasfilename]));
Application.ProcessMessages();
lf.WriteToLAS(lasfilename);
Application.ProcessMessages();
Writeln(logfile, Format('Write las file: %s', [lasfilename]));
end;
end
else
Writeln(logfile, Format(' las file: %s skip', [lasfilename]));
except
Writeln(logfile, Format(' las file: %s ERROR', [lasfilename]));
end;
lf.Clear();
pbProgress.Position := pbProgress.Position + 1;
lblFilecount.Caption := lasfilename;
lblFileCount.Refresh();
end;
finally
lf.Free;
Writeln(logfile, Format('Error on file: %s skip', [lasfilename]));
end;
pbProgress.Visible := false;
end;
end.

Двоичные данные
AboutBox.dfm Normal file

Двоичный файл не отображается.

38
AboutBox.pas Normal file
Просмотреть файл

@ -0,0 +1,38 @@
unit AboutBox;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls, jpeg;
type
TfrmAboutBox = class(TForm)
Image1: TImage;
Label1: TLabel;
procedure FormCreate(Sender: TObject);
procedure Image1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmAboutBox: TfrmAboutBox;
implementation
{$R *.DFM}
procedure TfrmAboutBox.FormCreate(Sender: TObject);
begin
// Version.Caption := '1.0.0.' + Application
end;
procedure TfrmAboutBox.Image1Click(Sender: TObject);
begin
Close();
end;
end.

859
AddLAS.dfm Normal file
Просмотреть файл

@ -0,0 +1,859 @@
object frmAddLAS: TfrmAddLAS
Left = 578
Top = 233
Caption = 'Add logs from one to one'
ClientHeight = 386
ClientWidth = 498
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -10
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnClose = FormClose
OnCreate = FormCreate
OnKeyUp = FormKeyUp
OnResize = FormResize
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 498
Height = 33
ButtonHeight = 30
ButtonWidth = 31
Caption = 'ToolBar1'
HotImages = ImageList1
Images = ImageList1
TabOrder = 0
object btnOpenFirst: TToolButton
Left = 0
Top = 0
Hint = #1042#1099#1073#1088#1072#1090#1100' '#1092#1072#1081#1083' '#1074' '#1082#1086#1090#1086#1088#1099#1081' '#1073#1091#1076#1091#1090' '#1087#1086#1084#1077#1097#1077#1085#1099' '#1085#1086#1074#1099#1077' '#1082#1072#1088#1086#1090#1072#1078#1080
ImageIndex = 0
ParentShowHint = False
ShowHint = True
OnClick = btnOpenFirstClick
end
object btnOpenSecond: TToolButton
Left = 31
Top = 0
Hint = #1042#1099#1073#1088#1072#1090#1100' '#1092#1072#1081#1083' '#1080#1079' '#1082#1086#1090#1086#1088#1086#1075#1086' '#1076#1086#1073#1072#1074#1083#1103#1090#1100' '#1082#1072#1088#1086#1090#1072#1078#1080
ImageIndex = 1
ParentShowHint = False
ShowHint = True
OnClick = btnOpenSecondClick
end
object ToolButton3: TToolButton
Left = 62
Top = 0
Width = 8
Caption = 'ToolButton3'
ImageIndex = 2
Style = tbsSeparator
end
object tblSaveDlg: TToolButton
Left = 70
Top = 0
Hint = #1048#1079#1084#1077#1085#1080#1090#1100' '#1085#1072#1079#1074#1072#1085#1080#1077' '#1088#1077#1079#1091#1083#1100#1090#1080#1088#1091#1102#1097#1077#1075#1086' '#1092#1072#1081#1083#1072
Caption = 'tblSaveDlg'
ImageIndex = 2
ParentShowHint = False
ShowHint = True
OnClick = tblSaveDlgClick
end
object btnAddLAS: TToolButton
Left = 101
Top = 0
Hint = 'Add all logs'
Caption = 'btnAddLAS'
ImageIndex = 6
ParentShowHint = False
ShowHint = True
OnClick = btnAddLASClick
end
object ToolButton1: TToolButton
Left = 132
Top = 0
Width = 8
Caption = 'ToolButton1'
ImageIndex = 4
Style = tbsSeparator
end
object ToolButton4: TToolButton
Left = 140
Top = 0
Width = 8
Caption = 'ToolButton4'
ImageIndex = 5
Style = tbsSeparator
end
object ToolButton5: TToolButton
Left = 148
Top = 0
Width = 8
Caption = 'ToolButton5'
ImageIndex = 5
Style = tbsSeparator
end
object ToolButton6: TToolButton
Left = 156
Top = 0
Width = 8
Caption = 'ToolButton6'
ImageIndex = 5
Style = tbsSeparator
end
object btnSaveLAS: TToolButton
Left = 164
Top = 0
Hint = #1057#1086#1093#1088#1072#1085#1080#1090#1100' '#1088#1077#1079#1091#1083#1100#1090#1080#1088#1091#1102#1097#1080#1081' '#1092#1072#1081#1083
Caption = 'btnSaveLAS'
Enabled = False
ImageIndex = 4
ParentShowHint = False
ShowHint = True
OnClick = btnSaveLASClick
end
end
object sbStatus: TStatusBar
Left = 0
Top = 367
Width = 498
Height = 19
Panels = <
item
Width = 150
end>
end
inline fraLASView1: TfraLASView
Left = 0
Top = 33
Width = 235
Height = 334
Align = alLeft
TabOrder = 2
TabStop = True
ExplicitTop = 33
ExplicitWidth = 235
ExplicitHeight = 334
inherited lvLOGs: TListView
Top = 124
Width = 235
Height = 210
Columns = <
item
Caption = 'LOG'
Width = 61
end
item
Caption = 'unit'
Width = 41
end
item
Caption = 'min'
Width = 61
end
item
Caption = 'max'
Width = 61
end>
OnDblClick = lvLOGs1DblClick
ExplicitTop = 124
ExplicitWidth = 235
ExplicitHeight = 210
end
inherited lvHeader: TListView
Width = 235
Height = 124
Columns = <
item
Caption = 'Field name'
Width = 73
end
item
Caption = 'Value'
Width = 142
end>
ExplicitWidth = 235
ExplicitHeight = 124
end
end
inline fraLASView2: TfraLASView
Left = 235
Top = 33
Width = 263
Height = 334
Align = alClient
TabOrder = 3
TabStop = True
ExplicitLeft = 235
ExplicitTop = 33
ExplicitWidth = 263
ExplicitHeight = 334
inherited lvLOGs: TListView
Top = 124
Width = 263
Height = 210
Columns = <
item
Caption = 'LOG'
Width = 61
end
item
Caption = 'unit'
Width = 41
end
item
Caption = 'min'
Width = 61
end
item
Caption = 'max'
Width = 61
end>
OnDblClick = lvLOGs2DblClick
ExplicitTop = 124
ExplicitWidth = 263
ExplicitHeight = 210
end
inherited lvHeader: TListView
Width = 263
Height = 124
Columns = <
item
Caption = 'Field name'
Width = 73
end
item
Caption = 'Value'
Width = 142
end>
ExplicitWidth = 263
ExplicitHeight = 124
end
end
object OpenDlg: TOpenDialog
DefaultExt = 'las'
FileName = '*.las'
Filter = 'LAS files|*.las|Any files|*.*'
Left = 432
Top = 2
end
object ImageList1: TImageList
Height = 24
Width = 24
Left = 464
Top = 2
Bitmap = {
494C010107000900080018001800FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000600000003000000001002000000000000048
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000FF000000FF000000FF00
0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00
0000FF0000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000FF000000FF000000FF00
0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00
0000FF0000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000FF00000000000000F7CE
A50000000000F7CEA50000000000F7CEA50000000000F7CEA50000000000F7CE
A500FF0000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000FF0000000000000000FF
FF000000000000FFFF000000000000FFFF000000000000FFFF000000000000FF
FF00FF0000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000CECECE00CECE
CE000000000000000000000000000000000000000000FF000000F7CEA5000000
0000F7CEA50000000000F7CEA50000000000F7CEA50000000000F7CEA5000000
0000FF0000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000FF00000000FFFF000000
000000FFFF000000000000FFFF000000000000FFFF000000000000FFFF000000
0000FF0000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
CE00CECECE00CECECE00CECECE00CECECE00CECECE0000000000CECECE00CECE
CE000000000000000000000000000000000000000000FF00000000000000F7CE
A50000000000F7CEA50000000000F7CEA50000000000F7CEA50000000000F7CE
A500FF0000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000FF0000000000000000FF
FF000000000000FFFF000000000000FFFF000000000000FFFF000000000000FF
FF00FF0000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000CECECE00CECE
CE000000000000000000000000000000000000000000FF000000FF000000FF00
0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00
0000FF0000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000FF000000FF000000FF00
0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00
0000FF0000000000000000000000000000000000FF0000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
CE00CECECE00CECECE00CECECE00CECECE00CECECE0000000000CECECE00CECE
CE000000000000000000000000000000000000000000FF00000000000000F7CE
A50000000000F7CEA50000000000F7CEA50000000000F7CEA50000000000F7CE
A500FF0000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000FF0000000000000000FF
FF000000000000FFFF000000000000FFFF000000000000FFFF000000000000FF
FF00FF000000000000000000FF000000FF000000FF000000FF00000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000CECECE00CECE
CE000000000000000000000000000000000000000000FF000000F7CEA5000000
0000F7CEA50000000000F7CEA50000000000F7CEA50000000000F7CEA5000000
0000FF0000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000FF00000000FFFF000000
000000FFFF000000000000FFFF000000000000FFFF000000000000FFFF000000
0000FF000000000000000000FF000000FF000000FF000000FF000000FF000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
CE00CECECE00CECECE00CECECE00CECECE00CECECE0000000000CECECE00CECE
CE000000000000000000000000000000000000000000FF00000000000000F7CE
A50000000000F7CEA50000000000F7CEA50000000000F7CEA50000000000F7CE
A500FF0000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000FF0000000000000000FF
FF000000000000FFFF000000000000FFFF000000000000FFFF000000000000FF
FF00FF000000000000000000FF000000FF000000FF000000FF00000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000CECECE00CECE
CE000000000000000000000000000000000000000000FF000000FF000000FF00
0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00
0000FF0000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000FF000000FF000000FF00
0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00
0000FF0000000000000000000000000000000000FF0000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C009C9C9C009C9C9C009C9C9C009C9C9C009C9C9C009C9C
9C009C9C9C009C9C9C009C9C9C009C9C9C009C9C9C009C9C9C00CECECE00CECE
CE000000000000000000000000000000000000000000FF00000000000000F7CE
A50000000000F7CEA50000000000F7CEA50000000000F7CEA50000000000F7CE
A500FF0000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000FF0000000000000000FF
FF000000000000FFFF000000000000FFFF000000000000FFFF000000000000FF
FF00FF0000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
CE000000000000000000000000000000000000000000FF000000F7CEA5000000
0000F7CEA50000000000F7CEA50000000000F7CEA50000000000F7CEA5000000
0000FF0000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000FF00000000FFFF000000
000000FFFF000000000000FFFF000000000000FFFF000000000000FFFF000000
0000FF0000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE00CECECE0000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000CECECE00CECECE00CECE
CE000000000000000000000000000000000000000000FF00000000000000F7CE
A50000000000F7CEA50000000000F7CEA50000000000F7CEA50000000000F7CE
A500FF0000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000FF0000000000000000FF
FF000000000000FFFF000000000000FFFF000000000000FFFF000000000000FF
FF00FF0000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C00CECECE00CECECE00CECECE0063636300636363006363
6300636363006363630063636300636363006363630000000000CECECE00CECE
CE000000000000000000000000000000000000000000FF000000FF000000FF00
0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00
0000FF0000000000000000000000000000000000FF0000000000000000000000
00000000000000000000000000000000000000000000FF000000FF000000FF00
0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00
0000FF0000000000000000000000000000000000FF0000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C00CECECE00CECECE00CECECE0063636300636363006363
630063636300CECECE00CECECE00CECECE006363630000000000CECECE00CECE
CE000000000000000000000000000000000000000000FF0000000000000000FF
FF000000000000FFFF000000000000FFFF000000000000FFFF000000000000FF
FF00FF000000000000000000FF000000FF000000FF000000FF00000000000000
00000000000000000000000000000000000000000000FF0000000000000000FF
FF000000000000FFFF000000000000FFFF000000000000FFFF000000000000FF
FF00FF000000000000000000FF000000FF000000FF000000FF00000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C00CECECE00CECECE00CECECE0063636300636363006363
630063636300CECECE00CECECE00CECECE006363630000000000CECECE00CECE
CE000000000000000000000000000000000000000000FF00000000FFFF000000
000000FFFF000000000000FFFF000000000000FFFF000000000000FFFF000000
0000FF000000000000000000FF000000FF000000FF000000FF000000FF000000
00000000000000000000000000000000000000000000FF00000000FFFF000000
000000FFFF000000000000FFFF000000000000FFFF000000000000FFFF000000
0000FF000000000000000000FF000000FF000000FF000000FF000000FF000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C00CECECE00CECECE00CECECE0063636300636363006363
630063636300CECECE00CECECE00CECECE006363630000000000CECECE00CECE
CE000000000000000000000000000000000000000000FF0000000000000000FF
FF000000000000FFFF000000000000FFFF000000000000FFFF000000000000FF
FF00FF000000000000000000FF000000FF000000FF000000FF00000000000000
00000000000000000000000000000000000000000000FF0000000000000000FF
FF000000000000FFFF000000000000FFFF000000000000FFFF000000000000FF
FF00FF000000000000000000FF000000FF000000FF000000FF00000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C00CECECE00CECECE00CECECE0063636300636363006363
630063636300CECECE00CECECE00CECECE006363630000000000CECECE00CECE
CE000000000000000000000000000000000000000000FF000000FF000000FF00
0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00
0000FF0000000000000000000000000000000000FF0000000000000000000000
00000000000000000000000000000000000000000000FF000000FF000000FF00
0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00
0000FF0000000000000000000000000000000000FF0000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C00CECECE00CECECE00CECECE0063636300636363006363
630063636300CECECE00CECECE00CECECE006363630000000000CECECE00CECE
CE000000000000000000000000000000000000000000FF00000000000000F7CE
A50000000000F7CEA50000000000F7CEA50000000000F7CEA50000000000F7CE
A500FF0000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000FF0000000000000000FF
FF000000000000FFFF000000000000FFFF000000000000FFFF000000000000FF
FF00FF0000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000009C9C9C0000000000000000000000000063636300636363006363
6300636363006363630063636300636363006363630000000000000000000000
00000000000000000000000000000000000000000000FF000000F7CEA5000000
0000F7CEA50000000000F7CEA50000000000F7CEA50000000000F7CEA5000000
0000FF0000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000FF00000000FFFF000000
000000FFFF000000000000FFFF000000000000FFFF000000000000FFFF000000
0000FF0000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000FF00000000000000F7CE
A50000000000F7CEA50000000000F7CEA50000000000F7CEA50000000000F7CE
A500FF0000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000FF0000000000000000FF
FF000000000000FFFF000000000000FFFF000000000000FFFF000000000000FF
FF00FF0000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000FF000000FF000000FF00
0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00
0000FF0000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000FF000000FF000000FF00
0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00
0000FF0000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000FFFFFF00FFFFFF00000000000000000000000000FFFFFF00FFFF
FF00000000000000000000000000FFFFFF00FFFFFF000000000000000000F7FF
FF00F7FFFF00F7FFFF00F7FFFF0000000000000000000000000000000000FFFF
FF00FFFFFF00000000000000000000000000FFFFFF00FFFFFF00000000000000
000000000000FFFFFF00FFFFFF00000000000000000000000000FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000C6DEC600C6C6
C600F7FFFF0000000000C6DEC600C6C6C600C6DEC600C6C6C600C6C6C600FF00
0000FF000000FF000000FF000000FF000000C6C6C600C6C6C600C6DEC600C6C6
C600C6DEC6000000000084848400848484000000000000000000000000000000
00000000000000000000FFFFFF0000000000000000000000000000000000FFFF
FF0000000000000000000000000000000000FFFFFF0000000000000000000000
84000000840000008400F7FFFF00000000000000000000000000000000000000
0000FFFFFF0000000000000000000000000000000000FFFFFF00000000000000
00000000000000000000FFFFFF00000000000000000000000000000084000000
84000000840000008400FFFFFF00000000000000000000000000000000000000
00000000000000000000F7F7F700FFFFFF00F7F7F700FFFFFF00F7F7F700FFFF
FF00F7F7F700FFFFFF00F7F7F700FFFFFF00F7F7F700FFFFFF00F7F7F700FFFF
FF00F7F7F700FFFFFF00F7F7F700000000000000000000000000C6C6C600C6C6
C600C6C6C60000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
C600C6C6C60000000000C6C6C600000000000000000000000000000000000000
00000000000000000000FFFFFF0000000000000000000000000000000000FFFF
FF0000000000000000000000000000000000FFFFFF0000000000000000000000
000000008400F7FFFF0000000000000000000000000000000000000000000000
0000FFFFFF0000000000000000000000000000000000FFFFFF00000000000000
00000000000000000000FFFFFF00000000000000000000000000000000000000
8400FFFFFF000000000000000000000000000000000000000000000000000000
0000000000000000000008080800000000000808080000000000080808000000
0000080808000000000008080800000000000808080000000000080808000000
00000808080000000000FFFFFF00000000000000000000000000C6DEC600C6C6
C600C6DEC60000000000C6DEC600C6C6C600C6DEC600C6C6C600C6DEC600FF00
0000FF000000FF000000FF000000FF000000C6C6C600C6C6C600C6DEC600C6C6
C600C6DEC6000000000000000000C6C6C6000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000008400F7FFFF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000008400FFFFFF0000000000000000000000000000000000000000000000
0000000000000000000000000000FFFFFF00F7F7F700FFFFFF00F7F7F700FFFF
FF00F7F7F700FFFFFF00F7F7F700FFFFFF00F7F7F700FFFFFF00F7F7F700FFFF
FF00F7F7F70008080800F7F7F700000000000000000000000000C6C6C600C6C6
C600C6C6C60000000000C6C6C600C6C6C600C6C6C600C6C6C600FF000000C6C6
C600C6C6C600C6C6C600C6C6C600C6C6C600FF000000C6C6C600C6C6C600C6C6
C600C6C6C6000000000084848400C6C6C6000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000008400F7FFFF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000008400FFFFFF00000000000000000000000000000000000000
0000000000000000000008080800F7F7F700CECECE0000000000CECECE000000
0000CECECE00BDBDBD00CECECE00BDBDBD00CECECE00BDBDBD00CECECE00BDBD
BD00FFFFFF0000000000FFFFFF00000000000000000000000000C6DEC600C6C6
C600C6DEC60000000000C6DEC600C6DEC600C6DEC600C6C6C600FF000000C6C6
C600C6DEC600C6C6C600C6C6C600C6C6C600FF000000C6C6C600C6DEC600C6C6
C600C6DEC6000000000084848400C6C6C6000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000008400F7FFFF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000008400FFFFFF00000000000000000000000000F7F7F700FFFF
FF00F7F7F700FFFFFF0000000000FFFFFF00BDBDBD00CECECE0000000000CECE
CE00BDBDBD00CECECE00BDBDBD00CECECE00BDBDBD00CECECE00BDBDBD00CECE
CE00F7F7F70008080800F7F7F700000000000000000000000000C6C6C600C6C6
C600C6C6C60000000000F7FFFF00F7FFFF00C6C6C600C6C6C600FF000000C6C6
C600C6C6C600C6C6C600FF000000C6C6C600FF000000C6C6C600C6C6C600C6C6
C600C6C6C6000000000084848400C6C6C6000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
840000008400F7FFFF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000084000000
00000000000000008400FFFFFF000000000000000000F7F7F700080808000000
0000080808000000000008080800F7F7F700CECECE00BDBDBD0008080800BDBD
BD00CECECE00BDBDBD00CECECE00BDBDBD00CECECE00BDBDBD00CECECE00BDBD
BD00FFFFFF0000000000FFFFFF00000000000000000000000000C6DEC600C6C6
C600C6DEC6000000000000000000F7FFFF00C6DEC600C6C6C600C6DEC600C6C6
C600C6DEC600C6C6C600FF000000FF000000FF000000C6C6C600C6DEC600C6C6
C600C6DEC6000000000084848400C6C6C6000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000084000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
840000008400FFFFFF0000000000000000000000000008080800F7F7F700CECE
CE0094949400FFFFFF0000000000FFFFFF00BDBDBD00CECECE0000000000CECE
CE00BDBDBD00CECECE00BDBDBD00CECECE00BDBDBD00CECECE00BDBDBD00CECE
CE00F7F7F70008080800F7F7F700000000000000000000000000C6C6C600C6C6
C600C6C6C60000000000F7FFFF00F7FFFF00F7FFFF00F7FFFF00C6C6C600C6C6
C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
C600C6C6C6000000000084848400C6C6C6000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000FFFFFF00C6C6
C6009C9C9C00C6C6C60008080800F7F7F700CECECE00BDBDBD0008080800BDBD
BD00CECECE00BDBDBD00CECECE00BDBDBD00CECECE00BDBDBD00CECECE00BDBD
BD00FFFFFF0000000000FFFFFF00000000000000000000000000C6DEC600C6C6
C600C6DEC600C6C6C60000000000F7FFFF0000000000F7FFFF00F7FFFF00C6C6
C600C6DEC600C6C6C600C6DEC600C6C6C600C6DEC600C6C6C600C6DEC600C6C6
C600C6DEC600C6C6C60000000000C6C6C6000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000008080800F7F7F700CECE
CE0094949400FFFFFF0000000000FFFFFF00BDBDBD0008080800BDBDBD000808
0800BDBDBD00CECECE00BDBDBD00CECECE00BDBDBD00CECECE00BDBDBD00CECE
CE00F7F7F70008080800F7F7F700000000000000000000000000C6C6C600C6C6
C600C6C6C600C6C6C6000000000000000000F7FFFF00C6DEC600C6DEC600F7FF
FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
C600C6C6C600C6C6C60000000000848484000000000000000000000000000000
000000000000C6DEC60084C6C600F7FFFF0084C6C600F7FFFF0084C6C600C6DE
C60084A5A500C6C6C6008484A500C6C6C6008484A500C6C6C6008484A500C6C6
C600000000000000000000000000000000000000000000000000000000000000
000000000000C6DEC60084C6C600F7FFFF0084C6C600F7FFFF0084C6C600C6DE
C60084A5A500C6C6C6008484A500C6C6C6008484A500C6C6C6008484A500C6C6
C600000000000000000000000000000000000000000000000000FFFFFF00C6C6
C6009C9C9C00C6C6C60008080800F7F7F700FFFFFF00F7F7F700FFFFFF00F7F7
F700FFFFFF00F7F7F700FFFFFF00F7F7F700FFFFFF00F7F7F700FFFFFF00F7F7
F700FFFFFF0000000000FFFFFF00000000000000000000000000C6DEC600C6C6
C600C6DEC600C6C6C600C6C6C6000000000000000000F7FFFF0000000000C6DE
C600C6DEC600C6C6C600C6DEC600C6C6C600C6DEC600C6C6C600C6DEC600C6C6
C600C6DEC600C6C6C600C6C6C600000000000000000000000000000000000000
0000FFFFFF0084A5C600C6DEC60084C6C600F7FFFF0084C6C600F7FFFF0084C6
C600C6DEC60084A5A500C6C6C6008484A500C6C6C6008484A500C6C6C6000000
0000000000000000000000000000000000000000000000000000000000000000
0000FFFFFF0084A5C600C6DEC60084C6C600F7FFFF0084C6C600F7FFFF0084C6
C600C6DEC60084A5A500C6C6C6008484A500C6C6C6008484A500C6C6C6000000
0000000000000000000000000000000000000000000008080800F7F7F700CECE
CE0094949400FFFFFF00000000006B393900633131006B393900633131006B39
3900633131006B393900633131006B393900633131006B393900633131006B39
39006331310008080800F7F7F700000000000000000000000000C6C6C600C6C6
C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00008484A500C6C6C60084A5C600F7FFFF0084C6C600F7FFFF0084C6C600F7FF
FF0084C6C600C6DEC60084A5A500C6C6C6008484A500C6C6C6008484A5000000
0000000000000000000000000000000000000000000000000000000000000000
00008484A500C6C6C60084A5C600F7FFFF0084C6C600F7FFFF0084C6C600F7FF
FF0084C6C600C6DEC60084A5A500C6C6C6008484A500C6C6C6008484A5000000
0000000000000000000000000000000000000000000000000000FFFFFF00C6C6
C6009C9C9C00C6C6C60008080800633131006B393900633131006B3939006331
31006B393900633131006B393900633131006B393900633131006B3939006331
31006B39390000000000FFFFFF00000000000000000000000000C6DEC600C6C6
C600C6DEC600C6C6C600C6C6C600FF000000FF000000FF000000FF000000FF00
0000C6C6C600C6C6C600C6DEC600C6C6C600C6DEC60000000000848484008484
840000000000000000000000000000000000000000000000000000000000FFFF
FF00C6C6C6008484A500C6C6C60084A5C600F7FFFF0084C6C600F7FFFF0084C6
C600F7FFFF0084A5C600C6DEC60084A5A500C6C6C6008484A500000000008484
A50000000000000000000000000000000000000000000000000000000000FFFF
FF00C6C6C6008484A500C6C6C60084A5C600F7FFFF0084C6C600F7FFFF0084C6
C600F7FFFF0084A5C600C6DEC60084A5A500C6C6C6008484A500000000008484
A500000000000000000000000000000000000000000008080800F7F7F700CECE
CE0094949400FFFFFF0000000000080808000000000008080800000000000808
0800000000000808080000000000080808000000000008080800000000000808
08000000000008080800F7F7F700000000000000000000000000C6C6C600C6C6
C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000C6C6C6000000
000084848400000000000000000000000000000000000000000000000000C6C6
C6008484A500C6C6C60084A5A500C6C6C60084A5C600F7FFFF0084C6C600F7FF
FF0084C6C600F7FFFF0084A5C600C6DEC60084A5A500C6C6C60000000000C6C6
C60000000000000000000000000000000000000000000000000000000000C6C6
C6008484A500C6C6C60084A5A500C6C6C60084A5C600F7FFFF0084C6C600F7FF
FF0084C6C600F7FFFF0084A5C600C6DEC60084A5A500C6C6C60000000000C6C6
C600000000000000000000000000000000000000000000000000FFFFFF00C6C6
C6009C9C9C00949494009C9C9C00949494009C9C9C00949494009C9C9C009494
94009C9C9C00949494009C9C9C0094949400CECECE0000000000FFFFFF000000
0000000000000000000000000000000000000000000000000000C6DEC600C6C6
C600C6DEC600C6C6C600C6DEC600FF000000FF000000FF000000FF000000FF00
0000C6C6C600C6C6C600C6DEC600C6C6C600C6DEC6000000000000000000C6C6
C600000000008484840000000000000000000000000000000000FFFFFF008484
A500C6C6C6008484A500C6C6C60084A5A500C6DEC60084A5C600F7FFFF0084C6
C600F7FFFF0084C6C600F7FFFF0084A5C600C6DEC60000000000C6C6C6008484
A500000000000000000000000000000000000000000000000000FFFFFF008484
A500C6C6C6008484A500C6C6C60084A5A500C6DEC60084A5C600F7FFFF0084C6
C600F7FFFF0084C6C600F7FFFF0084A5C600C6DEC60000000000C6C6C6008484
A500000000000000000000000000000000000000000008080800F7F7F700CECE
CE00C6C6C600CECECE00C6C6C600CECECE00C6C6C600CECECE00C6C6C600CECE
CE00C6C6C600CECECE00C6C6C600CECECE00C6C6C60008080800F7F7F7000000
0000000000000000000000000000000000000000000000000000C6C6C600C6C6
C600C6C6C600C6C6C600FF000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
C600FF000000C6C6C600C6C6C600C6C6C600C6C6C6000000000084848400C6C6
C600C6C6C6000000000084848400000000000000000000000000FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000008484A500C6C6
C600000000000000000000000000000000000000000000000000FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000008484A500C6C6
C600000000000000000000000000000000000000000000000000FFFFFF00C6C6
C600CECECE00F7F7F700FFFFFF00F7F7F700FFFFFF00F7F7F700FFFFFF00F7F7
F700FFFFFF00F7F7F700FFFFFF00C6C6C600CECECE0000000000FFFFFF000000
0000000000000000000000000000000000000000000000000000C6DEC600C6DE
C600C6DEC600C6C6C600FF000000C6C6C600C6DEC600C6C6C600C6C6C600C6C6
C600FF000000C6C6C600C6DEC600C6C6C600C6DEC6000000000084848400C6C6
C600C6C6C6000000000084848400000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000008484A500C6C6C6008484
A500000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000008484A500C6C6C6008484
A500000000000000000000000000000000000000000008080800F7F7F700CECE
CE0094949400CECECE00C6C6C600CECECE00636363006B6B6B00636363006B6B
6B00636363006B6B6B0063636300FFFFFF00C6C6C60008080800F7F7F7000000
0000000000000000000000000000000000000000000000000000F7FFFF00F7FF
FF00C6C6C600C6C6C600FF000000C6C6C600C6C6C600C6C6C600FF000000C6C6
C600FF000000C6C6C600C6C6C600C6C6C600C6C6C6000000000084848400C6C6
C600C6C6C600C6C6C60000000000848484000000000000000000000000000000
000000000000FFFFFF008484A500C6C6C6008484A500C6C6C60084A5C600F7FF
FF0084C6C600F7FFFF0084C6C600F7FFFF0084A5C600C6C6C6008484A500C6C6
C600000000000000000000000000000000000000000000000000000000000000
000000000000FFFFFF008484A500C6C6C6008484A500C6C6C60084A5C600F7FF
FF0084C6C600F7FFFF0084C6C600F7FFFF0084A5C600C6C6C6008484A500C6C6
C600000000000000000000000000000000000000000000000000FFFFFF00C6C6
C6009C9C9C00C6C6C600CECECE00C6C6C6006B6B6B00636363006B6B6B00C6C6
C600CECECE00C6C6C6006B6B6B00F7F7F700CECECE0000000000FFFFFF000000
000000000000000000000000000000000000000000000000000000000000F7FF
FF00C6DEC600C6C6C600C6DEC600C6C6C600C6DEC600C6C6C600FF000000FF00
0000FF000000C6C6C600C6DEC600C6C6C600C6DEC6000000000084848400C6C6
C600C6C6C600C6C6C60000000000848484000000000000000000000000000000
000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00F7FFFF0084C6C600F7FFFF0084A5C600C6C6C6008484
A500000000000000000000000000000000000000000000000000000000000000
000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00F7FFFF0084C6C600F7FFFF0084A5C600C6C6C6008484
A500000000000000000000000000000000000000000008080800F7F7F700CECE
CE0094949400CECECE00C6C6C600CECECE00636363006B6B6B0063636300CECE
CE00C6C6C600CECECE0063636300FFFFFF00C6C6C60008080800F7F7F7000000
0000000000000000000000000000000000000000000000000000F7FFFF00F7FF
FF00F7FFFF00F7FFFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000000084848400C6C6
C600C6C6C600C6C6C60000000000848484000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00000000000000000000000000000000000000000000000000FFFFFF00C6C6
C6009C9C9C00C6C6C600CECECE00C6C6C6006B6B6B00636363006B6B6B00C6C6
C600CECECE00C6C6C6006B6B6B00F7F7F700CECECE0000000000FFFFFF000000
000000000000000000000000000000000000000000000000000000000000F7FF
FF0000000000F7FFFF00F7FFFF00C6C6C600C6DEC600C6C6C600C6DEC600C6C6
C600C6DEC600C6C6C600C6DEC600C6C6C600C6DEC600C6C6C60000000000C6C6
C600C6C6C600C6C6C60000000000848484000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000840000008400000084000000840000008400000084000000
8400000084000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000008400000084000000FF000000840000008400000084000000
FF00000084000000000000000000000000000000000008080800F7F7F700FFFF
FF0094949400FFFFFF00F7F7F700FFFFFF00636363006B6B6B00636363006B6B
6B00636363006B6B6B0063636300FFFFFF00F7F7F70008080800F7F7F7000000
0000000000000000000000000000000000000000000000000000000000000000
0000F7FFFF00C6DEC600C6DEC600F7FFFF00C6C6C600C6C6C600C6C6C600C6C6
C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000008484
8400C6C6C600C6C6C60000000000848484000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000008400000084000000840000008400000084000000
8400000084000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000840000008400000084000000FF00000084000000
8400000084000000000000000000000000000000000000000000080808000000
0000080808000000000008080800000000000808080000000000080808000000
00000808080000000000080808000000000008080800F7F7F700000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000F7FFFF0000000000C6DEC600C6DEC600C6C6C600C6DEC600C6C6
C600C6DEC600C6C6C600C6DEC600C6C6C600C6DEC600C6C6C600C6C6C6000000
000084848400C6C6C60000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000424D3E000000000000003E000000
2800000060000000300000000100010000000000400200000000000000000000
000000000000000000000000FFFFFF00FFFFFFFFFFFFFFFFFF000000FFFFFFFF
FFFFFFFFFF000000FFFFFF8007FF8007FF000000E0000FAAA7FFAAA7FF000000
D3FFC79557FF9557FF000000D00047AAA7FFAAA7FF000000D3FFC78007FF8007
7F000000D00047AAA7FFAAA43F000000D3FFC79557FF95541F000000D00047AA
A7FFAAA43F000000D3FFC78007FF80077F000000D00007AAA7FFAAA7FF000000
D000079557FF9557FF000000D3FF87AAA7FFAAA7FF000000D0004780077F8007
7F000000D00047AAA43FAAA43F000000D0004795541F95541F000000D00047AA
A43FAAA43F000000D0004780077F80077F000000D00047AAA7FFAAA7FF000000
DB80779557FF9557FF000000E0000FAAA7FFAAA7FF000000FFFFFF8007FF8007
FF000000FFFFFFFFFFFFFFFFFF000000F9CE61E739C1FFFFFF800000F18C61C6
31C1FC0001800000F18C73C631E7FD5555800000FFFFF3FFFFF3FE0001800000
FFFFF3FFFFF9FC5005800000FFFFF3FFFFF9C22001800000FFFFE3FFFFD99400
05820000FFFFF7FFFFE3822001800000FFFFFFFFFFFFC00005808000F00007F0
0007820001810000F00007F00007C0000580A000E00007E00007820001800000
E00007E00007C0000580000FC00007C0000782AAA9800007C00007C00007C000
5F80000380000780000780001F800001800007800007C0005F800001C00007C0
000780001F800000F00007F00007C0005FA00000F00007F0000780001F800000
F80007F80007C0005FC80000FFF807FFF80780001FD00000FFFC07FFFC07D555
3FEA0001FFFFFFFFFFFFFFFFFFF0000300000000000000000000000000000000
000000000000}
end
object SaveDlg: TSaveDialog
DefaultExt = 'las'
Filter = 'LAS files|*.las|Any files|*.*'
Left = 400
Top = 2
end
end

298
AddLAS.pas Normal file
Просмотреть файл

@ -0,0 +1,298 @@
unit AddLAS;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, ImgList, ComCtrls, ToolWin, Utils, Common, CLAS, LASView;
const
defFormCaption = 'Add logs from %-s to %-s.';
defPntCountCaption = 'Total read points: ';
type
TfrmAddLAS = class(TForm)
ToolBar1: TToolBar;
sbStatus: TStatusBar;
btnOpenFirst: TToolButton;
btnOpenSecond: TToolButton;
ToolButton3: TToolButton;
btnAddLAS: TToolButton;
OpenDlg: TOpenDialog;
tblSaveDlg: TToolButton;
ImageList1: TImageList;
SaveDlg: TSaveDialog;
ToolButton1: TToolButton;
btnSaveLAS: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
fraLASView1: TfraLASView;
fraLASView2: TfraLASView;
procedure FormShow(Sender: TObject);
procedure FormResize(Sender: TObject);
procedure btnOpenFirstClick(Sender: TObject);
procedure btnOpenSecondClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
{Äîáàâëÿåò äàííûå èç îäíîãî ôàéëà â äðóãîé, äîáàâëÿÿ èõ â êîíåö ñóùåñòâóþùèõ}
procedure btnAddLASClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure tblSaveDlgClick(Sender: TObject);
procedure lvLOGs2DblClick(Sender: TObject);
procedure lvLOGs1DblClick(Sender: TObject);
procedure btnSaveLASClick(Sender: TObject);
procedure FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure lvHeader1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure lvHeader2KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure lvLOGs1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure lvLOGs2KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
public
lf1,
lf2 : TLASFile;
FileNameAs : string;
lf_can_free : BOOL;
las_changed : TCHANGEDFLAG;
function EditLOGparams( var li : TListItem ) : integer;
function InitListView( var lvHeader : TListView;
var lvLOGs : TListView;
var lf : TLASFile ) : integer;
end;
var
frmAddLAS: TfrmAddLAS;
implementation
uses
EditLOGid;
{$R *.DFM}
function TfrmAddLAS.InitListView( var lvHeader : TListView;
var lvLOGs : TListView;
var lf : TLASFile ) : integer;
var
i : integer;
li : TListItem;
begin
try
lvHeader.Items.Clear();
for i := 0 to lf.header.count-1 do begin
li := lvHeader.Items.Add();
li.Caption := lf.header.strings[i];
li.SubItems.Add(lf.header.asString(li.Caption));
end;
lvLOGs.Items.Clear();
for i := 0 to lf.logs.count-1 do begin
li := lvLOGs.Items.Add();
li.Caption := Trim(lf.logs[i]);
li.SubItems.Add(Trim(lf.logs.GetUnit(i)));
li.SubItems.Add(FloatToStr(lf.logs.y(i).min));
li.SubItems.Add(FloatToStr(lf.logs.y(i).max));
end;
result := _OK_;
except
result := _ERROR_;
end;
end;
procedure TfrmAddLAS.FormShow(Sender: TObject);
begin
lf_can_free := false;
OpenDlg.InitialDir := LastFolderPath;
FormResize(Sender);
if lf.logs.Count > 0 then begin
lf1 := lf;
lf_can_free := false;
InitListView( fraLASView1.lvHeader, fraLASView1.lvLOGs, lf1 );
self.Caption := Format( defFormCaption, [lf1.FileName, '???']);
end
else
lf1 := TLASFile.Create();
lf2 := TLASFile.Create();
btnAddLAS.Enabled := false;
end;
procedure TfrmAddLAS.FormResize(Sender: TObject);
begin
fraLASView1.Width := self.ClientWidth div 2;
// fraLASView1.lvHeader.Height := 2 * Panel1.Height div 3;
// fraLASView2.lvHeader.Height := 2 * Panel2.Height div 3;
end;
procedure TfrmAddLAS.btnOpenFirstClick(Sender: TObject);
var
cur : TCursor;
begin
cur := Screen.Cursor;
try
if OpenDlg.Execute() then
try
Screen.Cursor := crHourGlass;
lf1.Clear();
if lf1.ReadFromLAS(OpenDlg.FileName) > 0 then
InitListView(fraLASView1.lvHeader, fraLASView1.lvLOGs, lf1);
self.Caption := Format( defFormCaption, [lf1.FileName, '???']);
btnAddLAS.Enabled := (fraLASView2.lvLOGs.Items.Count > 0) and (fraLASView1.lvLOGs.Items.Count > 0);
except
lf1.Clear();
btnAddLAS.Enabled := false;
end;
finally
Screen.Cursor := cur;
end;
end;
procedure TfrmAddLAS.btnOpenSecondClick(Sender: TObject);
var
cur : TCursor;
begin
cur := Screen.Cursor;
try
if OpenDlg.Execute() then
try
Screen.Cursor := crHourGlass;
lf2.Clear;
if lf2.ReadFromLAS( OpenDlg.FileName ) > 0 then
InitListView( fraLASView2.lvHeader, fraLASView2.lvLOGs, lf2 );
self.Caption := Format( defFormCaption, [lf1.FileName, lf2.FileName]);
btnAddLAS.Enabled := (fraLASView2.lvLOGs.Items.Count > 0) and (fraLASView1.lvLOGs.Items.Count > 0);
except
lf2.Clear;
btnAddLAS.Enabled := false;
end;
finally
Screen.Cursor := cur;
end;
end;
procedure TfrmAddLAS.FormClose(Sender: TObject; var Action: TCloseAction);
begin
lf2.Free;
if lf_can_free then
lf1.Free;
end;
{Äîáàâëåíèå îñóùåñòâëÿåòñÿ ïî ïîðÿäêîâîìó íîìåðó êàðîòàæà}
procedure TfrmAddLAS.btnAddLASClick(Sender: TObject);
var
i : integer;
begin
for i := 0 to lf1.logs.Count-1 do begin
lf1.AddLogData( i, lf2.logs.LOG(i) );
end;
if FileNameAs = '' then
FileNameAs := lf1.FileName;
with lf1 do begin
WriteToLas( FileNameAs );
header.SetValueAsFloat('STRT', logs.y(0).FindMin );
header.SetValueAsFloat('STOP', logs.y(0).FindMax );
end;
InitListView( fraLASView1.lvHeader, fraLASView1.lvLOGs, lf1 );
end;
procedure TfrmAddLAS.FormCreate(Sender: TObject);
begin
FileNameAs := '';
las_changed := [cfNONE];
end;
procedure TfrmAddLAS.tblSaveDlgClick(Sender: TObject);
begin
if SaveDlg.Execute then
FileNameAs := SaveDlg.filename;
end;
function TfrmAddLas.EditLOGparams( var li : TListItem ) : integer;
begin
try
with frmEditLOGid do begin
edLOGid.Text := li.Caption;
edUnit.Text := li.SubItems[0];
edMin.Text := PutDecimalSeparator(li.SubItems[1]);
edMax.Text := PutDecimalSeparator(li.SubItems[2]);
if ShowModal = mrOK then begin
li.Caption := edLOGid.Text;
li.SubItems[0] := edUnit.Text;
li.SubItems[1] := edMin.Text;
li.SubItems[2] := edMax.Text;
result := _OK_;
end
else
result := _ERROR_;
end;
except
result := _ERROR_;
end;
end;
procedure TfrmAddLAS.lvLOGs2DblClick(Sender: TObject);
var
li : TListItem;
begin
li := fraLASView2.lvLOGs.ItemFocused;
btnSaveLAS.Enabled := (EditLOGparams(li) = _OK_);
las_changed := las_changed + [cfSECOND];
end;
procedure TfrmAddLAS.lvLOGs1DblClick(Sender: TObject);
var
li : TListItem;
begin
li := fraLASView1.lvLOGs.ItemFocused;
btnSaveLAS.Enabled := (EditLOGparams(li) = _OK_);
las_changed := las_changed + [cfFirst];
end;
procedure TfrmAddLAS.btnSaveLASClick(Sender: TObject);
begin
if cfFIRST in las_changed then begin
lf1.SaveParameters( fraLASView1.lvHeader, fraLASView1.lvLOGs );
lf1.WriteToLAS( lf1.FileName );
las_changed := las_changed - [cfFIRST];
end
else
if cfSECOND in las_changed then begin
lf2.SaveParameters( fraLASView2.lvHeader, fraLASView2.lvLOGs );
lf2.WriteToLAS( lf2.FileName );
las_changed := las_changed - [cfSECOND];
end;
btnSaveLAS.Enabled := false;
end;
procedure TfrmAddLAS.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (ssCtrl in Shift) and (Key = 83) and btnSaveLAS.Enabled then
btnSaveLASClick(Sender);
end;
procedure TfrmAddLAS.lvHeader1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
FormKeyUp(sender, key, Shift);
end;
procedure TfrmAddLAS.lvHeader2KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
FormKeyUp(sender, key, Shift);
end;
procedure TfrmAddLAS.lvLOGs1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
FormKeyUp(sender, key, Shift);
end;
procedure TfrmAddLAS.lvLOGs2KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
FormKeyUp(sender, key, Shift);
end;
end.

70
AddLogAliace.dfm Normal file
Просмотреть файл

@ -0,0 +1,70 @@
object frmAddNewLOGaliace: TfrmAddNewLOGaliace
Left = 291
Top = 148
Width = 223
Height = 173
Caption = 'Add new aliace'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -10
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object btnOk: TBitBtn
Left = 72
Top = 117
Width = 65
Height = 27
TabOrder = 0
Kind = bkOK
end
object btnCancel: TBitBtn
Left = 143
Top = 117
Width = 66
Height = 27
TabOrder = 1
Kind = bkCancel
end
object GroupBox1: TGroupBox
Left = 7
Top = 7
Width = 202
Height = 104
Caption = ' input aliace and target LOGid '
TabOrder = 2
object Label1: TLabel
Left = 20
Top = 33
Width = 32
Height = 13
Caption = 'source'
end
object Label2: TLabel
Left = 20
Top = 65
Width = 27
Height = 13
Caption = 'target'
end
object edKey: TEdit
Left = 59
Top = 33
Width = 98
Height = 21
TabOrder = 0
Text = 'edKey'
end
object edValue: TEdit
Left = 59
Top = 65
Width = 98
Height = 21
TabOrder = 1
Text = 'edValue'
end
end
end

31
AddLogAliace.pas Normal file
Просмотреть файл

@ -0,0 +1,31 @@
unit AddLogAliace;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TfrmAddNewLOGaliace = class(TForm)
btnOk: TBitBtn;
btnCancel: TBitBtn;
GroupBox1: TGroupBox;
edKey: TEdit;
edValue: TEdit;
Label1: TLabel;
Label2: TLabel;
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmAddNewLOGaliace: TfrmAddNewLOGaliace;
implementation
{$R *.dfm}
end.

445
BaseDlg.dfm Normal file
Просмотреть файл

@ -0,0 +1,445 @@
object frmBaseDlg: TfrmBaseDlg
Left = 419
Top = 178
Caption = 'Change API code in group of files'
ClientHeight = 362
ClientWidth = 495
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -10
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object Panel2: TPanel
Left = 0
Top = 0
Width = 495
Height = 33
Align = alTop
BevelOuter = bvLowered
TabOrder = 0
object Label1: TLabel
Left = 7
Top = 7
Width = 61
Height = 13
Caption = 'Select file list'
end
object deFolder: TEdit
Left = 72
Top = 8
Width = 209
Height = 21
TabOrder = 0
Text = 'deFolder'
end
object btnSelectFolder: TButton
Left = 280
Top = 8
Width = 20
Height = 21
Caption = '...'
TabOrder = 1
OnClick = btnSelectFolderClick
end
end
object Panel1: TPanel
Left = 0
Top = 33
Width = 495
Height = 292
Align = alClient
BevelOuter = bvLowered
TabOrder = 1
object lv: TListView
Left = 1
Top = 1
Width = 493
Height = 290
Align = alClient
Color = 15269887
Columns = <
item
AutoSize = True
Caption = 'Files'
end>
PopupMenu = PopupMenu1
TabOrder = 0
ViewStyle = vsList
end
end
object Panel3: TPanel
Left = 0
Top = 325
Width = 495
Height = 37
Align = alBottom
BevelOuter = bvLowered
TabOrder = 2
object lblFileCount: TLabel
Left = 7
Top = 7
Width = 51
Height = 13
Caption = 'Files done:'
end
object pbProgress: TProgressBar
Left = 7
Top = 20
Width = 241
Height = 14
TabOrder = 0
Visible = False
end
object btnOK: TBitBtn
Left = 267
Top = 7
Width = 65
Height = 26
DoubleBuffered = True
Kind = bkOK
ParentDoubleBuffered = False
TabOrder = 1
end
object btnCancel: TBitBtn
Left = 332
Top = 7
Width = 65
Height = 26
DoubleBuffered = True
Kind = bkCancel
ParentDoubleBuffered = False
TabOrder = 2
end
end
object PopupMenu1: TPopupMenu
Images = PopupMenuImage
Left = 40
Top = 57
object Icon1: TMenuItem
Caption = 'Icon'
ImageIndex = 0
OnClick = Icon1Click
end
object SmallIcon1: TMenuItem
Bitmap.Data = {
66010000424D6601000000000000760000002800000014000000140000000100
040000000000F0000000120B0000120B00001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00777777777777
77777777330077777777777777777777F5FF7774447777744477777700007774
F4700074F4700077F3FF77744777777447777777A40077777777777777777777
F5FF77777777777777777777A5027774447777744477777734007774F4700074
F4700077F5FF77744777777447777777000077777777777777777777F3FF7777
7777777777777777A40077744477777444777777F5FF7774F4700074F4700077
AE0277744777777447777777360077777777777777777777F5FF777777777777
77777777000077777777777777777777F3FF77777777777777777777A6007777
7777777777777777F5FF}
Caption = 'Small Icon'
ImageIndex = 1
OnClick = SmallIcon1Click
end
object List1: TMenuItem
Bitmap.Data = {
66010000424D6601000000000000760000002800000014000000140000000100
040000000000F0000000120B0000120B00001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00777777777777
7777777700007777777777777777777700007777777777777777777700007777
8487777777777777000077774447700000000777000077778487777777777777
0000777777777777777777770000777777777777777777770000777784877777
7777777700007777444770000000077700007777848777777777777700007777
7777777777777777000077777777777777777777000077778487777777777777
0000777744477000000007770000777784877777777777770000777777777777
7777777700007777777777777777777700007777777777777777777700007777
77777777777777770000}
Caption = 'List'
ImageIndex = 2
OnClick = List1Click
end
object Report1: TMenuItem
Caption = 'Report'
ImageIndex = 3
OnClick = Report1Click
end
end
object PopupMenuImage: TImageList
Left = 168
Top = 49
Bitmap = {
494C010104000600040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000002000000001002000000000000020
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000008400
0000840000008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000008400000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000840000008400
0000840000008400000000000000000000000000000000000000000000008400
0000FFFFFF008400000000000000000000000000000000000000000000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00FFFFFF008400000000000000000000000000000000000000000000008400
0000840000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000008400000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00FFFFFF008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00840000008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000840000008400
0000840000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
0000000000000000000000000000000000008400000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000840000008400
0000840000008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00FFFFFF008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00FFFFFF008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00840000008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000084000000840000008400
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000008400000084000000840000008400
0000840000008400000084000000840000008400000084000000840000008400
0000840000008400000084000000840000000000000000000000840000008400
0000840000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000084000000FFFFFF008400
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000084000000840000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000424D3E000000000000003E000000
2800000040000000200000000100010000000000000100000000000000000000
000000000000000000000000FFFFFF0000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000FF81FFFFFFFFFFFFFFFFE3FF1F1F6111
FFC3E23F1111FFFFFFC3E7FF3F3F6111FFC3FFFFFFFFFFFFFFC3FFFFFFFF6111
81C7FF1F1F1FFFFFFFFFFF1111116111C3FFFF3F3F3FFFFFC3FFFFFFFFFF6111
C3FFFFFFFFFFFFFFC3FF8FFF1F1F0000C7FF88FF1111FFFFFFFF9FFF3F3FE111
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000
000000000000}
end
end

111
BaseDlg.pas Normal file
Просмотреть файл

@ -0,0 +1,111 @@
{$DEFINE DEBUG}
unit BaseDlg;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, ComCtrls, StdCtrls, ExtCtrls, Buttons, Mask,
Utils, CLas, Common, Menus, ImgList;
type
TfrmBaseDlg = class(TForm)
Panel2: TPanel;
Panel1: TPanel;
Panel3: TPanel;
lblFileCount: TLabel;
pbProgress: TProgressBar;
lv: TListView;
Label1: TLabel;
btnOK: TBitBtn;
btnCancel: TBitBtn;
PopupMenu1: TPopupMenu;
Icon1: TMenuItem;
SmallIcon1: TMenuItem;
List1: TMenuItem;
Report1: TMenuItem;
PopupMenuImage: TImageList;
deFolder: TEdit;
btnSelectFolder: TButton;
procedure FormShow(Sender: TObject);
procedure Icon1Click(Sender: TObject);
procedure SmallIcon1Click(Sender: TObject);
procedure List1Click(Sender: TObject);
procedure Report1Click(Sender: TObject);
procedure deFolderChange(Sender: TObject);
procedure btnSelectFolderClick(Sender: TObject);
private
protected
public
function SearchFiles() : integer;
end;
implementation
uses
BrowseDir;
{$R *.DFM}
function TfrmBaseDlg.SearchFiles() : integer;
begin
Writeln(logfile, 'APIcode: Create files list');
strlstFile.Clear();
if FFiles(AddBackSlash(deFolder.Text), '*.las', strlstFile)<= 0 then
result := _ERROR_
else
result := _OK_;
lv.AllocBy := strlstFile.Count;
CopyStrListToListView(strlstFile, lv);
lv.Update;
end;
procedure TfrmBaseDlg.FormShow(Sender: TObject);
begin
if strlstFile.Count > 0 then begin
// deFolder.Text := '<<LIST>>';
lv.AllocBy := strlstFile.Count;
CopyStrListToListView(strlstFile, lv);
lv.Update();
end
else
deFolder.Text := ExtractFilePath(LastFolderPath);
end;
procedure TfrmBaseDlg.Icon1Click(Sender: TObject);
begin
lv.ViewStyle := vsIcon;
end;
procedure TfrmBaseDlg.SmallIcon1Click(Sender: TObject);
begin
lv.ViewStyle := vsSmallIcon;
end;
procedure TfrmBaseDlg.List1Click(Sender: TObject);
begin
lv.ViewStyle := vsList;
end;
procedure TfrmBaseDlg.Report1Click(Sender: TObject);
begin
lv.ViewStyle := vsReport;
end;
procedure TfrmBaseDlg.deFolderChange(Sender: TObject);
begin
if deFolder.Text <> '' then
SearchFiles();
end;
procedure TfrmBaseDlg.btnSelectFolderClick(Sender: TObject);
var
path : string;
begin
if BrowseDirectory(path, 'Âûáåðèòå êàòàëîã', 0) then
deFolder.Text := path;
SearchFiles();
end;
end.

355
ChangeLOGid.dfm Normal file
Просмотреть файл

@ -0,0 +1,355 @@
inherited frmChangeLogId: TfrmChangeLogId
Left = 417
Top = 185
Caption = 'Change Log Id'
ClientWidth = 469
OldCreateOrder = True
OnClose = FormClose
ExplicitWidth = 485
ExplicitHeight = 401
PixelsPerInch = 96
TextHeight = 13
inherited Panel2: TPanel
Width = 469
ExplicitWidth = 469
end
inherited Panel1: TPanel
Width = 469
ExplicitWidth = 469
object Splitter1: TSplitter [0]
Left = 234
Top = 1
Height = 290
Align = alRight
ExplicitLeft = 325
end
inherited lv: TListView
Width = 233
Checkboxes = True
FlatScrollBars = True
SmallImages = ImageList1
ViewStyle = vsReport
ExplicitWidth = 233
end
object veLogId: TValueListEditor
Left = 237
Top = 1
Width = 231
Height = 290
Align = alRight
TabOrder = 1
ColWidths = (
101
124)
end
end
inherited Panel3: TPanel
Width = 469
ExplicitWidth = 469
inherited pbProgress: TProgressBar
Width = 222
ExplicitWidth = 222
end
inherited btnOK: TBitBtn
Left = 247
OnClick = BitBtn1Click
ExplicitLeft = 247
end
inherited btnCancel: TBitBtn
Left = 312
ExplicitLeft = 312
end
end
inherited PopupMenu1: TPopupMenu
Left = 152
Top = 81
object Selectall1: TMenuItem
Caption = 'Select all'
ShortCut = 16449
OnClick = Selectall1Click
end
object Deselectall1: TMenuItem
Caption = 'Deselect all'
OnClick = Deselectall1Click
end
end
inherited PopupMenuImage: TImageList
Left = 40
Top = 81
Bitmap = {
494C0101040006000C0010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000002000000001002000000000000020
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000008400
0000840000008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000008400000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000840000008400
0000840000008400000000000000000000000000000000000000000000008400
0000FFFFFF008400000000000000000000000000000000000000000000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00FFFFFF008400000000000000000000000000000000000000000000008400
0000840000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000008400000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00FFFFFF008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00840000008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000840000008400
0000840000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
0000000000000000000000000000000000008400000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000840000008400
0000840000008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00FFFFFF008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00FFFFFF008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00840000008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000084000000840000008400
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000008400000084000000840000008400
0000840000008400000084000000840000008400000084000000840000008400
0000840000008400000084000000840000000000000000000000840000008400
0000840000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000084000000FFFFFF008400
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000084000000840000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000424D3E000000000000003E000000
2800000040000000200000000100010000000000000100000000000000000000
000000000000000000000000FFFFFF0000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000FF81FFFFFFFFFFFFFFFFE3FF1F1F6111
FFC3E23F1111FFFFFFC3E7FF3F3F6111FFC3FFFFFFFFFFFFFFC3FFFFFFFF6111
81C7FF1F1F1FFFFFFFFFFF1111116111C3FFFF3F3F3FFFFFC3FFFFFFFFFF6111
C3FFFFFFFFFFFFFFC3FF8FFF1F1F0000C7FF88FF1111FFFFFFFF9FFF3F3FE111
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000
000000000000}
end
object ImageList1: TImageList
Left = 272
Top = 81
end
end

141
ChangeLOGid.pas Normal file
Просмотреть файл

@ -0,0 +1,141 @@
unit ChangeLOGid;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
BaseDlg, ImgList, Menus, StdCtrls, Buttons, ComCtrls,
ExtCtrls, Utils, Common, CLAS, AnsiStrings, Grids, ValEdit;
type
TfrmChangeLogId = class(TfrmBaseDlg)
ImageList1: TImageList;
Selectall1: TMenuItem;
Deselectall1: TMenuItem;
Splitter1: TSplitter;
veLogId: TValueListEditor;
procedure BitBtn1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Selectall1Click(Sender: TObject);
procedure Deselectall1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmChangeLogId: TfrmChangeLogId;
implementation
uses
preferences;
{$R *.DFM}
procedure TfrmChangeLogId.BitBtn1Click(Sender: TObject);
var
i : integer;
lasfilename : string;
li : TListItem;
las : TLASFile;
cur : TCursor;
path : string;
well : string;
date : string;
begin
inherited;
cur := Screen.Cursor;
Screen.Cursor := crAppStart;
Writeln(logfile, 'Start change LOGid');
if strlstFile.Count = 0 then
if SearchFiles() = _ERROR_ then
exit;
pbProgress.min := 0;
pbProgress.max := strlstFile.Count -1;
pbProgress.Position := pbProgress.min;
las := TLASFile.Create();
try
for i := 0 to strlstFile.Count -1 do begin
lasfilename := strlstFile[i];
path := StripBackSlash(ExtractFilePath(lasfilename));
well := ExtractFileName(path);
li := lv.FindCaption( 0, lasfilename, true, true, true);
Writeln(logfile, Format('Read las file: %s', [lasfilename]));
try
if las.ReadFromLas(lasfilename) = _OK_ then begin
Writeln(logfile, Format('Change LOGid: %s', [lasfilename]));
//çàìåíà ïîëÿ WELL íà èìÿ êàòàëîãà ãäå ëåæèò ôàéë
las.header.SetValue('WELL', well);
//çàìåíà ïîëÿ FLD
las.header.SetValue('FLD', 'NEFTEGORSKOE');
//çàìåíà â ïîëå DATE ñèìâîëîâ "," íà "-"
date := las.header.GetValue('DATE');
date := ReplaceStr(date, ',', '-');
las.header.SetValue('DATE', date);
//Çàìåíà èäåíòèôèêàòîðîâ íà ñòàíäàðòíûå ìíåìîíèêè
las.ChangeLogId(preferences.frmPreferences.leLogId);
Writeln(logfile, Format('Write las file: %s', [lasfilename]));
las.WriteToLasRaw(lasfilename);
end
else
Writeln(logfile, Format('Error, las file: %s skip', [lasfilename]));
finally
las.Clear();
end;
pbProgress.Position := pbProgress.Position + 1;
end;
finally
las.Free;
Screen.Cursor := cur;
end;
end;
procedure TfrmChangeLogId.FormShow(Sender: TObject);
{var
li : TListItem;
i : integer;}
begin
inherited;
if Assigned(preferences.frmPreferences.leLogId.Strings) then
try
veLogId.Strings.AddStrings(preferences.frmPreferences.leLogId.Strings);
{ Ïðè èñïîëüçîâàíèè êîìïîíåíòà ListView èìååòñÿ âîçìîæíîñòü âûáîðà îòäåëüíûõ ýëåìåíòîâ
lvLOGid.AllocBy := strlstLOGid.Count + 1;
for i := 0 to strlstLOGid.Count-1 do begin
li := lvLOGid.Items.Add;
li.Caption := strlstLOGid.Names[i];
li.SubItems.Add(strlstLOGid.Values[li.Caption]);
li.Checked := true;
end;}
except
end;
end;
procedure TfrmChangeLogId.Selectall1Click(Sender: TObject);
var
i : integer;
begin
inherited;
{ for i := 0 to lvLOGid.Items.Count-1 do begin
lv.Items[i].Checked := true;
end;}
end;
procedure TfrmChangeLogId.Deselectall1Click(Sender: TObject);
var
i : integer;
begin
inherited;
{ for i := 0 to lvLOGid.Items.Count-1 do begin
lv.Items[i].Checked := false;
end;}
end;
procedure TfrmChangeLogId.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
end.

848
ChartExport.dfm Normal file
Просмотреть файл

@ -0,0 +1,848 @@
object frmChartExport: TfrmChartExport
Left = 257
Top = 152
Caption = 'frmChartExport'
ClientHeight = 376
ClientWidth = 374
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -10
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
ShowHint = True
OnClose = FormClose
PixelsPerInch = 96
TextHeight = 13
object Label5: TLabel
Left = 150
Top = 59
Width = 7
Height = 13
Caption = 'X'
end
object Label6: TLabel
Left = 150
Top = 78
Width = 7
Height = 13
Caption = 'Y'
end
object ToolBar1: TToolBar
Left = 334
Top = 0
Width = 40
Height = 357
Align = alRight
ButtonHeight = 38
ButtonWidth = 39
Caption = 'ToolBar1'
Images = ImageList1
TabOrder = 1
object btnExportToScript: TToolButton
Left = 0
Top = 0
Hint = 'Save to files...'
Caption = 'btnExportToScript'
ImageIndex = 0
Wrap = True
OnClick = btnExportToScriptClick
end
end
object GroupBox1: TGroupBox
Left = 0
Top = 0
Width = 332
Height = 353
Caption = ' chart box '
TabOrder = 0
object VScale: TLabel
Left = 7
Top = 59
Width = 82
Height = 13
Caption = 'bottom left corner'
end
object Label1: TLabel
Left = 20
Top = 20
Width = 198
Height = 26
Caption =
'enter corner position on AutoCAD drawing'#13#10'(default scale 1:1 - 1' +
' aunit = 1 m)'
end
object Label3: TLabel
Left = 156
Top = 59
Width = 71
Height = 13
Caption = 'top right corner'
end
object Label2: TLabel
Left = 152
Top = 72
Width = 7
Height = 13
Caption = 'X'
end
object Label4: TLabel
Left = 152
Top = 88
Width = 7
Height = 13
Caption = 'Y'
end
object Label7: TLabel
Left = 16
Top = 72
Width = 7
Height = 13
Caption = 'X'
end
object Label8: TLabel
Left = 16
Top = 88
Width = 7
Height = 13
Caption = 'Y'
end
object Label9: TLabel
Left = 8
Top = 272
Width = 16
Height = 13
Caption = 'min'
end
object Label10: TLabel
Left = 8
Top = 288
Width = 19
Height = 13
Caption = 'max'
end
object Label11: TLabel
Left = 8
Top = 312
Width = 20
Height = 13
Caption = 'step'
end
object Label16: TLabel
Left = 240
Top = 72
Width = 8
Height = 13
Caption = 'D'
end
object chkLog: TCheckBox
Left = 208
Top = 272
Width = 111
Height = 13
Caption = 'Logariphm X axis'
TabOrder = 1
end
object GroupBox2: TGroupBox
Left = 13
Top = 128
Width = 313
Height = 137
Caption = ' legend style options '
TabOrder = 0
object Label13: TLabel
Left = 160
Top = 72
Width = 94
Height = 13
Caption = 'single unit to display'
end
object Label14: TLabel
Left = 7
Top = 99
Width = 38
Height = 13
Caption = 'text size'
end
object Label15: TLabel
Left = 8
Top = 64
Width = 42
Height = 13
Caption = 'base line'
end
object Label12: TLabel
Left = 24
Top = 16
Width = 56
Height = 13
Caption = 'legend style'
end
object cbLegendStyle: TComboBox
Left = 24
Top = 32
Width = 150
Height = 21
TabOrder = 0
Text = 'standard (min/max/name)'
Items.Strings = (
'standard (min/max/name)'
'by base (base/max/name)'
'by scale (unit value/name)')
end
object edBaseLine: TEdit
Left = 24
Top = 80
Width = 49
Height = 21
TabOrder = 1
Text = '192'
end
object edUnitValue: TEdit
Left = 160
Top = 88
Width = 97
Height = 21
TabOrder = 2
Text = '25'
end
object edTextScale: TEdit
Left = 24
Top = 112
Width = 49
Height = 21
TabOrder = 3
Text = '1'
end
end
object chkForcedXScale: TCheckBox
Left = 208
Top = 288
Width = 97
Height = 17
Caption = 'Forced X grid'
Enabled = False
TabOrder = 2
end
object edLeft: TEdit
Left = 32
Top = 72
Width = 65
Height = 21
TabOrder = 3
Text = '0'
end
object edBottom: TEdit
Left = 32
Top = 96
Width = 65
Height = 21
TabOrder = 4
Text = '5000'
end
object edRight: TEdit
Left = 168
Top = 72
Width = 57
Height = 21
TabOrder = 5
Text = '50'
end
object edTop: TEdit
Left = 168
Top = 96
Width = 57
Height = 21
TabOrder = 6
Text = '0'
end
object edColDistance: TEdit
Left = 256
Top = 72
Width = 57
Height = 21
TabOrder = 7
Text = '10'
end
object edMin: TEdit
Left = 32
Top = 272
Width = 65
Height = 21
TabOrder = 8
Text = '0.1'
end
object edMax: TEdit
Left = 32
Top = 296
Width = 65
Height = 21
TabOrder = 9
Text = '100'
end
object edStep: TEdit
Left = 32
Top = 320
Width = 65
Height = 21
TabOrder = 10
Text = '1.0'
end
end
object StatusBar1: TStatusBar
Left = 0
Top = 357
Width = 374
Height = 19
Panels = <>
end
object ImageList1: TImageList
Height = 32
Width = 32
Left = 424
Top = 80
Bitmap = {
494C010101000400080020002000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000800000002000000001002000000000000040
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000004242420000000000000000004242420000000000000000000000
0000000000000000000042424200000000000000000000000000424242000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000FF000000FF000000FF000000FF0042424200000000000000
0000000000000000000000FFFF000000FF000000FF000000FF000000FF000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000004242A5004242A5000000FF000000FF0042424200000000000000
0000000000000000000000FFFF000000FF000000FF000000FF00424242000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000004242420042424200000000000000
0000000000000000FF0000FFFF000000FF000000FF000000FF00424242000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000FF000000FF000000000000000000000000004242
420000FFFF0000FFFF0000FFFF0000FFFF000000FF000000FF00000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000FF000000FF00000084000000000000FFFF0000FF
FF0000FFFF000000FF000000000000FFFF0000FFFF0000FFFF00424242000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000042424200000000000000FF000000FF000000FF00424242000000
000000FFFF000000FF000000FF0000FFFF000000FF0042424200000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000424242000000FF000000FF000000FF004242A5000000
000000FFFF0000FFFF0000FFFF0000FFFF000000000000000000424242000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000FF000000FF000000FF000000FF000000
00000000FF000000FF0000FFFF000000FF004242A50000000000000000004242
4200000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000009CFF
FF000000000000000000000000000000FF000000FF000000FF000000FF004242
42000000FF000000FF0000FFFF000000FF00424242000000000000000000DEDE
DE00000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000031EFFF000000
0000F7C6C6000000000000000000000000000000FF000000FF000000FF000000
84000000FF000000FF0000FFFF000000FF004242420000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000009CFFFF0000000000BD8C
8C00CE9C9C00F7C6C60000000000000000000000FF000000FF000000FF000000
FF000000FF000000FF00000000000000FF000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000031EFFF0000000000C6949400CE9C
9C00C6949400CE9C9C00F7C6C60000000000000000000000FF000000FF000000
FF000000FF000000FF0000000000424242000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000009CFFFF0000000000C6949400CE9C9C00C694
9400CE9C9C00C6949400CE9C9C00F7C6C600000000000000FF000000FF000000
FF000000FF000000FF000000FF00424242000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000031EFFF0000000000C6949400CE9C9C00C6949400CE9C
9C00C6949400CE9C9C00C6949400CE9C9C00F7C6C600000000000000FF000000
FF000000FF000000FF000000FF00000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000009CFFFF0000000000633131006B393900633131006B393900B594
9400CE9C9C00F7C6C6006B393900633131006B39390063313100000000000000
FF000000FF000000FF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000031EFFF009CFFFF0031EFFF009CFFFF0031EFFF0000000000C69C
9C00C6949400FFCECE000000000031EFFF009CFFFF0031EFFF009CFFFF000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000B594
9400CE9C9C00F7C6C60000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000EFEFEF0000000000C6C6C600CECECE00C6C6C600CECECE0000000000C69C
9C00C6949400FFCECE0000000000CECECE00C6C6C600CECECE00C6C6C6000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000031EFFF009C9C9C00949494009C9C9C009494940000000000B594
9400CE9C9C00F7C6C60000000000949494009C9C9C0094949400CECECE000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000009CFFFF00949494009C9C9C00949494009C9C9C00000000000000
00000000000000000000000000009C9C9C00949494009C9C9C00C6C6C6000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000031EFFF009C9C9C00949494009C9C9C00949494009C9C9C009494
94009C9C9C00949494009C9C9C00949494009C9C9C0094949400CECECE000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000009CFFFF00949494009C9C9C00949494009C9C9C00949494009C9C
9C00949494009C9C9C00949494009C9C9C00949494009C9C9C00C6C6C6000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000031EFFF009CFFFF0031EFFF009CFFFF0031EFFF009CFFFF0031EF
FF009CFFFF009CFFFF0031EFFF009CFFFF009CFFFF009CFFFF0031EFFF000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000424D3E000000000000003E000000
2800000080000000200000000100010000000000000200000000000000000000
000000000000000000000000FFFFFF00FFFFFFFF000000000000000000000000
FFFFFFFF000000000000000000000000FFFFFFFF000000000000000000000000
FFFFFFFF000000000000000000000000FFF87C1F000000000000000000000000
FFF83C1F000000000000000000000000FFF83C1F000000000000000000000000
FFFF381F000000000000000000000000FFFCE03F000000000000000000000000
FFFC001F000000000000000000000000FFFA103F000000000000000000000000
FFFC10DF000000000000000000000000FFFE106F000000000000000000000000
FFEE006F000000000000000000000000FFD7007F000000000000000000000000
FFA300FF000000000000000000000000FF4180FF000000000000000000000000
FE8080FF000000000000000000000000FD0041FF000000000000000000000000
FA0023FF000000000000000000000000F8221FFF000000000000000000000000
FFE3FFFF000000000000000000000000F4221FFF000000000000000000000000
F8221FFF000000000000000000000000F83E1FFF000000000000000000000000
F8001FFF000000000000000000000000F8001FFF000000000000000000000000
F8001FFF000000000000000000000000FFFFFFFF000000000000000000000000
FFFFFFFF000000000000000000000000FFFFFFFF000000000000000000000000
FFFFFFFF00000000000000000000000000000000000000000000000000000000
000000000000}
end
object SaveDlg: TSaveDialog
DefaultExt = 'scr'
Filter = 'AutoCAD script |*.scr|Any files|*.*'
Title = 'Select file to write grid'
Left = 424
Top = 48
end
end

186
ChartExport.pas Normal file
Просмотреть файл

@ -0,0 +1,186 @@
unit ChartExport;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, ComCtrls, Utils, xGraf, cLAS, xSeries,
StdCtrls, Types, PainterBox, ToolWin;
type
TfrmChartExport = class(TForm)
ToolBar1: TToolBar;
btnExportToScript: TToolButton;
ImageList1: TImageList;
SaveDlg: TSaveDialog;
GroupBox1: TGroupBox;
VScale: TLabel;
Label1: TLabel;
Label3: TLabel;
StatusBar1: TStatusBar;
Label2: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
chkLog: TCheckBox;
GroupBox2: TGroupBox;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
cbLegendStyle: TComboBox;
Label12: TLabel;
chkForcedXScale: TCheckBox;
edLeft: TEdit;
edBottom: TEdit;
edRight: TEdit;
edTop: TEdit;
edColDistance: TEdit;
edBaseLine: TEdit;
edUnitValue: TEdit;
edTextScale: TEdit;
edMin: TEdit;
edMax: TEdit;
edStep: TEdit;
procedure btnExportToScriptClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
PaintBox : TPainterBox;
function Init(var _PaintBox : TPainterBox) : integer;
end;
var
frmChartExport: TfrmChartExport;
implementation
uses
AScript;
{$R *.dfm}
procedure TfrmChartExport.btnExportToScriptClick(Sender: TObject);
var
f : TextFile;
ColDistance,
j,
i : integer;
ser : TSeries;
r, //ïðÿìîóãîëüíèê äëÿ ðèñîâàíèÿ îäíîé êîëîíêè
rect : TRect;
graf : TxGraf;
fileext,
filepath,
colname,
filenamestd,
base_filename,
filename : string;
_OwneredY: boolean;
begin
Cursor := crHourGlass;
try
ColDistance := StrToInt(edColDistance.Text);
if SaveDlg.Execute() then begin
for j := 1 to PaintBox.Columns.Count-1 do begin
//íàçâàíèå êîëîíêè
colname := PaintBox.Columns[j].Graf.filename;
filepath:= ExtractFilePath(SaveDlg.FileName);
base_filename := ExtractFileNameEx(SaveDlg.FileName, false);
fileext := ExtractFileExt(SaveDlg.FileName);
filenamestd := filepath + base_filename + '.' + colname;
//òåêóùàÿ êîëîíêà
graf := PaintBox.Columns[j].Graf;
//íàñòðîéêà ðàçìåðîâ
graf.rRect := Types.Rect(Round(StrToFloat(edLeft.Text) + (j-1) * ColDistance), StrToInt(edTop.Text),
Round(StrToFloat(edLeft.Text) + StrToFloat(edRight.Text) + (j-1) * ColDistance), StrToInt(edBottom.Text));
graf.vRect := graf.rRect;
//çàïîìèíàåì ñîñòîÿíèå
with graf do begin
_OwneredY := OwneredY;
OwneredY := false;
if chkForcedXScale.Checked then begin
{ RescaleY();
//Ïî îñè Õ èñïîëüçîâàòü óêàçàííûé ïîëüçîâàòåëåì ìàñøòàá
Xmin := edMin.Value;
Xmax := edMax.Value;
RescaleX();}
end else
AutoScale();
//âîññòàíàâëèâàåì ñîñòîÿíèå
OwneredY := _OwneredY;
end;
//plot depth axis
filename:= filenamestd + fileext;
graf.DrawYAxisToFile( filename );
//plot value axis
if chkLOG.Checked then
graf.DrawXAxisToFile( filenamestd + '.xGrid.scr', asLOG, StrToFloat(edMin.Text), StrToFloat(edMax.Text),
StrToFloat(edStep.Text), 'iLabel' )
else
graf.DrawXAxisToFile( filenamestd + '.xGrid.scr', asLINE, 0, 0, 0, 'iLabel' );
//legend rect
rect.Bottom := graf.rRect.Top;
rect.Top := rect.Bottom + 50;
rect.Left := graf.rRect.Left;
rect.Right := graf.rRect.Right;
//plot legends
for i := 0 to graf.Series.Count-1 do begin
ser := graf.Series[i];
filename := filenamestd + '.' + ser.name + '.lgnd' + '.scr';
AssignFile( f, filename );
try
rewrite( f );
case cbLegendStyle.ItemIndex of
// 0: AS_LOGlegend( f, ser.name, FloatToStr( ser.Xmin ), FloatToStr( ser.Xmax ), edTextScale.Value, 1, rect );
1: AS_LogLegendByBase(f, ser.name, ser.aUnit, StrToFloat(edBaseLine.Text), graf.Xmax, ser.ax, ser.bx, rect.Top, rect.Bottom, StrToFloat(edTextScale.Text));
2: AS_LogLegendForSP(f, ser.name, ser.aUnit, rect.Left, StrToFloat(edUnitValue.Text), ser.ax, rect.Top, rect.Bottom, StrToFloat(edTextScale.Text));
else
AS_Loglegend(f, ser.name, FloatToStr(ser.Xmin), FloatToStr(ser.Xmax), StrToFloat(edTextScale.Text), 1, rect);
end;
finally
CloseFile( f );
end;
filename := filenamestd + '.' + ser.name + '.scr';
//plot chart
graf.DrawToFile( filename, ser, graf.rRect.Bottom, graf.rRect.Top );
end;
end;
end;
finally
Cursor := crDefault;
end;
end;
function TfrmChartExport.Init(var _PaintBox : TPainterBox) : integer;
var
graf : TxGraf;
begin
result := _ERROR_;
if not Assigned(_PaintBox) then
exit;
PaintBox := _PaintBox;
graf := PaintBox.Columns[1].Graf;
edTop.Text := FloatToStr(PaintBox.DepthColumn.Graf.Ymax);
edBottom.Text := FloatToStr(PaintBox.DepthColumn.Graf.Ymin);
if graf.XAxisStyle = asLog then begin
//Äëÿ ëîãàðèôìè÷ ìàñøòàáà óñòàíàâëèâàåì çíà÷åíèÿ íà ôîðìå
chkLog.Checked := true;
edMin.Text := FloatToStr(graf.Xmin);
edMax.Text := FloatToStr(graf.Xmax);
end;
result := _OK_;
end;
procedure TfrmChartExport.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
end.

189
ChartHeaderInfo.dfm Normal file
Просмотреть файл

@ -0,0 +1,189 @@
object frmChartHeaderInfo: TfrmChartHeaderInfo
Left = 741
Top = 280
BorderStyle = bsDialog
Caption = 'INFO'
ClientHeight = 258
ClientWidth = 306
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -10
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnKeyUp = FormKeyUp
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object GroupBox1: TGroupBox
Left = 7
Top = 7
Width = 293
Height = 215
Caption = ' LOG parameters '
TabOrder = 0
object Label1: TLabel
Left = 189
Top = 20
Width = 30
Height = 13
Caption = 'LOGid'
end
object Label2: TLabel
Left = 189
Top = 46
Width = 19
Height = 13
Caption = 'Unit'
end
object Label3: TLabel
Left = 14
Top = 20
Width = 16
Height = 13
Caption = 'min'
end
object Label4: TLabel
Left = 14
Top = 46
Width = 19
Height = 13
Caption = 'max'
end
object Label7: TLabel
Left = 33
Top = 117
Width = 24
Height = 13
Caption = 'Color'
end
object Label8: TLabel
Left = 7
Top = 169
Width = 49
Height = 13
Caption = 'Thickness'
end
object Label5: TLabel
Left = 33
Top = 143
Width = 23
Height = 13
Caption = 'Style'
end
object edLOGid: TEdit
Left = 222
Top = 20
Width = 65
Height = 21
Hint = #1048#1076#1077#1085#1090#1080#1092#1080#1082#1072#1090#1086#1088' '#1082#1072#1088#1086#1090#1072#1078#1072
Color = clInfoBk
Enabled = False
ParentShowHint = False
ShowHint = True
TabOrder = 0
Text = 'edLOGid'
OnKeyUp = FormKeyUp
end
object edUnit: TEdit
Left = 222
Top = 46
Width = 65
Height = 21
Hint = #1045#1076#1080#1085#1080#1094#1072' '#1080#1079#1084#1077#1088#1077#1085#1080#1103
Color = clInfoBk
Enabled = False
ParentShowHint = False
ShowHint = True
TabOrder = 1
Text = 'edUnit'
OnKeyUp = FormKeyUp
end
object chkLOGAxisStyle: TCheckBox
Left = 65
Top = 195
Width = 157
Height = 14
Caption = 'Logariphm axis'
Enabled = False
TabOrder = 2
OnKeyUp = FormKeyUp
end
object cbLineStyle: TLineStyleComboBox
Left = 65
Top = 143
Width = 144
Hint = #1057#1090#1080#1083#1100' '#1083#1080#1085#1080#1080
LineStyle = psSolid
MaxLineStyle = psClear
ParentShowHint = False
ShowHint = True
TabOrder = 3
OnKeyUp = FormKeyUp
end
object cbLineWidth: TLineWidthComboBox
Left = 65
Top = 169
Width = 144
Hint = #1058#1086#1083#1097#1080#1085#1072' '#1083#1080#1085#1080#1080
ParentShowHint = False
ShowHint = True
TabOrder = 4
OnKeyUp = FormKeyUp
end
object chkAutoScale: TCheckBox
Left = 120
Top = 20
Width = 49
Height = 17
Caption = 'auto'
Checked = True
State = cbChecked
TabOrder = 5
OnKeyUp = FormKeyUp
end
object edMin: TEdit
Left = 40
Top = 24
Width = 73
Height = 21
TabOrder = 6
Text = '0.0'
end
object edMax: TEdit
Left = 40
Top = 48
Width = 73
Height = 21
TabOrder = 7
Text = '0.0'
end
object cbLineColour: TxColorBox
Left = 63
Top = 115
Width = 145
Height = 22
TabOrder = 8
OnKeyUp = FormKeyUp
end
end
object btnOK: TBitBtn
Left = 163
Top = 228
Width = 65
Height = 26
Kind = bkOK
NumGlyphs = 2
TabOrder = 1
end
object btnCancel: TBitBtn
Left = 234
Top = 228
Width = 66
Height = 26
Kind = bkCancel
NumGlyphs = 2
TabOrder = 2
end
end

150
ChartHeaderInfo.pas Normal file
Просмотреть файл

@ -0,0 +1,150 @@
unit ChartHeaderInfo;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, xSeries, xGraf, Buttons, ExtCtrls, Mask, DrawComboBox,
GrafHead, PainterBox, xColorBox;
type
TfrmChartHeaderInfo = class(TForm)
GroupBox1: TGroupBox;
edLOGid: TEdit;
Label1: TLabel;
edUnit: TEdit;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
btnOK: TBitBtn;
Label7: TLabel;
btnCancel: TBitBtn;
Label8: TLabel;
chkLOGAxisStyle: TCheckBox;
cbLineStyle: TLineStyleComboBox;
cbLineWidth: TLineWidthComboBox;
Label5: TLabel;
chkAutoScale: TCheckBox;
edMin: TEdit;
edMax: TEdit;
cbLineColour: TxColorBox;
procedure FormShow(Sender: TObject);
procedure FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
ColNo,
SeriesNo : integer;
Series : TSeries;
function Init( Sender : TLogLegendButton; PainterBox : TPainterBox ) : integer;
function Finish( Sender : TLogLegendButton; PainterBox : TPainterBox ) : integer;
end;
var
frmChartHeaderInfo: TfrmChartHeaderInfo;
implementation
uses
utils;
const
STRT_CAPTION = 'STRT:';
STOP_CAPTION = 'STOP:';
{$R *.DFM}
function TfrmChartHeaderInfo.Init(Sender : TLogLegendButton; PainterBox : TPainterBox) : integer;
begin
ColNo := GetColumnNoFromTag(Sender.Tag);
SeriesNo := GetSeriesNoFromTag(Sender.Tag);
try
series := PainterBox.Columns[ColNo].Graf.Series[SeriesNo];
edLOGid.Text := series.name;
edUnit.Text := series.aUnit;
edMin.Text := FloatToStr(series.Xmin);
edMax.Text := FloatToStr(series.Xmax);
cbLineColour.Selected := series.Colour;
cbLineStyle.LineStyle := series.PenStyle;
cbLineWidth.LineWidth := series.PenWidth;
chkAutoScale.Checked := series.XAutoScale;
except
edLOGid.Text := 'ERROR';
edUnit.Text := 'ERROR';
edMin.Text := '0.0';
edMax.Text := '0.0';
cbLineColour.Selected := 1;
cbLineStyle.LineStyle := psSolid;
cbLineWidth.LineWidth := 1;
chkAutoScale.Checked := true;
end;
result := _OK_;
end;
function TfrmChartHeaderInfo.Finish( Sender : TLogLegendButton; PainterBox : TPainterBox ) : integer;
begin
try
//Íàñòðàèâàåì êàðîòàæíóþ êðèâóþ
with series do begin
Colour := cbLineColour.Selected;
Xmin := StrToFloat(edMin.Text);
Xmax := StrToFloat(edMax.Text);
PenWidth := cbLineWidth.LineWidth;
PenStyle := cbLineStyle.LineStyle;
XAutoScale := chkAutoScale.Checked;
if XAutoScale then
FindMinMax(); //äëÿ àâòîñêåéëà îïðåäåëÿåì çàíîâî ìèí/ìàêñ
end;
//Íàñòðàèâàåì ãðàôèê â öåëîì
with PainterBox.Columns[ColNo] do begin
Graf.InitXMinMax(StrToFloat(edMin.Text), StrToFloat(edMax.Text));
if Graf.XGlobalScale then begin //Äëÿ ëîãàðèôì øêàëû ìàñøòàá ïî X îäèí íà âñåõ
graf.Xmax := series.Xmax;
graf.Xmin := series.Xmin;
end;
graf.ReScaleX(); //ìàñøòàáèðîâàíèå ïî îñè X
end;
except;
end;
//Íàñòðàèâàåì êíîïêó
with Sender do begin
LineColour := series.Colour;
PenStyle := series.PenStyle;
PenWidth := series.PenWidth;
//èçìåíÿåì íàäïèñü íà êíîïêå
MinValue := Format('%4.3g',[series.Xmin]);
MaxValue := Format('%4.3g',[series.Xmax]);
Invalidate();
end;
result := _OK_;
end;
procedure TfrmChartHeaderInfo.FormShow(Sender: TObject);
begin
if not Assigned(series) then
exit;
try
edLOGid.Text := series.name;
edUnit.Text := series.aUnit;
edMin.Text := FloatToStr(series.Xmin);
edMax.Text := FloatToStr(series.Xmax);
cbLineColour.Selected := series.Colour;
cbLineStyle.LineStyle := series.PenStyle;
cbLineWidth.LineWidth := series.PenWidth;
except
edLOGid.Text := 'ERROR';
edUnit.Text := 'ERROR';
edMin.Text := '0.0';
edMax.Text := '0.0';
cbLineColour.Selected := 1;
cbLineStyle.LineStyle := psSolid;
cbLineWidth.LineWidth := 1;
end;
end;
procedure TfrmChartHeaderInfo.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if Key = VK_ESCAPE then
Close;
end;
end.

268
ChartPref.dfm Normal file
Просмотреть файл

@ -0,0 +1,268 @@
object frmChartPref: TfrmChartPref
Left = 267
Top = 153
Caption = 'Chart preferences'
ClientHeight = 259
ClientWidth = 322
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -10
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object GroupBox1: TGroupBox
Left = 7
Top = 7
Width = 306
Height = 210
Caption = ' options '
TabOrder = 0
object Label1: TLabel
Left = 176
Top = 8
Width = 20
Height = 13
Caption = 'start'
end
object Label2: TLabel
Left = 176
Top = 32
Width = 20
Height = 13
Caption = 'stop'
end
object Label3: TLabel
Left = 176
Top = 56
Width = 20
Height = 13
Caption = 'step'
end
object Label4: TLabel
Left = 176
Top = 80
Width = 51
Height = 13
Caption = 'Tick count'
end
object Label8: TLabel
Left = 8
Top = 56
Width = 23
Height = 13
Caption = 'Xmin'
end
object Label9: TLabel
Left = 8
Top = 80
Width = 26
Height = 13
Caption = 'Xmax'
end
object Label10: TLabel
Left = 8
Top = 116
Width = 63
Height = 13
Caption = 'Column width'
end
object chkGlobalScale: TCheckBox
Left = 7
Top = 21
Width = 156
Height = 14
Caption = 'Common scale for all series'
TabOrder = 0
OnClick = chkGlobalScaleClick
OnKeyUp = chkGlobalScaleKeyUp
end
object GroupBox2: TGroupBox
Left = 176
Top = 109
Width = 113
Height = 92
Caption = ' depth scale '
TabOrder = 1
object Label5: TLabel
Left = 7
Top = 43
Width = 16
Height = 13
Caption = 'mm'
end
object Label6: TLabel
Left = 72
Top = 43
Width = 8
Height = 13
Caption = 'm'
end
object Label7: TLabel
Left = 52
Top = 56
Width = 6
Height = 13
Caption = '='
end
object cbDepthScale: TComboBox
Left = 7
Top = 20
Width = 98
Height = 21
TabOrder = 0
Text = '1:500'
OnChange = cbDepthScaleChange
Items.Strings = (
'1:100'
'1:200'
'1:500'
'1:1000'
'1:5000'
'1:10000'
'Custom')
end
object edMMScale: TEdit
Left = 7
Top = 56
Width = 33
Height = 21
TabOrder = 1
Text = '2'
OnChange = edMMScaleChange
end
object edMScale: TEdit
Left = 72
Top = 56
Width = 33
Height = 21
TabOrder = 2
Text = '1'
end
end
object chkAutoScale: TCheckBox
Left = 112
Top = 56
Width = 57
Height = 17
Caption = 'auto'
TabOrder = 2
end
object edTickCount: TEdit
Left = 232
Top = 80
Width = 56
Height = 21
Enabled = False
TabOrder = 3
Text = '0'
end
object edStrt: TJvValidateEdit
Left = 232
Top = 8
Width = 56
Height = 19
Flat = True
ParentFlat = False
CriticalPoints.MaxValueIncluded = False
CriticalPoints.MinValueIncluded = False
TabOrder = 4
OnValueChanged = edStrtChange
end
object edStop: TJvValidateEdit
Tag = 1
Left = 232
Top = 32
Width = 56
Height = 19
Flat = True
ParentFlat = False
CriticalPoints.MaxValueIncluded = False
CriticalPoints.MinValueIncluded = False
EditText = '5000'
MaxValue = 5000.000000000000000000
TabOrder = 5
OnValueChanged = edStrtChange
end
object edStep: TJvValidateEdit
Tag = 2
Left = 232
Top = 56
Width = 56
Height = 19
Flat = True
ParentFlat = False
CriticalPoints.MaxValueIncluded = False
CriticalPoints.MinValueIncluded = False
TabOrder = 6
OnValueChanged = edStrtChange
end
object edXmin: TJvValidateEdit
Left = 40
Top = 55
Width = 65
Height = 19
Flat = True
ParentFlat = False
CriticalPoints.MaxValueIncluded = False
CriticalPoints.MinValueIncluded = False
DisplayFormat = dfFloatGeneral
EditText = '1'
TabOrder = 7
end
object edXmax: TJvValidateEdit
Left = 40
Top = 80
Width = 65
Height = 19
Flat = True
ParentFlat = False
CriticalPoints.MaxValueIncluded = False
CriticalPoints.MinValueIncluded = False
DisplayFormat = dfFloat
EditText = '10'
TabOrder = 8
end
object edColumnWidth: TJvValidateEdit
Left = 40
Top = 129
Width = 65
Height = 19
Flat = True
ParentFlat = False
CriticalPoints.MaxValueIncluded = False
CriticalPoints.MinValueIncluded = False
EditText = '325'
TabOrder = 9
end
end
object btnCancel: TBitBtn
Left = 247
Top = 222
Width = 66
Height = 27
Kind = bkCancel
NumGlyphs = 2
TabOrder = 1
end
object btnOk: TBitBtn
Left = 176
Top = 222
Width = 67
Height = 27
Kind = bkOK
NumGlyphs = 2
TabOrder = 2
OnClick = btnOkClick
end
object JvFormStorage1: TJvFormStorage
AppStorage = frmMain.JvAppIniFileStorage1
AppStoragePath = '%FORM_NAME%\'
StoredValues = <>
Left = 16
Top = 176
end
end

204
ChartPref.pas Normal file
Просмотреть файл

@ -0,0 +1,204 @@
unit ChartPref;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, Utils, PainterBox, JvExStdCtrls, JvEdit,
JvValidateEdit, xGraf, JvComponentBase, JvFormPlacement;
type
TfrmChartPref = class(TForm)
GroupBox1: TGroupBox;
btnCancel: TBitBtn;
chkGlobalScale: TCheckBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
btnOk: TBitBtn;
Label4: TLabel;
GroupBox2: TGroupBox;
cbDepthScale: TComboBox;
edMMScale: TEdit;
Label5: TLabel;
edMScale: TEdit;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
chkAutoScale: TCheckBox;
edTickCount: TEdit;
edStrt: TJvValidateEdit;
edStop: TJvValidateEdit;
edStep: TJvValidateEdit;
edXmin: TJvValidateEdit;
edXmax: TJvValidateEdit;
edColumnWidth: TJvValidateEdit;
Label10: TLabel;
JvFormStorage1: TJvFormStorage;
procedure FormCreate(Sender: TObject);
procedure edStrtChange(Sender: TObject);
procedure cbDepthScaleChange(Sender: TObject);
procedure edMMScaleChange(Sender: TObject);
procedure chkGlobalScaleClick(Sender: TObject);
procedure chkGlobalScaleKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure btnOkClick(Sender: TObject);
private
procedure SetTextControlByScale(scale: Double);
{ Private declarations }
public
DepthScaleFactor : double;
function Init(const PainterBox : TPainterBox) : integer;
function Finish(const PainterBox : TPainterBox) : integer;
function SetScaleFactor(scale : double) : integer;
end;
var
frmChartPref: TfrmChartPref;
implementation
{$R *.DFM}
uses
main;
//Create form and load default settings
procedure TfrmChartPref.FormCreate(Sender: TObject);
begin
end;
//Save default settings
function TfrmChartPref.Init(const PainterBox : TPainterBox ) : integer;
begin
result := _ERROR_;
if PainterBox.Columns.Count <= 1 then
exit;
with PainterBox.Columns[1].Graf do begin
chkGlobalScale.Checked := XGlobalScale;
chkAutoScale.Checked := XAutoScale;
edXmin.Enabled := chkGlobalScale.Checked;
edXMax.Enabled := chkGlobalScale.Checked;
edXmin.Value := Xmin;
edXmax.Value := Xmax;
edColumnWidth.Value := PainterBox.Columns[1].Width;
end;
with PainterBox.DepthColumn.Graf do begin
edStrt.Value := Round(-Ymax);
edStop.Value := Round(-Ymin);
edStep.Value := Round(abs(Ymax - Ymin)/numYMajorTicks);
edTickCount.Text := FloatToStr(numYMajorTicks);
SetScaleFactor(ScaleFactor);
end;
result := _OK_;
end;
function TfrmChartPref.Finish(const PainterBox : TPainterBox ) : integer;
var
i : integer;
begin
with PainterBox do begin
for i := 0 to Columns.Count-1 do begin
Columns[i].Graf.XGlobalScale := chkGlobalScale.Checked;
Columns[i].Graf.XAutoScale := chkAutoScale.Checked;
if not chkAutoScale.Checked then begin
Columns[i].Graf.Xmin := StrToFloat(edXmin.Text);
Columns[i].Graf.Xmax := StrToFloat(edXmax.Text);
Columns[i].Graf.RescaleX();
end;
if i > 0 then begin
Columns[i].Width := edColumnWidth.Value;
with Columns[i] do begin
// graf.ScaleFactor := ScaleFactor;
// graf.Ymax := Strt;
// graf.Ymin := Stop;
// graf.numYMajorTicks := Round((Strt-Stop)/DepthLabelStep);
graf.rRect.Right := graf.rRect.Left + Columns[i].Width;
graf.Resize(graf.rRect);
graf.RescaleX();
graf.RescaleY();
end;
end;
end;
// PainterBox.Columns[1].Width := edColumnWidth.Value;
SetColumnHeight(DepthScaleFactor, -edStrt.Value, -edStop.Value, edStep.Value);
end;
result := _OK_;
end;
procedure TfrmChartPref.edStrtChange(Sender: TObject);
begin
if edStep.Value <> 0 then
edTickCount.Text := IntToStr(Round((edStop.Value - edStrt.Value)/edStep.Value));
end;
function TfrmChartPref.SetScaleFactor(scale : double) : integer;
begin
DepthScaleFactor := scale;
SetTextControlByScale(scale);
if scale = svScaleValue100 then
cbDepthScale.ItemIndex := 0
else if scale = svScaleValue200 then
cbDepthScale.ItemIndex := 1
else if scale = svScaleValue500 then
cbDepthScale.ItemIndex := 2
else if scale = svScaleValue1000 then
cbDepthScale.ItemIndex := 3
else if scale = svScaleValue5000 then
cbDepthScale.ItemIndex := 4
else if scale = svScaleValue10000 then
cbDepthScale.ItemIndex := 5;
result := _OK_;
end;
procedure TfrmChartPref.SetTextControlByScale(scale: Double);
begin
edMMScale.Text := Format('%-4.1f', [scale]);
edMScale.Text := '1';
end;
procedure TfrmChartPref.btnOkClick(Sender: TObject);
begin
if edStrt.Value > edStop.Value then
ModalResult := mrCancel;
end;
procedure TfrmChartPref.cbDepthScaleChange(Sender: TObject);
begin
SetTextControlByScale(ScaleValueArray[TScaleIndex(cbDepthScale.ItemIndex)]);
end;
procedure TfrmChartPref.edMMScaleChange(Sender: TObject);
var
mmScale,
mScale : double;
begin
try
mmScale := StrToFloat(edMMScale.Text);
except
MessageDlg( 'No valid float point number: '+edMMScale.Text, mtError, [mbOK], 0 );
cbDepthScale.ItemIndex := 1;
exit;
end;
try
mScale := StrToFloat(edMScale.Text);
except
MessageDlg( 'No valid float point number: '+edMScale.Text, mtError, [mbOK], 0 );
cbDepthScale.ItemIndex := 1;
exit;
end;
DepthScaleFactor := mmScale / mScale;
end;
procedure TfrmChartPref.chkGlobalScaleClick(Sender: TObject);
begin
edXmin.Enabled := chkGlobalScale.Checked;
edXMax.Enabled := chkGlobalScale.Checked;
end;
procedure TfrmChartPref.chkGlobalScaleKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
edXmin.Enabled := chkGlobalScale.Checked;
edXMax.Enabled := chkGlobalScale.Checked;
end;
end.

311
CreateLas.dfm Normal file
Просмотреть файл

@ -0,0 +1,311 @@
object frmCreateLAS: TfrmCreateLAS
Left = 275
Top = 169
Caption = 'Create new LAS file'
ClientHeight = 367
ClientWidth = 383
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -10
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnClose = FormClose
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object GroupBox1: TGroupBox
Left = 7
Top = 7
Width = 371
Height = 325
Caption = ' Well info '
TabOrder = 0
object Label1: TLabel
Left = 7
Top = 299
Width = 45
Height = 13
Caption = 'File name'
end
object btnSelectFile: TSpeedButton
Left = 336
Top = 296
Width = 23
Height = 22
OnClick = btnSelectFileClick
end
object edCOMP: TLabeledEdit
Left = 312
Top = 26
Width = 52
Height = 21
EditLabel.Width = 44
EditLabel.Height = 13
EditLabel.Caption = 'Company'
LabelPosition = lpLeft
TabOrder = 10
end
object edWELLid: TLabeledEdit
Left = 59
Top = 26
Width = 52
Height = 21
EditLabel.Width = 38
EditLabel.Height = 13
EditLabel.Caption = 'WELLid'
LabelPosition = lpLeft
TabOrder = 0
OnExit = edWELLidExit
end
object edDate: TLabeledEdit
Left = 59
Top = 46
Width = 52
Height = 21
EditLabel.Width = 23
EditLabel.Height = 13
EditLabel.Caption = 'Date'
LabelPosition = lpLeft
TabOrder = 1
end
object edAPI: TLabeledEdit
Left = 59
Top = 65
Width = 52
Height = 21
EditLabel.Width = 17
EditLabel.Height = 13
EditLabel.Caption = 'API'
LabelPosition = lpLeft
TabOrder = 2
end
object edUWI: TLabeledEdit
Left = 59
Top = 85
Width = 52
Height = 21
EditLabel.Width = 22
EditLabel.Height = 13
EditLabel.Caption = 'UWI'
LabelPosition = lpLeft
TabOrder = 3
end
object edWELLno: TLabeledEdit
Left = 59
Top = 104
Width = 52
Height = 21
EditLabel.Width = 36
EditLabel.Height = 13
EditLabel.Caption = 'Well no'
LabelPosition = lpLeft
TabOrder = 4
end
object edFLD: TLabeledEdit
Left = 59
Top = 124
Width = 52
Height = 21
EditLabel.Width = 33
EditLabel.Height = 13
EditLabel.Caption = 'Field id'
LabelPosition = lpLeft
TabOrder = 5
end
object edSTRT: TLabeledEdit
Left = 176
Top = 26
Width = 52
Height = 21
EditLabel.Width = 29
EditLabel.Height = 13
EditLabel.Caption = 'STRT'
LabelPosition = lpLeft
TabOrder = 6
end
object edSTOP: TLabeledEdit
Left = 176
Top = 46
Width = 52
Height = 21
EditLabel.Width = 29
EditLabel.Height = 13
EditLabel.Caption = 'STOP'
LabelPosition = lpLeft
TabOrder = 7
end
object edNULL: TLabeledEdit
Left = 176
Top = 65
Width = 52
Height = 21
EditLabel.Width = 28
EditLabel.Height = 13
EditLabel.Caption = 'NULL'
LabelPosition = lpLeft
TabOrder = 8
end
object edSTEP: TLabeledEdit
Left = 176
Top = 85
Width = 52
Height = 21
EditLabel.Width = 28
EditLabel.Height = 13
EditLabel.Caption = 'STEP'
LabelPosition = lpLeft
TabOrder = 9
end
object GroupBox2: TGroupBox
Left = 13
Top = 150
Width = 352
Height = 137
Caption = 'Data source '
TabOrder = 14
object lvDataFiles: TListView
Left = 7
Top = 13
Width = 338
Height = 118
Columns = <
item
Caption = 'File name'
Width = 223
end
item
Caption = 'LOG id'
Width = 52
end
item
Caption = 'Unit'
Width = 52
end>
FlatScrollBars = True
RowSelect = True
PopupMenu = lvMenu
TabOrder = 0
ViewStyle = vsReport
OnDblClick = Edit1Click
OnKeyDown = lvDataFilesKeyUp
end
end
object edCTRY: TLabeledEdit
Left = 312
Top = 46
Width = 52
Height = 21
EditLabel.Width = 36
EditLabel.Height = 13
EditLabel.Caption = 'Country'
LabelPosition = lpLeft
TabOrder = 11
Text = 'Russia'
end
object edLOC: TLabeledEdit
Left = 312
Top = 65
Width = 52
Height = 21
EditLabel.Width = 41
EditLabel.Height = 13
EditLabel.Caption = 'Location'
LabelPosition = lpLeft
TabOrder = 12
end
object edSRVC: TLabeledEdit
Left = 312
Top = 85
Width = 52
Height = 21
EditLabel.Width = 36
EditLabel.Height = 13
EditLabel.Caption = 'Service'
LabelPosition = lpLeft
TabOrder = 13
end
object edAlt: TLabeledEdit
Left = 176
Top = 117
Width = 52
Height = 21
EditLabel.Width = 20
EditLabel.Height = 13
EditLabel.Caption = 'ALT'
LabelPosition = lpLeft
TabOrder = 15
end
object FilenameEdit1: TEdit
Left = 56
Top = 296
Width = 281
Height = 21
TabOrder = 16
Text = 'FilenameEdit1'
end
end
object btnOk: TBitBtn
Left = 241
Top = 338
Width = 65
Height = 27
TabOrder = 1
OnClick = btnOkClick
Kind = bkOK
end
object btnCancel: TBitBtn
Left = 312
Top = 338
Width = 66
Height = 27
TabOrder = 2
Kind = bkCancel
end
object lvMenu: TPopupMenu
Images = frmMain.ButtonImages
Left = 8
Top = 336
object Addfile1: TMenuItem
Caption = 'Add'
ImageIndex = 28
OnClick = Addfile1Click
end
object Edit1: TMenuItem
Caption = 'Edit'
ImageIndex = 31
OnClick = Edit1Click
end
object Deletefile1: TMenuItem
Caption = 'Delete'
ImageIndex = 32
OnClick = Deletefile1Click
end
object View1: TMenuItem
Caption = 'View'
ImageIndex = 2
OnClick = View1Click
end
object Shortfilename1: TMenuItem
Caption = 'Short filename'
end
object Fullfilename1: TMenuItem
Caption = 'Full filename'
end
end
object OpenDlg: TOpenDialog
DefaultExt = 'xyz'
Filter = 'XYZ files (*.xyz)|*.xyz|Any files (*.*)|*.*'
Options = [ofHideReadOnly, ofAllowMultiSelect, ofEnableSizing]
Left = 72
Top = 336
end
object FormStorage1: TFormStorage
IniFileName = 'logix.ini'
IniSection = 'frmCreateLas'
StoredValues = <>
Left = 104
Top = 336
end
end

232
CreateLas.pas Normal file
Просмотреть файл

@ -0,0 +1,232 @@
unit CreateLas;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, Utils, CLas,
ImgList, Menus, ComCtrls, Floatlist;
type
TfrmCreateLAS = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
edWELLid: TLabeledEdit;
edLOC: TLabeledEdit;
edSRVC: TLabeledEdit;
edDate: TLabeledEdit;
edAPI: TLabeledEdit;
edUWI: TLabeledEdit;
btnOk: TBitBtn;
btnCancel: TBitBtn;
edWELLno: TLabeledEdit;
edFLD: TLabeledEdit;
edSTRT: TLabeledEdit;
edSTOP: TLabeledEdit;
edNULL: TLabeledEdit;
edCOMP: TLabeledEdit;
edCTRY: TLabeledEdit;
edSTEP: TLabeledEdit;
GroupBox2: TGroupBox;
lvDataFiles: TListView;
lvMenu: TPopupMenu;
Addfile1: TMenuItem;
Deletefile1: TMenuItem;
Edit1: TMenuItem;
OpenDlg: TOpenDialog;
Shortfilename1: TMenuItem;
Fullfilename1: TMenuItem;
View1: TMenuItem;
edAlt: TLabeledEdit;
FilenameEdit1: TEdit;
btnSelectFile: TSpeedButton;
procedure edWELLidExit(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btnOkClick(Sender: TObject);
procedure Addfile1Click(Sender: TObject);
procedure Deletefile1Click(Sender: TObject);
procedure Edit1Click(Sender: TObject);
procedure View1Click(Sender: TObject);
procedure lvDataFilesKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btnSelectFileClick(Sender: TObject);
private
public
las : TLASFile;
function EditLOGparams( var li : TListItem ) : integer;
end;
var
frmCreateLAS: TfrmCreateLAS;
implementation
{$R *.dfm}
uses
EditLOGid, ViewXYZfile, Wells, Main;
procedure TfrmCreateLAS.edWELLidExit(Sender: TObject);
begin
if edWELLid.Text = '' then
exit;
edAPI.Text := edWELLid.Text;
edUWI.Text := edWELLid.Text;
edFLD.Text := GetFLD( edWELLid.Text );
edWELLno.Text := IntToStr(GetWELLno( edWELLid.Text ));
end;
procedure TfrmCreateLAS.FormCreate(Sender: TObject);
begin
edDate.Text := DateToStr(Now());
end;
procedure TfrmCreateLAS.btnOkClick(Sender: TObject);
function AddOneLog( const filename, _LOGid, _Unit : string; lasfile : TLASFile ) : TLOGDataSet;
var
d, v,
y : TxFloatList;
begin
try
d := TxFloatList.Create();
v := TxFloatList.Create();
//Ñ÷èòûâàåì .xyz ôàéë, ãëóáèíó â d, çíà÷åíèÿ â v
if ReadXYZfile( filename, d, v ) = _ERROR_ then begin
result := nil;
exit;
end;
y := TxFloatList.Create;
//Èíòåðïîëèðóåì íå ðåãóëÿðíûå äàííûå d, v â ðåãóëÿðíûé ïî ãëóáèíå ñïèñîê y
NormalizeXYZ( lasfile._STRT, lasfile._STOP, lasfile._STEP, //íà÷. êîíå÷íàÿ ãëóáèíà è øàã
lasfile._NULL, //ïóñòîå çíà÷åíèå
d, v, //Ãëóáèíà/çíà÷åíèå ñ÷èòàííûå èç XYZ ôàéëà
y); //Ðåçóëüòèðóþùèé ñïèñîê
if y.Count <> lasfile.logs.log(0).y.count then begin
result := nil;
exit;
end;
result := lasfile.AddLog( _LOGid, _Unit, y );
finally
y.Free();
v.Free();
d.Free();
end;
end;
var
li : TListItem;
i : integer;
begin
if Length(FilenameEdit1.Text) = 0 then
exit;
las := TLASFile.Create();
try
with las, header do begin
CreateNew();
FileName := FilenameEdit1.Text;
SetValue('STRT', edSTRT.Text);
SetValue('STOP', edSTOP.Text);
SetValue('STEP', edSTEP.Text);
SetValue('NULL', edNULL.Text);
SetValue('COMP', edCOMP.Text);
SetValue('WELL', edWELLno.Text);
SetValue('FLD', edFLD.Text);
SetValue('LOC', edLOC.Text);
SetValue('CTRY', edCTRY.Text);
SetValue('SRVC', edSRVC.Text);
SetValue('DATE', edDate.Text);
SetValue('API', edAPI.Text);
SetValue('UWI', edUWI.Text);
SetValue('ALT', edAlt.Text);
SetupDepthLog();
end;
//Çàïîëíåíèå ñåêöèè ~CURVE è äàííûõ èç ôàéëîâ
for i := 0 to lvDataFiles.Items.Count-1 do begin
li := lvDataFiles.Items[i];
//li.Caption - èìÿ ôàéëà, li.SubItems[0] - LOGid, li.SubItems[1] - åä èçìåðåíèÿ
if AddOneLog( li.Caption, li.SubItems[0], li.SubItems[1], las ) = nil then
exit;
end;
Cursor := crHourGlass;
las.WriteToLAS(FilenameEdit1.Text);
Cursor := crDefault;
finally
las.Free();
end;
end;
procedure TfrmCreateLAS.Addfile1Click(Sender: TObject);
var
li : TListItem;
begin
if OpenDlg.Execute then begin
li := lvDataFiles.Items.Add;
li.Caption := OpenDlg.FileName;
li.SubItems.Add('N/A');
li.SubItems.Add('N/A');
end;
end;
procedure TfrmCreateLAS.Deletefile1Click(Sender: TObject);
begin
lvDataFiles.Items.Delete( lvDataFiles.ItemIndex );
end;
function TfrmCreateLAS.EditLOGparams( var li : TListItem ) : integer;
begin
try
with frmEditLOGid do begin
edLOGid.Text := li.SubItems[0];
edUnit.Text := 'N/A';
edMin.Text := '0.0';
edMax.Text := '0.0';
if ShowModal = mrOK then begin
// li.Caption := ;
li.SubItems[0] := edLOGid.Text;
li.SubItems[1] := edUnit.Text;
// li.SubItems[2] := FloatToStr(edMax.Value);
result := _OK_;
end
else
result := _ERROR_;
end;
except
result := _ERROR_;
end;
end;
procedure TfrmCreateLAS.Edit1Click(Sender: TObject);
var
li : TListItem;
begin
li := lvDataFiles.ItemFocused;
EditLOGparams(li);
end;
procedure TfrmCreateLAS.View1Click(Sender: TObject);
begin
with TfrmViewXYZfile.Create(Application) do begin
xyzFile := lvDataFiles.ItemFocused.Caption;
Show();
Init(lvDataFiles.ItemFocused.Caption);
end;
end;
procedure TfrmCreateLAS.lvDataFilesKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if Key = VK_RETURN then
Edit1Click(Sender);
end;
procedure TfrmCreateLAS.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmCreateLAS.btnSelectFileClick(Sender: TObject);
begin
if OpenDlg.Execute() then
FilenameEdit1.Text := OpenDlg.FileName;
end;
end.

64
EditLASParams.dfm Normal file
Просмотреть файл

@ -0,0 +1,64 @@
object frmEditLASParams: TfrmEditLASParams
Left = 523
Top = 269
Width = 293
Height = 118
Caption = 'Edit LAS parameter'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -10
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 7
Top = 7
Width = 22
Height = 13
Caption = 'Field'
end
object Label2: TLabel
Left = 7
Top = 46
Width = 27
Height = 13
Caption = 'Value'
end
object edFieldName: TEdit
Left = 7
Top = 20
Width = 150
Height = 24
Color = 15269887
TabOrder = 1
Text = 'edFieldName'
end
object BitBtn1: TBitBtn
Left = 163
Top = 20
Width = 65
Height = 26
TabOrder = 2
Kind = bkOK
end
object BitBtn2: TBitBtn
Left = 163
Top = 52
Width = 65
Height = 27
TabOrder = 3
Kind = bkCancel
end
object edFieldValue: TEdit
Left = 7
Top = 59
Width = 150
Height = 24
Color = 15269887
TabOrder = 0
Text = 'edFieldValue'
end
end

30
EditLASParams.pas Normal file
Просмотреть файл

@ -0,0 +1,30 @@
unit EditLASParams;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons;
type
TfrmEditLASParams = class(TForm)
Label1: TLabel;
edFieldName: TEdit;
Label2: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
edFieldValue: TEdit;
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmEditLASParams: TfrmEditLASParams;
implementation
{$R *.DFM}
end.

93
EditLOGid.dfm Normal file
Просмотреть файл

@ -0,0 +1,93 @@
object frmEditLOGid: TfrmEditLOGid
Left = 362
Top = 214
BorderStyle = bsToolWindow
Caption = 'Edit LOG parameters'
ClientHeight = 105
ClientWidth = 239
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -10
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 16
Top = 8
Width = 18
Height = 13
Caption = 'Log'
end
object Label2: TLabel
Left = 16
Top = 32
Width = 17
Height = 13
Caption = 'unit'
end
object min: TLabel
Left = 16
Top = 56
Width = 16
Height = 13
Caption = 'min'
end
object max: TLabel
Left = 16
Top = 80
Width = 19
Height = 13
Caption = 'max'
end
object btnOK: TBitBtn
Left = 169
Top = 42
Width = 66
Height = 27
TabOrder = 2
Kind = bkOK
end
object btnCancel: TBitBtn
Left = 169
Top = 75
Width = 66
Height = 26
TabOrder = 3
Kind = bkCancel
end
object edLOGid: TEdit
Left = 48
Top = 8
Width = 98
Height = 21
TabOrder = 0
Text = 'edLOGid'
end
object edUnit: TEdit
Left = 48
Top = 32
Width = 98
Height = 21
TabOrder = 1
Text = 'edUnit'
end
object edMin: TEdit
Left = 48
Top = 56
Width = 97
Height = 21
TabOrder = 4
Text = '0'
end
object edMax: TEdit
Left = 48
Top = 80
Width = 97
Height = 21
TabOrder = 5
Text = '0'
end
end

34
EditLOGid.pas Normal file
Просмотреть файл

@ -0,0 +1,34 @@
unit EditLOGid;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons;
type
TfrmEditLOGid = class(TForm)
btnOK: TBitBtn;
btnCancel: TBitBtn;
edLOGid: TEdit;
Label1: TLabel;
edUnit: TEdit;
Label2: TLabel;
min: TLabel;
max: TLabel;
edMin: TEdit;
edMax: TEdit;
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmEditLOGid: TfrmEditLOGid;
implementation
{$R *.DFM}
end.

96
FAlignLogByDepth.dfm Normal file
Просмотреть файл

@ -0,0 +1,96 @@
object frmAlignLogByDepth: TfrmAlignLogByDepth
Left = 294
Top = 297
Width = 322
Height = 236
Caption = 'frmAlignLogByDepth'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object GroupBox1: TGroupBox
Left = 8
Top = 8
Width = 297
Height = 153
Caption = ' depth '
TabOrder = 0
object Label1: TLabel
Left = 8
Top = 32
Width = 20
Height = 13
Caption = 'from'
end
object Label2: TLabel
Left = 8
Top = 64
Width = 9
Height = 13
Caption = 'to'
end
object Label3: TLabel
Left = 160
Top = 16
Width = 128
Height = 104
Caption =
#1055#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' '#1082#1072#1088#1086#1090#1072#1078' '#1074#1099#1088#1072#1074#1085#1080#1074#1072#1077#1090#1089#1103' '#1087#1086' '#1082#1086#1083#1086#1085#1082#1077' '#1075#1083#1091#1073#1080#1085#1099' '#1087#1077#1088#1074#1086#1075#1086' '#1092#1072 +
#1081#1083#1072'.'#13#10#1042' '#1089#1083#1091#1095#1072#1077' '#1085#1077#1086#1073#1093#1086#1076#1080#1084#1086#1089#1090#1080' '#1082#1072#1088#1086#1090#1072#1078' '#1086#1073#1088#1077#1079#1072#1077#1090#1089#1103' '#1080#1083#1080' '#1079#1072#1087#1086#1083#1085#1103#1077#1090#1089#1103' ' +
#1079#1085#1072#1095#1077#1085#1080#1077#1084' NULL'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
WordWrap = True
end
object edDepthFrom: TRxCalcEdit
Left = 32
Top = 32
Width = 121
Height = 21
AutoSize = False
NumGlyphs = 2
TabOrder = 0
end
object edDepthTo: TRxCalcEdit
Left = 32
Top = 64
Width = 121
Height = 21
AutoSize = False
NumGlyphs = 2
TabOrder = 1
end
end
object StatusBar1: TStatusBar
Left = 0
Top = 190
Width = 314
Height = 19
Panels = <>
end
object BitBtn1: TBitBtn
Left = 128
Top = 152
Width = 81
Height = 33
TabOrder = 2
Kind = bkOK
end
object BitBtn2: TBitBtn
Left = 216
Top = 152
Width = 81
Height = 33
TabOrder = 3
Kind = bkCancel
end
end

44
FAlignLogByDepth.pas Normal file
Просмотреть файл

@ -0,0 +1,44 @@
unit FAlignLogByDepth;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, ToolEdit, CurrEdit, Buttons, ComCtrls, Utils, CLas;
type
TfrmAlignLogByDepth = class(TForm)
GroupBox1: TGroupBox;
StatusBar1: TStatusBar;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
edDepthFrom: TRxCalcEdit;
Label1: TLabel;
Label2: TLabel;
edDepthTo: TRxCalcEdit;
Label3: TLabel;
private
{ Private declarations }
public
function Init( const start, stop : Double; var las : TLasFile; var list : TList ) : integer;
end;
var
frmAlignLogByDepth: TfrmAlignLogByDepth;
implementation
{$R *.dfm}
function TfrmAlignLogByDepth.Init( const start, stop : Double; var las : TLasFile; var list : TList ) : integer;
var
i : integer;
NullVal : Double;
logs : TLogList;
begin
for i := 0 to las.Logs.Count-1 do begin
NullVal := las._NULL();
end;
end;
end.

520
FExportToRms.dfm Normal file
Просмотреть файл

@ -0,0 +1,520 @@
object frmExportToRms: TfrmExportToRms
Left = 343
Top = 194
Caption = 'Export to RMS 7.2'
ClientHeight = 372
ClientWidth = 673
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -10
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnClose = FormClose
PixelsPerInch = 96
TextHeight = 13
object StatusBar1: TStatusBar
Left = 0
Top = 353
Width = 673
Height = 19
Panels = <
item
Text = 'info:'
Width = 127
end>
end
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 673
Height = 29
ButtonHeight = 30
ButtonWidth = 31
Caption = 'ToolBar1'
Images = frmMain.ButtonImages
TabOrder = 1
object btnAddTrajectory: TToolButton
Left = 0
Top = 0
Hint = #1056#1072#1089'c'#1095#1080#1090#1072#1090#1100' '#1082#1086#1083#1086#1085#1082#1080' X,Y,Z'
Caption = 'btnAddTrajectory'
ImageIndex = 28
ParentShowHint = False
ShowHint = True
OnClick = btnAddTrajectoryClick
end
object ToolButton2: TToolButton
Left = 31
Top = 0
Hint = #1055#1088#1086#1089#1084#1086#1090#1088#1077#1090#1100' '#1089#1087#1080#1089#1086#1082' '#1076#1080#1089#1082#1088#1077#1090#1085#1086#1081' '#1082#1088#1080#1074#1086#1081
Caption = 'btnViewDiscretLog'
ImageIndex = 2
ParentShowHint = False
ShowHint = True
end
object chkRecalcHoleTrajectory: TCheckBox
Left = 62
Top = 0
Width = 123
Height = 30
Hint =
#1055#1077#1088#1077#1089#1095#1080#1090#1099#1074#1072#1090#1100' X, Y '#1082#1086#1086#1088#1076#1080#1085#1072#1090#1099' '#1095#1077#1088#1077#1079' '#1082#1086#1086#1088#1076#1080#1085#1072#1090#1099' '#1091#1089#1090#1100#1103' '#1080' '#1080#1085#1082#1083#1080#1085#1086#1084#1077 +
#1090#1088#1080#1102
Caption = 'recalc trajectory'
Checked = True
ParentShowHint = False
ShowHint = True
State = cbChecked
TabOrder = 0
end
end
object GroupBox1: TGroupBox
Left = 0
Top = 29
Width = 673
Height = 286
Align = alClient
Caption = ' choose logs && parameters to export LAS for RMS 7.x '
TabOrder = 2
object Splitter1: TSplitter
Left = 305
Top = 15
Height = 235
end
object Panel3: TPanel
Left = 2
Top = 250
Width = 669
Height = 34
Align = alBottom
BevelOuter = bvNone
TabOrder = 0
object Label1: TLabel
Left = 7
Top = 6
Width = 16
Height = 13
Caption = 'file:'
end
object SpeedButton1: TSpeedButton
Left = 424
Top = 8
Width = 23
Height = 22
Caption = '...'
OnClick = SpeedButton1Click
end
object edFileName: TEdit
Left = 32
Top = 8
Width = 393
Height = 21
TabOrder = 0
end
end
object GroupBox2: TGroupBox
Left = 308
Top = 15
Width = 363
Height = 235
Align = alClient
Caption = ' parameters '
TabOrder = 1
object lvParams: TListView
Left = 2
Top = 15
Width = 359
Height = 218
Align = alClient
Checkboxes = True
Columns = <
item
Caption = 'Name'
Width = 75
end
item
Caption = 'value'
Width = 85
end
item
Caption = 'unit'
end>
ColumnClick = False
FlatScrollBars = True
RowSelect = True
TabOrder = 0
ViewStyle = vsReport
end
end
object GroupBox3: TGroupBox
Left = 2
Top = 15
Width = 303
Height = 235
Align = alLeft
Caption = ' logs '
TabOrder = 2
object lvLogs: TListView
Left = 2
Top = 15
Width = 299
Height = 218
Align = alClient
BevelInner = bvNone
BevelOuter = bvNone
Checkboxes = True
Columns = <
item
Caption = 'Log'
MinWidth = 10
Width = 75
end
item
Caption = 'unit'
end
item
Caption = 'min'
Width = 75
end
item
Caption = 'max'
Width = 75
end>
ColumnClick = False
FlatScrollBars = True
RowSelect = True
TabOrder = 0
ViewStyle = vsReport
OnDblClick = lvLogsDblClick
end
end
end
object Panel1: TPanel
Left = 0
Top = 315
Width = 673
Height = 38
Align = alBottom
BevelOuter = bvNone
BiDiMode = bdLeftToRight
ParentBiDiMode = False
TabOrder = 3
object Panel2: TPanel
Left = 529
Top = 0
Width = 144
Height = 38
Align = alRight
BevelOuter = bvNone
TabOrder = 0
object btnOk: TBitBtn
Left = 0
Top = 7
Width = 67
Height = 26
DoubleBuffered = True
Kind = bkOK
ParentDoubleBuffered = False
TabOrder = 0
end
object btnCancel: TBitBtn
Left = 72
Top = 7
Width = 65
Height = 26
DoubleBuffered = True
Kind = bkCancel
ParentDoubleBuffered = False
TabOrder = 1
end
end
end
object FormStorage: TFormStorage
IniFileName = 'fExportToRms'
IniSection = 'frm'
StoredValues = <>
Left = 16
Top = 376
end
object ImageList1: TImageList
Left = 16
Top = 323
Bitmap = {
494C010104000600040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000002000000001002000000000000020
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000FFFFFF00FFFFFF000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000FFFFFF007B7B7B007B7B7B007B7B7B007B7B7B007B7B7B007B7B
7B007B7B7B007B7B7B007B7B7B007B7B7B000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000FFFFFF00FFFFFF000000
0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000
0000000000007B7B7B007B7B7B007B7B7B000000000000000000000000000000
0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000000000000000FFFF
FF007B7B7B007B7B7B007B7B7B00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
FF00FFFFFF0000000000000000007B7B7B000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000007B7B7B007B7B7B00FFFFFF007B7B
7B007B7B7B007B7B7B007B7B7B007B7B7B0000000000FFFFFF00000000000000
0000000000007B7B7B007B7B7B007B7B7B000000000000000000000000000000
000000000000FFFFFF0000000000FFFFFF000000000000000000000000000000
0000FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF007B7B7B007B7B
7B007B7B7B00FFFFFF007B7B7B00FFFFFF007B7B7B007B7B7B007B7B7B007B7B
7B000000000000000000000000007B7B7B00FFFF0000000000000000000000FF
FF00FFFFFF0000FFFF00FFFFFF0000FFFF000000000000000000000000000000
0000000000000000000000000000000000007B7B7B007B7B7B007B7B7B000000
0000000000000000000000000000FFFFFF007B7B7B00FFFFFF00000000000000
0000000000000000000000000000FFFFFF00000000000000000000000000FFFF
FF0000000000FFFFFF0000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00000000007B7B7B007B7B7B007B7B7B00FFFF
FF007B7B7B00FFFFFF007B7B7B00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF007B7B7B00FFFF00000000000000FFFF00FFFF
FF0000FFFF00FFFFFF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000007B7B7B007B7B7B00FFFFFF000000
000000000000000000007B7B7B007B7B7B007B7B7B0000000000FFFFFF000000
000000000000000000007B7B7B007B7B7B0000000000FFFFFF0000000000FFFF
FF0000000000FFFFFF0000000000FFFFFF000000000000000000000000000000
00000000000000000000FFFFFF00000000007B7B7B00FFFFFF007B7B7B00FFFF
FF007B7B7B00FFFFFF007B7B7B00FFFFFF007B7B7B007B7B7B007B7B7B007B7B
7B007B7B7B007B7B7B00000000007B7B7B00FFFF000000000000FFFFFF0000FF
FF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000000000000000000000
0000000000000000000000000000000000007B7B7B007B7B7B00FFFFFF000000
0000000000000000000000000000FFFFFF00FFFFFF007B7B7B00FFFFFF00FFFF
FF00FFFFFF00000000007B7B7B007B7B7B0000000000FFFFFF0000000000FFFF
FF0000000000FFFFFF0000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00000000007B7B7B00FFFFFF007B7B7B00FFFF
FF007B7B7B00FFFFFF007B7B7B00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF007B7B7B00FFFF00000000000000FFFF00FFFF
FF0000FFFF00FFFFFF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000007B7B7B007B7B7B00FFFFFF000000
000000000000000000007B7B7B007B7B7B007B7B7B007B7B7B007B7B7B007B7B
7B0000000000FFFFFF0000000000FFFFFF0000000000FFFFFF0000000000FFFF
FF0000000000FFFFFF0000000000FFFFFF000000000000000000000000000000
00000000000000000000FFFFFF00000000007B7B7B00FFFFFF007B7B7B00FFFF
FF007B7B7B00FFFFFF007B7B7B00FFFFFF007B7B7B007B7B7B007B7B7B007B7B
7B007B7B7B007B7B7B00000000007B7B7B00FFFF000000000000FFFFFF0000FF
FF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FF
FF0000000000000000000000FF000000FF007B7B7B007B7B7B00FFFFFF000000
000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF007B7B7B00000000007B7B7B007B7B7B0000000000FFFFFF0000000000FFFF
FF0000000000FFFFFF0000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00000000007B7B7B00FFFFFF007B7B7B00FFFF
FF007B7B7B00FFFFFF007B7B7B00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
FF000000000000000000000000007B7B7B00FFFF00000000000000FFFF00FFFF
FF00000000000000000000000000000000000000000000000000000000000000
000000000000000000000000FF000000FF007B7B7B007B7B7B00FFFFFF00FFFF
FF007B7B7B007B7B7B007B7B7B007B7B7B007B7B7B007B7B7B007B7B7B007B7B
7B0000000000000000007B7B7B007B7B7B0000000000FFFFFF0000000000FFFF
FF0000000000FFFFFF0000000000FFFFFF00000000000000000000000000FFFF
FF00FFFFFF00FFFFFF00FFFFFF00000000007B7B7B00FFFFFF007B7B7B00FFFF
FF007B7B7B00FFFFFF007B7B7B00FFFFFF007B7B7B007B7B7B007B7B7B000000
000000000000FFFFFF00FFFFFF007B7B7B0000000000000000000000000000FF
FF00FFFFFF0000FFFF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000007B7B7B007B7B7B007B7B7B000000
0000FFFFFF00FFFFFF007B7B7B00000000000000000000000000000000000000
0000000000000000000000000000FFFFFF0000000000FFFFFF0000000000FFFF
FF0000000000FFFFFF0000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00000000000000000000000000000000007B7B7B00FFFFFF007B7B7B00FFFF
FF007B7B7B00FFFFFF007B7B7B00FFFFFF0000000000FFFFFF00FFFFFF000000
00007B7B7B007B7B7B007B7B7B007B7B7B000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000007B7B
7B007B7B7B007B7B7B0000000000000000000000000000000000000000000000
000000000000000000007B7B7B007B7B7B0000000000FFFFFF0000000000FFFF
FF0000000000FFFFFF0000000000FFFFFF000000000000000000FFFFFF00FFFF
FF0000000000FFFFFF0000000000000000007B7B7B00FFFFFF007B7B7B00FFFF
FF007B7B7B00FFFFFF007B7B7B00FFFFFF007B7B7B007B7B7B00000000000000
00007B7B7B00FFFFFF007B7B7B00000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000007B7B7B007B7B7B0000000000FFFFFF0000000000FFFF
FF0000000000FFFFFF0000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00000000000000000000000000000000007B7B7B00FFFFFF007B7B7B00FFFF
FF007B7B7B00FFFFFF007B7B7B00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF007B7B7B007B7B7B0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000FFFFFF00FFFFFF0000000000FFFFFF0000000000FFFF
FF0000000000FFFFFF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000007B7B7B00FFFFFF007B7B7B00FFFF
FF007B7B7B00FFFFFF007B7B7B007B7B7B007B7B7B007B7B7B007B7B7B007B7B
7B007B7B7B000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000007B7B7B007B7B7B007B7B7B0000000000FFFFFF0000000000FFFF
FF00000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000007B7B7B00FFFFFF007B7B7B00FFFF
FF007B7B7B007B7B7B007B7B7B007B7B7B007B7B7B007B7B7B007B7B7B000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000007B7B7B007B7B7B007B7B7B0000000000FFFFFF00000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000007B7B7B00FFFFFF007B7B7B007B7B
7B007B7B7B007B7B7B007B7B7B007B7B7B007B7B7B0000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000007B7B7B007B7B7B007B7B7B007B7B
7B007B7B7B007B7B7B007B7B7B00000000000000000000000000000000000000
000000000000000000000000000000000000424D3E000000000000003E000000
2800000040000000200000000100010000000000000100000000000000000000
000000000000000000000000FFFFFF0000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000FFFFFFFCFC00F800FFF89078F000E086
20F800B8C000800E007F1E3E00000080007C1C5C00000002003C1E0400000080
000F1C0A00000002000418040000008E000C000C0000001801FF11FE00000090
E3FCE3FC00010031FFFCFFFC00030003FFFFFFFC00070007FFF8FFF8001F001F
FFF8FFF8007F007FFFFFFFFF01FF01FF00000000000000000000000000000000
000000000000}
end
object OpenDialog1: TOpenDialog
Left = 56
Top = 323
end
end

148
FExportToRms.pas Normal file
Просмотреть файл

@ -0,0 +1,148 @@
unit FExportToRms;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ToolWin, ComCtrls, StdCtrls, Buttons, ExtCtrls,
Utils, cLas, Placement, ImgList;
type
TfrmExportToRms = class(TForm)
StatusBar1: TStatusBar;
ToolBar1: TToolBar;
GroupBox1: TGroupBox;
Panel1: TPanel;
Panel2: TPanel;
btnOk: TBitBtn;
btnCancel: TBitBtn;
Panel3: TPanel;
Label1: TLabel;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
Splitter1: TSplitter;
lvLogs: TListView;
lvParams: TListView;
FormStorage: TFormStorage;
btnAddTrajectory: TToolButton;
ImageList1: TImageList;
ToolButton2: TToolButton;
chkRecalcHoleTrajectory: TCheckBox;
edFileName: TEdit;
SpeedButton1: TSpeedButton;
OpenDialog1: TOpenDialog;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btnAddTrajectoryClick(Sender: TObject);
procedure lvLogsDblClick(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
private
lf : TLasFile;
function EditLOGparams(var li : TListItem) : integer;
public
function Init(const las : TLasFile) : integer;
function Finish(var las : TLasFile; var filename : string) : integer;
end;
implementation
uses
EditLOGid, main;
{$R *.dfm}
function TfrmExportToRms.Init(const las : TLasFile) : integer;
var
i : integer;
li : TListItem;
begin
result := _ERROR_;
if not Assigned(las) then
exit;
lf := las;
lvLogs.Items.Clear();
for i := 0 to las.logs.count-1 do begin
li := lvLOGs.Items.Add();
li.Caption := Trim(las.logs[i]);
li.SubItems.Add(Trim(las.logs.GetUnit(i)));
li.SubItems.Add(FloatToStr(las.logs.y(i).min));
li.SubItems.Add(FloatToStr(las.logs.y(i).max));
li.Checked := las.Logs.LOG(i).Selected;
end;
lvParams.Items.Clear();
for i := 0 to las.Params.Count-1 do begin
li := lvParams.Items.Add();
li.Caption := Trim(las.Params[i]); //name
li.SubItems.Add(Trim(las.Params.GetValue(i))); //value
li.SubItems.Add(Trim(las.Params.GetUnit(i))); //unit
end;
result := _OK_;
end;
function TfrmExportToRms.Finish(var las : TLasFile; var filename : string) : integer;
var
i : integer;
begin
result := _ERROR_;
for i := 0 to lvLogs.Items.Count-1 do begin
las.Logs.Log(i).Selected := lvLOGs.Items[i].Checked;
end;
for i := 0 to lvParams.Items.Count-1 do begin
las.Params.GetItem(i).Checked := lvParams.Items[i].Checked;
end;
las.RecalcHoleTrajectory := chkRecalcHoleTrajectory.Checked;
filename := edFileName.Text;
if length(filename) <= 0 then
exit;
result := _OK_;
end;
procedure TfrmExportToRms.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmExportToRms.btnAddTrajectoryClick(Sender: TObject);
begin
lf.AddTrajectory('EAST', 'NORTH', 'TVD', 0, 0, lf.Header.asFloat('RKB'));
Init(lf);
end;
procedure TfrmExportToRms.lvLogsDblClick(Sender: TObject);
var
li : TListItem;
begin
li := lvLOGs.ItemFocused;
if EditLOGparams(li) = _OK_ then
StatusBar1.Panels[0].Text := 'info: edit log successful...'
else
StatusBar1.Panels[0].Text := 'info: edit log is fault...';
end;
function TfrmExportToRms.EditLOGparams(var li : TListItem) : integer;
begin
try
with frmEditLOGid do begin
edLOGid.Text := li.Caption;
edUnit.Text := li.SubItems[0];
edMin.Text := PutDecimalSeparator(li.SubItems[1]);
edMax.Text := PutDecimalSeparator(li.SubItems[2]);
if ShowModal() = mrOK then begin
li.Caption := edLOGid.Text;
li.SubItems[0] := edUnit.Text;
li.SubItems[1] := edMin.Text;
li.SubItems[2] := edMax.Text;
result := _OK_;
end
else
result := _ERROR_;
end;
except
result := _ERROR_;
end;
end;
procedure TfrmExportToRms.SpeedButton1Click(Sender: TObject);
begin
if OpenDialog1.Execute() then
edFileName.Text := OpenDialog1.FileName;
end;
end.

69
FLogListOptions.dfm Normal file
Просмотреть файл

@ -0,0 +1,69 @@
object frmLogListOptions: TfrmLogListOptions
Left = 232
Top = 271
Width = 320
Height = 338
Caption = 'Options'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnClose = FormClose
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object Panel1: TPanel
Left = 0
Top = 270
Width = 312
Height = 41
Align = alBottom
BevelOuter = bvNone
TabOrder = 0
object btnOK: TBitBtn
Left = 175
Top = 7
Width = 65
Height = 26
TabOrder = 0
Kind = bkOK
end
object btnCancel: TBitBtn
Left = 247
Top = 7
Width = 65
Height = 26
TabOrder = 1
Kind = bkCancel
end
end
object Panel2: TPanel
Left = 0
Top = 0
Width = 312
Height = 270
Align = alClient
BevelOuter = bvNone
TabOrder = 1
object lvParameters: TListView
Left = 0
Top = 0
Width = 312
Height = 270
Align = alClient
Checkboxes = True
Color = 15269887
Columns = <
item
Caption = 'Parameters'
Width = 300
end>
FlatScrollBars = True
TabOrder = 0
ViewStyle = vsReport
end
end
end

53
FLogListOptions.pas Normal file
Просмотреть файл

@ -0,0 +1,53 @@
unit FLogListOptions;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls, Utils, CLas;
type
TfrmLogListOptions = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
btnOK: TBitBtn;
btnCancel: TBitBtn;
lvParameters: TListView;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
filename : string;
las : TLasFile;
end;
var
frmLogListOptions: TfrmLogListOptions;
implementation
{$R *.dfm}
procedure TfrmLogListOptions.FormShow(Sender: TObject);
var
i : integer;
li : TListItem;
begin
lvParameters.Clear();
las := TLasFile.Create();
if las.ReadFromLasHeader(filename) = _OK_ then begin
for i := 0 to las.Header.Count-1 do begin
li := lvParameters.Items.Add();
li.Caption := las.Header.asString(i);
end;
end;
end;
procedure TfrmLogListOptions.FormClose(Sender: TObject; var Action: TCloseAction);
begin
las.Free();
Action := caFree;
end;
end.

44
FillAPI.dfm Normal file
Просмотреть файл

@ -0,0 +1,44 @@
object frmFillAPI: TfrmFillAPI
Left = 233
Top = 128
Width = 452
Height = 401
Caption = 'frmFillAPI'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 120
TextHeight = 16
object ListBox1: TListBox
Left = 16
Top = 16
Width = 305
Height = 145
ItemHeight = 16
Items.Strings = (
'x:\prj\well\BEZ-1\'
'x:\prj\well\OLN-1\')
TabOrder = 0
end
object ListBox2: TListBox
Left = 16
Top = 176
Width = 305
Height = 161
ItemHeight = 16
TabOrder = 1
end
object BitBtn1: TBitBtn
Left = 336
Top = 16
Width = 81
Height = 33
Caption = 'BitBtn1'
TabOrder = 2
OnClick = btnOkClick
end
end

44
FillAPI.pas Normal file
Просмотреть файл

@ -0,0 +1,44 @@
unit FillAPI;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons;
type
TfrmFillAPI = class(TForm)
ListBox1: TListBox;
ListBox2: TListBox;
BitBtn1: TBitBtn;
procedure btnOkClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmFillAPI: TfrmFillAPI;
implementation
uses
Utils;
{$R *.DFM}
procedure TfrmFillAPI.btnOkClick(Sender: TObject);
var
fn : string;
strlstDir,
strlstFile : TStringList;
begin
fn := '*.las';
strlstDir := TStringList.Create;
strlstFile := TStringList.Create;
strlstDir.Assign( ListBox1.Items );
FillFileList( fn, strlstDir, strlstFile );
ListBox2.Items.Assign( strlstFile );
strlstFile.Free;
strlstDir.Free;
end;
end.

669
JoinLAS.dfm Normal file
Просмотреть файл

@ -0,0 +1,669 @@
inherited frmJoinLAS: TfrmJoinLAS
Left = 450
Top = 229
Caption = 'Join LAS files'
ClientWidth = 499
OldCreateOrder = True
ExplicitWidth = 515
PixelsPerInch = 96
TextHeight = 13
inherited ToolBar1: TToolBar
Width = 499
ExplicitWidth = 499
inherited btnAddLAS: TToolButton
Hint = #1044#1086#1073#1072#1074#1080#1090#1100' '#1080#1079' '#1074#1090#1086#1088#1086#1075#1086' '#1092#1072#1081#1083#1072' '#1074#1089#1077' '#1082#1072#1088#1086#1090#1072#1078#1080' '#1074' '#1087#1077#1088#1074#1099#1081
end
inherited btnSaveLAS: TToolButton
Visible = False
end
end
inherited sbStatus: TStatusBar
Width = 499
ExplicitWidth = 499
end
inherited fraLASView1: TfraLASView
inherited lvLOGs: TListView
OnDragDrop = fraLASView1lvLOGsDragDrop
OnDragOver = fraLASView1lvLOGsDragOver
end
end
inherited fraLASView2: TfraLASView
Width = 264
ExplicitWidth = 264
inherited lvLOGs: TListView
Width = 264
Columns = <
item
Caption = 'LOG'
end
item
Caption = 'unit'
Width = 33
end
item
Caption = 'min'
end
item
Caption = 'max'
end>
MultiSelect = True
OnEndDrag = fraLASView2lvLOGsEndDrag
OnMouseDown = fraLASView2lvLOGsMouseDown
ExplicitWidth = 264
end
inherited lvHeader: TListView
Width = 264
ExplicitWidth = 264
end
end
inherited OpenDlg: TOpenDialog
Left = 408
end
inherited ImageList1: TImageList
Left = 456
Bitmap = {
494C0101070009000C0018001800FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000600000003000000001002000000000000048
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000FFFFFF000000000000000000000000000000
00000000000000000000FFFFFF00FFFFFF000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000739CF7009CFFFF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000FFFFFF000000000000000000000000000000
00000000000000000000FFFFFF00FFFFFF000000000000000000000000000000
0000000000000000000000000000BDBDBD000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000FFFF00739CF70000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000FF000000
FF00000000000000000000000000000000000000000000000000000000000000
000000000000000000007B7B7B007B7B7B000000000000000000000000000000
000000000000000000007B7B7B007B7B7B000000000000000000000000000000
000000000000000000000000000000000000FFE7E700CEB5B500FFE7E700C6AD
AD00F7DEDE00BDA5A500EFD6D600B59C9C00E7CECE00000000000000FF0000F7
FF004A6BEF0000FFFF00739CF7009CFFFF000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000FF000000
FF00000000000000000000000000000000000000000000000000000000000000
000000000000FFFFFF007B7B7B007B7B7B00FFFFFF00FFFFFF00000000000000
000000000000000000007B7B7B007B7B7B000000000000000000000000000000
000000000000000000000000000000000000CEB5B500FFE7E700CEB5B500FFE7
E700C6ADAD00F7DEDE00BDA5A500EFD6D600B59C9C000000000000A5AD000000
FF0000F7FF004A6BEF0000FFFF00739CF7000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000CECECE00CECE
CE000000000000000000000000000000000000000000000000000000FF000000
FF00000000000000000000000000000000000000000000000000000000000000
000000000000FFFFFF007B7B7B007B7B7B00FFFFFF00FFFFFF00000000000000
000000000000000000007B7B7B007B7B7B000000000000000000BDBDBD000000
000000000000000000000000000000000000FFE7E700CEB5B500FFE7E700CEB5
B500FFE7E700C6ADAD00F7DEDE00BDA5A500EFD6D60000000000000000000000
00000000FF0000F7FF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
CE00CECECE00CECECE00CECECE00CECECE00CECECE0000000000CECECE00CECE
CE0000000000000000000000000000000000000000000000FF000000FF000000
FF000000FF000000000000000000000000000000000000000000000000000000
0000000000007B7B7B007B7B7B007B7B7B007B7B7B00FFFFFF00000000000000
0000000000000000000000000000FFFFFF00000000000000000000000000FFE7
E700CEB5B500FFE7E7000000000000000000CEB5B500FFE7E700CEB5B500FFE7
E700CEB5B500FFE7E700C6ADAD00EFD6D600BDA5A500EFD6D600B59C9C000000
000000A5AD000000FF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000CECECE00CECE
CE0000000000000000000000000000000000000000000000FF000000FF000000
FF000000FF000000000000000000000000000000000000000000000000000000
0000000000007B7B7B007B7B7B007B7B7B007B7B7B0000000000000000000000
000000000000000000007B7B7B007B7B7B00000000000000000000000000CEB5
B500FFE7E700CEB5B5000000000000000000FFE7E700CEB5B500FFE7E700CEB5
B500FFE7E700CEB5B500FFE7E700C6ADAD00F7DEDE00BDA5A500EFD6D6000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
CE00CECECE00CECECE00CECECE00CECECE00CECECE0000000000CECECE00CECE
CE0000000000000000000000000000000000000000000000FF000000FF000000
FF000000FF000000000000000000000000000000000000000000000000000000
0000000000007B7B7B007B7B7B007B7B7B007B7B7B0000000000000000000000
000000000000000000007B7B7B007B7B7B00000000000000000000000000FFE7
E700CEB5B500FFE7E7000000000000000000CEB5B500FFE7E700CEB5B500FFE7
E700CEB5B500FFE7E700CEB5B500FFE7E700C6ADAD00F7DEDE00BDA5A500EFD6
D600000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000CECECE00CECE
CE000000000000000000000000000000000000000000000000000000FF000000
FF00000000000000000000000000000000000000000000000000000000000000
000000000000000000007B7B7B007B7B7B000000000000000000000000000000
000000000000000000007B7B7B007B7B7B00000000000000000000000000CEB5
B500FFE7E700CEB5B5000000000000000000FFE7E700CEB5B500FFE7E700CEB5
B500FFE7E700CEB5B500FFE7E700CEB5B500FFE7E700C6ADAD00F7DEDE00BDA5
A500000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
CE00CECECE00CECECE00CECECE00CECECE00CECECE0000000000CECECE00CECE
CE000000000000000000000000000000000000000000000000000000FF000000
FF00000000000000000000000000000000000000000000000000000000000000
000000000000000000007B7B7B007B7B7B000000000000000000000000000000
0000000000000000000000000000FFFFFF00000000000000000000000000FFE7
E700CEB5B500FFE7E7000000000000000000C6ADAD00FFE7E700CEB5B500FFE7
E700CEB5B500FFE7E700CEB5B500FFE7E700CEB5B500FFE7E700C6ADAD00F7DE
DE00000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000CECECE00CECE
CE000000000000000000000000000000000000000000000000000000FF000000
FF00000000000000000000000000000000000000000000000000000000000000
000000000000000000007B7B7B007B7B7B000000000000000000000000000000
0000000000000000000000000000FFFFFF00000000000000000000000000CEB5
B500FFE7E700CEB5B5000000000000000000F7DEDE00C6ADAD00FFE7E700CEB5
B500FFE7E700CEB5B500FFE7E700CEB5B500FFE7E700CEB5B500FFE7E700C6AD
AD00000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C009C9C9C009C9C9C009C9C9C009C9C9C009C9C9C009C9C
9C009C9C9C009C9C9C009C9C9C009C9C9C009C9C9C009C9C9C00CECECE00CECE
CE00000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000FFFFFF000000
000000000000000000007B7B7B007B7B7B00000000000000000000000000FFE7
E700CEB5B500FFE7E7000000000000000000BDA5A500F7DEDE00C6ADAD00FFE7
E700CEB5B500FFE7E700CEB5B500FFE7E700CEB5B500FFE7E700CEB5B500FFE7
E700000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
CE00000000000000000000000000000000000000000000000000000000000000
000000000000FF00000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000007B7B7B00FFFFFF000000
000000000000000000007B7B7B007B7B7B00000000000000000000000000C6AD
AD00FFE7E700CEB5B5000000000000000000EFD6D600BDA5A500F7DEDE00C6AD
AD00FFE7E700CEB5B500FFE7E700CEB5B500FFE7E700CEB5B500FFE7E7000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE00CECECE0000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000CECECE00CECECE00CECE
CE00000000000000000000000000000000000000000000000000000000000000
000000000000FF00000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000007B7B7B00FFFFFF000000
000000000000000000007B7B7B007B7B7B00000000000000000000000000F7DE
DE00C6ADAD00FFE7E7000000000000000000B59C9C00EFD6D600BDA5A500F7DE
DE00C6ADAD00FFE7E700CEB5B500FFE7E700CEB5B500FFE7E70000000000FFCE
CE00000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C00CECECE00CECECE00CECECE0063636300636363006363
6300636363006363630063636300636363006363630000000000CECECE00CECE
CE00000000000000000000000000000000000000000000000000000000000000
000000000000FF000000FF000000000000000000000000000000000000000000
000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF007B7B7B007B7B7B00FFFF
FF00FFFFFF0000000000FFFFFF0000000000000000000000000000000000BDA5
A500F7DEDE00C6ADAD000000000000000000E7CECE00B59C9C00EFD6D600BDA5
A500F7DEDE00C6ADAD00FFE7E700CEB5B500FFE7E70000000000FFCECE000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C00CECECE00CECECE00CECECE0063636300636363006363
630063636300CECECE00CECECE00CECECE006363630000000000CECECE00CECE
CE000000000000000000000000000000000000000000FF000000FF000000FF00
0000FF000000FF000000FF000000FF000000000000000000FF00000000000000
0000000000007B7B7B007B7B7B007B7B7B007B7B7B007B7B7B007B7B7B007B7B
7B00FFFFFF007B7B7B00FFFFFF0000000000000000000000000000000000EFD6
D600BDA5A500F7DEDE000000000000000000B59C9C00E7CECE00B59C9C00EFD6
D600BDA5A500F7DEDE00C6ADAD00FFE7E70000000000FFCECE00000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C00CECECE00CECECE00CECECE0063636300636363006363
630063636300CECECE00CECECE00CECECE006363630000000000CECECE00CECE
CE000000000000000000000000000000000000000000FF000000FF000000FF00
0000FF000000FF000000FF000000FF000000000000000000FF00000000000000
0000000000007B7B7B007B7B7B007B7B7B007B7B7B007B7B7B007B7B7B007B7B
7B00FFFFFF007B7B7B00FFFFFF0000000000000000000000000000000000B59C
9C00EFD6D600BDA5A5000000000000000000E7CECE00B59C9C00E7CECE00B59C
9C00EFD6D600BDA5A500F7DEDE0000000000FFCECE0000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C00CECECE00CECECE00CECECE0063636300636363006363
630063636300CECECE00CECECE00CECECE006363630000000000CECECE00CECE
CE000000000000000000000000000000000000000000FF000000FF000000FF00
0000FF000000FF000000FF000000FF000000000000000000FF00000000000000
0000000000007B7B7B007B7B7B007B7B7B007B7B7B007B7B7B007B7B7B007B7B
7B00000000007B7B7B000000000000000000000000000000000000000000E7CE
CE00B59C9C00EFD6D6000000000000000000B59C9C00E7CECE00B59C9C00E7CE
CE00B59C9C00EFD6D600BDA5A500000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C00CECECE00CECECE00CECECE0063636300636363006363
630063636300CECECE00CECECE00CECECE006363630000000000CECECE00CECE
CE00000000000000000000000000000000000000000000000000000000000000
000000000000FF000000FF000000000000000000000000000000000000000000
000000000000000000000000000000000000000000007B7B7B007B7B7B000000
00000000000000000000FFFFFF00FFFFFF00000000000000000000000000B59C
9C00E7CECE00B59C9C0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000CECECE009C9C9C00CECECE00CECECE00CECECE0063636300636363006363
630063636300CECECE00CECECE00CECECE006363630000000000CECECE00CECE
CE00000000000000000000000000000000000000000000000000000000000000
000000000000FF000000FF000000000000000000000000000000000000000000
000000000000000000000000000000000000000000007B7B7B007B7B7B000000
00000000000000000000FFFFFF00FFFFFF00000000000000000000000000E7CE
CE00B59C9C00E7CECE0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000009C9C9C0000000000000000000000000063636300636363006363
6300636363006363630063636300636363006363630000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000FF00000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000007B7B7B00000000000000
000000000000000000007B7B7B007B7B7B00000000000000000000000000B59C
9C00E7CECE00B59C9C00E7CECE00B59C9C00EFD6D600BDA5A500000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000007B7B7B007B7B7B000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000007B7B7B007B7B7B000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000FFFFFF00FFFFFF00000000000000000000000000FFFFFF00FFFF
FF00000000000000000000000000FFFFFF00FFFFFF000000000000000000F7FF
FF00F7FFFF00F7FFFF00F7FFFF0000000000000000000000000000000000FFFF
FF00FFFFFF00000000000000000000000000FFFFFF00FFFFFF00000000000000
000000000000FFFFFF00FFFFFF00000000000000000000000000FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000C6DEC600C6C6
C600F7FFFF0000000000C6DEC600C6C6C600C6DEC600C6C6C600C6C6C600FF00
0000FF000000FF000000FF000000FF000000C6C6C600C6C6C600C6DEC600C6C6
C600C6DEC6000000000084848400848484000000000000000000000000000000
00000000000000000000FFFFFF0000000000000000000000000000000000FFFF
FF0000000000000000000000000000000000FFFFFF0000000000000000000000
84000000840000008400F7FFFF00000000000000000000000000000000000000
0000FFFFFF0000000000000000000000000000000000FFFFFF00000000000000
00000000000000000000FFFFFF00000000000000000000000000000084000000
84000000840000008400FFFFFF00000000000000000000000000000000000000
00000000000000000000F7F7F700FFFFFF00F7F7F700FFFFFF00F7F7F700FFFF
FF00F7F7F700FFFFFF00F7F7F700FFFFFF00F7F7F700FFFFFF00F7F7F700FFFF
FF00F7F7F700FFFFFF00F7F7F700000000000000000000000000C6C6C600C6C6
C600C6C6C60000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
C600C6C6C60000000000C6C6C600000000000000000000000000000000000000
00000000000000000000FFFFFF0000000000000000000000000000000000FFFF
FF0000000000000000000000000000000000FFFFFF0000000000000000000000
000000008400F7FFFF0000000000000000000000000000000000000000000000
0000FFFFFF0000000000000000000000000000000000FFFFFF00000000000000
00000000000000000000FFFFFF00000000000000000000000000000000000000
8400FFFFFF000000000000000000000000000000000000000000000000000000
0000000000000000000008080800000000000808080000000000080808000000
0000080808000000000008080800000000000808080000000000080808000000
00000808080000000000FFFFFF00000000000000000000000000C6DEC600C6C6
C600C6DEC60000000000C6DEC600C6C6C600C6DEC600C6C6C600C6DEC600FF00
0000FF000000FF000000FF000000FF000000C6C6C600C6C6C600C6DEC600C6C6
C600C6DEC6000000000000000000C6C6C6000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000008400F7FFFF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000008400FFFFFF0000000000000000000000000000000000000000000000
0000000000000000000000000000FFFFFF00F7F7F700FFFFFF00F7F7F700FFFF
FF00F7F7F700FFFFFF00F7F7F700FFFFFF00F7F7F700FFFFFF00F7F7F700FFFF
FF00F7F7F70008080800F7F7F700000000000000000000000000C6C6C600C6C6
C600C6C6C60000000000C6C6C600C6C6C600C6C6C600C6C6C600FF000000C6C6
C600C6C6C600C6C6C600C6C6C600C6C6C600FF000000C6C6C600C6C6C600C6C6
C600C6C6C6000000000084848400C6C6C6000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000008400F7FFFF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000008400FFFFFF00000000000000000000000000000000000000
0000000000000000000008080800F7F7F700CECECE0000000000CECECE000000
0000CECECE00BDBDBD00CECECE00BDBDBD00CECECE00BDBDBD00CECECE00BDBD
BD00FFFFFF0000000000FFFFFF00000000000000000000000000C6DEC600C6C6
C600C6DEC60000000000C6DEC600C6DEC600C6DEC600C6C6C600FF000000C6C6
C600C6DEC600C6C6C600C6C6C600C6C6C600FF000000C6C6C600C6DEC600C6C6
C600C6DEC6000000000084848400C6C6C6000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000008400F7FFFF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000008400FFFFFF00000000000000000000000000F7F7F700FFFF
FF00F7F7F700FFFFFF0000000000FFFFFF00BDBDBD00CECECE0000000000CECE
CE00BDBDBD00CECECE00BDBDBD00CECECE00BDBDBD00CECECE00BDBDBD00CECE
CE00F7F7F70008080800F7F7F700000000000000000000000000C6C6C600C6C6
C600C6C6C60000000000F7FFFF00F7FFFF00C6C6C600C6C6C600FF000000C6C6
C600C6C6C600C6C6C600FF000000C6C6C600FF000000C6C6C600C6C6C600C6C6
C600C6C6C6000000000084848400C6C6C6000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
840000008400F7FFFF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000084000000
00000000000000008400FFFFFF000000000000000000F7F7F700080808000000
0000080808000000000008080800F7F7F700CECECE00BDBDBD0008080800BDBD
BD00CECECE00BDBDBD00CECECE00BDBDBD00CECECE00BDBDBD00CECECE00BDBD
BD00FFFFFF0000000000FFFFFF00000000000000000000000000C6DEC600C6C6
C600C6DEC6000000000000000000F7FFFF00C6DEC600C6C6C600C6DEC600C6C6
C600C6DEC600C6C6C600FF000000FF000000FF000000C6C6C600C6DEC600C6C6
C600C6DEC6000000000084848400C6C6C6000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000084000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
840000008400FFFFFF0000000000000000000000000008080800F7F7F700CECE
CE0094949400FFFFFF0000000000FFFFFF00BDBDBD00CECECE0000000000CECE
CE00BDBDBD00CECECE00BDBDBD00CECECE00BDBDBD00CECECE00BDBDBD00CECE
CE00F7F7F70008080800F7F7F700000000000000000000000000C6C6C600C6C6
C600C6C6C60000000000F7FFFF00F7FFFF00F7FFFF00F7FFFF00C6C6C600C6C6
C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
C600C6C6C6000000000084848400C6C6C6000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000FFFFFF00C6C6
C6009C9C9C00C6C6C60008080800F7F7F700CECECE00BDBDBD0008080800BDBD
BD00CECECE00BDBDBD00CECECE00BDBDBD00CECECE00BDBDBD00CECECE00BDBD
BD00FFFFFF0000000000FFFFFF00000000000000000000000000C6DEC600C6C6
C600C6DEC600C6C6C60000000000F7FFFF0000000000F7FFFF00F7FFFF00C6C6
C600C6DEC600C6C6C600C6DEC600C6C6C600C6DEC600C6C6C600C6DEC600C6C6
C600C6DEC600C6C6C60000000000C6C6C6000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000008080800F7F7F700CECE
CE0094949400FFFFFF0000000000FFFFFF00BDBDBD0008080800BDBDBD000808
0800BDBDBD00CECECE00BDBDBD00CECECE00BDBDBD00CECECE00BDBDBD00CECE
CE00F7F7F70008080800F7F7F700000000000000000000000000C6C6C600C6C6
C600C6C6C600C6C6C6000000000000000000F7FFFF00C6DEC600C6DEC600F7FF
FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
C600C6C6C600C6C6C60000000000848484000000000000000000000000000000
000000000000C6DEC60084C6C600F7FFFF0084C6C600F7FFFF0084C6C600C6DE
C60084A5A500C6C6C6008484A500C6C6C6008484A500C6C6C6008484A500C6C6
C600000000000000000000000000000000000000000000000000000000000000
000000000000C6DEC60084C6C600F7FFFF0084C6C600F7FFFF0084C6C600C6DE
C60084A5A500C6C6C6008484A500C6C6C6008484A500C6C6C6008484A500C6C6
C600000000000000000000000000000000000000000000000000FFFFFF00C6C6
C6009C9C9C00C6C6C60008080800F7F7F700FFFFFF00F7F7F700FFFFFF00F7F7
F700FFFFFF00F7F7F700FFFFFF00F7F7F700FFFFFF00F7F7F700FFFFFF00F7F7
F700FFFFFF0000000000FFFFFF00000000000000000000000000C6DEC600C6C6
C600C6DEC600C6C6C600C6C6C6000000000000000000F7FFFF0000000000C6DE
C600C6DEC600C6C6C600C6DEC600C6C6C600C6DEC600C6C6C600C6DEC600C6C6
C600C6DEC600C6C6C600C6C6C600000000000000000000000000000000000000
0000FFFFFF0084A5C600C6DEC60084C6C600F7FFFF0084C6C600F7FFFF0084C6
C600C6DEC60084A5A500C6C6C6008484A500C6C6C6008484A500C6C6C6000000
0000000000000000000000000000000000000000000000000000000000000000
0000FFFFFF0084A5C600C6DEC60084C6C600F7FFFF0084C6C600F7FFFF0084C6
C600C6DEC60084A5A500C6C6C6008484A500C6C6C6008484A500C6C6C6000000
0000000000000000000000000000000000000000000008080800F7F7F700CECE
CE0094949400FFFFFF00000000006B393900633131006B393900633131006B39
3900633131006B393900633131006B393900633131006B393900633131006B39
39006331310008080800F7F7F700000000000000000000000000C6C6C600C6C6
C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00008484A500C6C6C60084A5C600F7FFFF0084C6C600F7FFFF0084C6C600F7FF
FF0084C6C600C6DEC60084A5A500C6C6C6008484A500C6C6C6008484A5000000
0000000000000000000000000000000000000000000000000000000000000000
00008484A500C6C6C60084A5C600F7FFFF0084C6C600F7FFFF0084C6C600F7FF
FF0084C6C600C6DEC60084A5A500C6C6C6008484A500C6C6C6008484A5000000
0000000000000000000000000000000000000000000000000000FFFFFF00C6C6
C6009C9C9C00C6C6C60008080800633131006B393900633131006B3939006331
31006B393900633131006B393900633131006B393900633131006B3939006331
31006B39390000000000FFFFFF00000000000000000000000000C6DEC600C6C6
C600C6DEC600C6C6C600C6C6C600FF000000FF000000FF000000FF000000FF00
0000C6C6C600C6C6C600C6DEC600C6C6C600C6DEC60000000000848484008484
840000000000000000000000000000000000000000000000000000000000FFFF
FF00C6C6C6008484A500C6C6C60084A5C600F7FFFF0084C6C600F7FFFF0084C6
C600F7FFFF0084A5C600C6DEC60084A5A500C6C6C6008484A500000000008484
A50000000000000000000000000000000000000000000000000000000000FFFF
FF00C6C6C6008484A500C6C6C60084A5C600F7FFFF0084C6C600F7FFFF0084C6
C600F7FFFF0084A5C600C6DEC60084A5A500C6C6C6008484A500000000008484
A500000000000000000000000000000000000000000008080800F7F7F700CECE
CE0094949400FFFFFF0000000000080808000000000008080800000000000808
0800000000000808080000000000080808000000000008080800000000000808
08000000000008080800F7F7F700000000000000000000000000C6C6C600C6C6
C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000C6C6C6000000
000084848400000000000000000000000000000000000000000000000000C6C6
C6008484A500C6C6C60084A5A500C6C6C60084A5C600F7FFFF0084C6C600F7FF
FF0084C6C600F7FFFF0084A5C600C6DEC60084A5A500C6C6C60000000000C6C6
C60000000000000000000000000000000000000000000000000000000000C6C6
C6008484A500C6C6C60084A5A500C6C6C60084A5C600F7FFFF0084C6C600F7FF
FF0084C6C600F7FFFF0084A5C600C6DEC60084A5A500C6C6C60000000000C6C6
C600000000000000000000000000000000000000000000000000FFFFFF00C6C6
C6009C9C9C00949494009C9C9C00949494009C9C9C00949494009C9C9C009494
94009C9C9C00949494009C9C9C0094949400CECECE0000000000FFFFFF000000
0000000000000000000000000000000000000000000000000000C6DEC600C6C6
C600C6DEC600C6C6C600C6DEC600FF000000FF000000FF000000FF000000FF00
0000C6C6C600C6C6C600C6DEC600C6C6C600C6DEC6000000000000000000C6C6
C600000000008484840000000000000000000000000000000000FFFFFF008484
A500C6C6C6008484A500C6C6C60084A5A500C6DEC60084A5C600F7FFFF0084C6
C600F7FFFF0084C6C600F7FFFF0084A5C600C6DEC60000000000C6C6C6008484
A500000000000000000000000000000000000000000000000000FFFFFF008484
A500C6C6C6008484A500C6C6C60084A5A500C6DEC60084A5C600F7FFFF0084C6
C600F7FFFF0084C6C600F7FFFF0084A5C600C6DEC60000000000C6C6C6008484
A500000000000000000000000000000000000000000008080800F7F7F700CECE
CE00C6C6C600CECECE00C6C6C600CECECE00C6C6C600CECECE00C6C6C600CECE
CE00C6C6C600CECECE00C6C6C600CECECE00C6C6C60008080800F7F7F7000000
0000000000000000000000000000000000000000000000000000C6C6C600C6C6
C600C6C6C600C6C6C600FF000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
C600FF000000C6C6C600C6C6C600C6C6C600C6C6C6000000000084848400C6C6
C600C6C6C6000000000084848400000000000000000000000000FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000008484A500C6C6
C600000000000000000000000000000000000000000000000000FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000008484A500C6C6
C600000000000000000000000000000000000000000000000000FFFFFF00C6C6
C600CECECE00F7F7F700FFFFFF00F7F7F700FFFFFF00F7F7F700FFFFFF00F7F7
F700FFFFFF00F7F7F700FFFFFF00C6C6C600CECECE0000000000FFFFFF000000
0000000000000000000000000000000000000000000000000000C6DEC600C6DE
C600C6DEC600C6C6C600FF000000C6C6C600C6DEC600C6C6C600C6C6C600C6C6
C600FF000000C6C6C600C6DEC600C6C6C600C6DEC6000000000084848400C6C6
C600C6C6C6000000000084848400000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000008484A500C6C6C6008484
A500000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000008484A500C6C6C6008484
A500000000000000000000000000000000000000000008080800F7F7F700CECE
CE0094949400CECECE00C6C6C600CECECE00636363006B6B6B00636363006B6B
6B00636363006B6B6B0063636300FFFFFF00C6C6C60008080800F7F7F7000000
0000000000000000000000000000000000000000000000000000F7FFFF00F7FF
FF00C6C6C600C6C6C600FF000000C6C6C600C6C6C600C6C6C600FF000000C6C6
C600FF000000C6C6C600C6C6C600C6C6C600C6C6C6000000000084848400C6C6
C600C6C6C600C6C6C60000000000848484000000000000000000000000000000
000000000000FFFFFF008484A500C6C6C6008484A500C6C6C60084A5C600F7FF
FF0084C6C600F7FFFF0084C6C600F7FFFF0084A5C600C6C6C6008484A500C6C6
C600000000000000000000000000000000000000000000000000000000000000
000000000000FFFFFF008484A500C6C6C6008484A500C6C6C60084A5C600F7FF
FF0084C6C600F7FFFF0084C6C600F7FFFF0084A5C600C6C6C6008484A500C6C6
C600000000000000000000000000000000000000000000000000FFFFFF00C6C6
C6009C9C9C00C6C6C600CECECE00C6C6C6006B6B6B00636363006B6B6B00C6C6
C600CECECE00C6C6C6006B6B6B00F7F7F700CECECE0000000000FFFFFF000000
000000000000000000000000000000000000000000000000000000000000F7FF
FF00C6DEC600C6C6C600C6DEC600C6C6C600C6DEC600C6C6C600FF000000FF00
0000FF000000C6C6C600C6DEC600C6C6C600C6DEC6000000000084848400C6C6
C600C6C6C600C6C6C60000000000848484000000000000000000000000000000
000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00F7FFFF0084C6C600F7FFFF0084A5C600C6C6C6008484
A500000000000000000000000000000000000000000000000000000000000000
000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00F7FFFF0084C6C600F7FFFF0084A5C600C6C6C6008484
A500000000000000000000000000000000000000000008080800F7F7F700CECE
CE0094949400CECECE00C6C6C600CECECE00636363006B6B6B0063636300CECE
CE00C6C6C600CECECE0063636300FFFFFF00C6C6C60008080800F7F7F7000000
0000000000000000000000000000000000000000000000000000F7FFFF00F7FF
FF00F7FFFF00F7FFFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000000084848400C6C6
C600C6C6C600C6C6C60000000000848484000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00000000000000000000000000000000000000000000000000FFFFFF00C6C6
C6009C9C9C00C6C6C600CECECE00C6C6C6006B6B6B00636363006B6B6B00C6C6
C600CECECE00C6C6C6006B6B6B00F7F7F700CECECE0000000000FFFFFF000000
000000000000000000000000000000000000000000000000000000000000F7FF
FF0000000000F7FFFF00F7FFFF00C6C6C600C6DEC600C6C6C600C6DEC600C6C6
C600C6DEC600C6C6C600C6DEC600C6C6C600C6DEC600C6C6C60000000000C6C6
C600C6C6C600C6C6C60000000000848484000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000840000008400000084000000840000008400000084000000
8400000084000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000008400000084000000FF000000840000008400000084000000
FF00000084000000000000000000000000000000000008080800F7F7F700FFFF
FF0094949400FFFFFF00F7F7F700FFFFFF00636363006B6B6B00636363006B6B
6B00636363006B6B6B0063636300FFFFFF00F7F7F70008080800F7F7F7000000
0000000000000000000000000000000000000000000000000000000000000000
0000F7FFFF00C6DEC600C6DEC600F7FFFF00C6C6C600C6C6C600C6C6C600C6C6
C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000008484
8400C6C6C600C6C6C60000000000848484000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000008400000084000000840000008400000084000000
8400000084000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000840000008400000084000000FF00000084000000
8400000084000000000000000000000000000000000000000000080808000000
0000080808000000000008080800000000000808080000000000080808000000
00000808080000000000080808000000000008080800F7F7F700000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000F7FFFF0000000000C6DEC600C6DEC600C6C6C600C6DEC600C6C6
C600C6DEC600C6C6C600C6DEC600C6C6C600C6DEC600C6C6C600C6C6C6000000
000084848400C6C6C60000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000424D3E000000000000003E000000
2800000060000000300000000100010000000000400200000000000000000000
000000000000000000000000FFFFFF00FFFFFFFFFEFCFFFFF3000000FFFFFFFF
FEFCFC0073000000FFFFFFCFCCFCFD0040000000E0000FCFC83CFD0040000000
D3FFC7CFC83C810073000000D0004787F83EA10013000000D3FFC787C87CA100
1F000000D0004787C87CA10007000000D3FFC7CFCCFCA10007000000D00047CF
FCFEA10007000000D3FFC7CFFCFEA10007000000D00007FFCFDCA10007000000
D00007FBCF9CA10007000000D3FF87FBCF9CA10007000000D00047F9F805A100
0F000000D0004780B801A1002F000000D0004780B801A1005F000000D0004780
B80BA100DF000000D00047F9FF9CA1FF3F000000D00047F9FF9CA0003F000000
DB8077FBCFBCA01BFF000000E0000FFFCFFCBFE7FF000000FFFFFFFFCFFC8007
FF000000FFFFFFFFFFFFFFFFFF000000F9CE61E739C1FFFFFF800000F18C61C6
31C1FC0001800000F18C73C631E7FD5555800000FFFFF3FFFFF3FE0001800000
FFFFF3FFFFF9FC5005800000FFFFF3FFFFF9C22001800000FFFFE3FFFFD99400
05820000FFFFF7FFFFE3822001800000FFFFFFFFFFFFC00005808000F00007F0
0007820001810000F00007F00007C0000580A000E00007E00007820001800000
E00007E00007C0000580000FC00007C0000782AAA9800007C00007C00007C000
5F80000380000780000780001F800001800007800007C0005F800001C00007C0
000780001F800000F00007F00007C0005FA00000F00007F0000780001F800000
F80007F80007C0005FC80000FFF807FFF80780001FD00000FFFC07FFFC07D555
3FEA0001FFFFFFFFFFFFFFFFFFF0000300000000000000000000000000000000
000000000000}
end
inherited SaveDlg: TSaveDialog
Left = 360
end
end

149
JoinLAS.pas Normal file
Просмотреть файл

@ -0,0 +1,149 @@
unit JoinLAS;
{Join log from one las file to other}
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
AddLAS, ImgList, LASView, ComCtrls, CLas, Menus, Utils, FloatList, ToolWin,
System.ImageList;
type
{Form class }
TfrmJoinLAS = class(TfrmAddLAS)
procedure btnAddLASClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure fraLASView2lvLOGsMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure fraLASView1lvLOGsDragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
procedure fraLASView1lvLOGsDragDrop(Sender, Source: TObject; X,
Y: Integer);
procedure fraLASView2lvLOGsEndDrag(Sender, Target: TObject; X,
Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmJoinLAS: TfrmJoinLAS;
implementation
{$R *.DFM}
//Add to list SelectedItemList all selected in ListView items
//Return count of items was added to list
//If not items selected then return 0
//Output list do not clear
function GetSelectedItems( const listview : TListView; SelectedItemList : TList ): integer;
var
li : TListItem;
begin
result := 0;
if listview.SelCount = 0 then
exit;
if listview.SelCount = 1 then begin
SelectedItemList.Add( listview.Selected );
result := 1;
exit;
end;
li := listview.Selected;
while li <> nil do begin
SelectedItemList.Add( li );
inc(result);
li := listview.GetNextItem(li, sdAll, [isSelected]);
end;
end;
{do join
Äîáàâëåíèå âûáðàííûõ êàðîòàæåé èç îäíîãî ôàéëà â äðóãîé,
êîëîíêà ãëóáèí äîëæíà ñîâïîäàòü
}
procedure TfrmJoinLAS.btnAddLASClick(Sender: TObject);
var
d, v,
y : TxFloatList;
i, count : integer;
logs: TList;
s : string;
begin
logs := TList.Create();
y := TxFloatList.Create();
try
count := GetSelectedItems( fraLASView2.lvLOGs, logs );
if count = 0 then begin
MessageDlg('Âûáåðèòå â ïðàâîì îêíå îäèí èëè íåñêîëüêî êàðîòàæåé', mtInformation, [mbOk], 0);
exit;
end;
//êîëîíêà ãëóáèíû èç äîáàâëÿåìîãî ôàéëà ó âñåõ êîðàòàæåé îäíà
d := lf2.Logs.y(0);
s := '';
for i := 0 to count-1 do begin
//Ãîòîâèì èñõîäíûå ìàññèâû
v := lf2.Logs.y(TListItem(logs[i]).Caption);
//Èíòåðïîëèðóåì íå ðåãóëÿðíûå äàííûå d, v â ðåãóëÿðíûé ïî ãëóáèíå ñïèñîê y
NormalizeXYZ( lf1._STRT, lf1._STOP, lf1._STEP, lf1._NULL, //íà÷. êîíå÷íàÿ ãëóáèíà, øàã è ïóñòîå çíà÷åíèå
d, v, //Ãëóáèíà/çíà÷åíèå äîáàâëÿåìîãî ôàéëà
y); //Ðåçóëüòèðóþùèé ñïèñîê
if y.Count <> lf1.logs.log(0).y.count then begin
exit;
end;
s := s + lf2.Logs.LOG(TListItem(logs[i]).Caption).Id + ', ';
lf1.AddLog(lf2.Logs.LOG(TListItem(logs[i]).Caption).Id,
lf2.Logs.LOG(TListItem(logs[i]).Caption).aUNIT, y );
//Î÷èùàåì ñïèñîê îò óæå äîáàâëåííîãî êàðîòàæà
y.Clear();
end;
if length(FileNameAs) = 0 then
FileNameAs := lf1.FileName;
if MessageDlg( Format('Â ôàéë %-s áûëè äîáàâëåíû êàðîòàæè: %-s ñîõðàíèòü èçìåíåíèÿ â ôàéëå %-s?', [lf1.FileName, s, FileNameAs]), mtWarning, [mbYes, mbNo], 0) = mrYes then
lf1.WriteToLAS(FileNameAs);
finally
y.Free();
logs.free();
end;
//Óñòàíàâëèâàåì ñîñòîÿíèå ñïèñêîâ ñîãëàñíî èçìåíåíèÿì
s := lf1.FileName;
lf1.Clear();
lf1.Open(s);
InitListView( fraLASView1.lvHeader, fraLASView1.lvLOGs, lf1 );
end;
procedure TfrmJoinLAS.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmJoinLAS.fraLASView2lvLOGsMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
inherited;
if Button = mbLeft then
with Sender as TListView do begin
if ItemIndex >= 0 then
BeginDrag(False);
end;
end;
procedure TfrmJoinLAS.fraLASView1lvLOGsDragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
begin
inherited;
Accept := (Source is TListView) and ((Sender as TListView).Items.Count > 0);
end;
procedure TfrmJoinLAS.fraLASView1lvLOGsDragDrop(Sender, Source: TObject; X, Y: Integer);
begin
inherited;
if (Source is TListView) then begin
btnAddLASClick(btnAddLas);
end;
end;
procedure TfrmJoinLAS.fraLASView2lvLOGsEndDrag(Sender, Target: TObject; X, Y: Integer);
begin
inherited;
if Target <> nil then;
end;
end.

Двоичные данные
JoinWizard.dfm Normal file

Двоичный файл не отображается.

101
JoinWizard.pas Normal file
Просмотреть файл

@ -0,0 +1,101 @@
unit JoinWizard;
interface
uses
SysUtils, Windows, Messages, Classes, Graphics, Controls,
StdCtrls, ExtCtrls, Forms, ComCtrls, Dialogs, Buttons, CLas;
const
Caption1 = 'Ïåðâûé LAS ôàéë: ';
Caption2 = 'Âòîðîé LAS ôàéë: ';
Caption3 = 'Èòîãîâûé LAS ôàéë: ';
type
TfrmJoinWizard = class(TForm)
btnJoinLasFiles: TButton;
Button2: TButton;
Button3: TButton;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
btnFile1: TSpeedButton;
Label1: TLabel;
btnFile2: TSpeedButton;
btnFileRes: TSpeedButton;
Label2: TLabel;
Label3: TLabel;
OpenDialog1: TOpenDialog;
procedure btnFile1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure btnFile2Click(Sender: TObject);
procedure btnFileResClick(Sender: TObject);
procedure btnJoinLasFilesClick(Sender: TObject);
public
lasfile1,
lasfile2,
lasfileres : TLasFile;
end;
var
frmJoinWizard: TfrmJoinWizard;
implementation
{$R *.DFM}
procedure TfrmJoinWizard.FormCreate(Sender: TObject);
begin
lasfile1 := TLasFile.Create;
lasfile2 := TLasFile.Create;
lasfileres := TLasFile.Create;
end;
procedure TfrmJoinWizard.FormDestroy(Sender: TObject);
begin
lasfileres.Free;
lasfile2.Free;
lasfile1.Free;
end;
procedure TfrmJoinWizard.btnFile1Click(Sender: TObject);
begin
if OpenDialog1.Execute then begin
lasfile1.FileName := OpenDialog1.FileName;
Label1.Caption := Caption1 + OpenDialog1.FileName;
lasfile1.ReadFromLAS( lasfile1.FileName );
end;
end;
procedure TfrmJoinWizard.btnFile2Click(Sender: TObject);
begin
if OpenDialog1.Execute then begin
lasfile2.FileName := OpenDialog1.FileName;
Label2.Caption := Caption2 + OpenDialog1.FileName;
end;
end;
procedure TfrmJoinWizard.btnFileResClick(Sender: TObject);
begin
if OpenDialog1.Execute then begin
lasfileres.FileName := OpenDialog1.FileName;
Label3.Caption := Caption3 + OpenDialog1.FileName;
end;
end;
procedure TfrmJoinWizard.btnJoinLasFilesClick(Sender: TObject);
var
i : integer;
begin
lasfile2.ReadFromLAS( lasfile2.FileName );
for i := 0 to lasfile1.logs.Count-1 do begin
lasfile1.AddLogData( i, lasfile2.logs.log(i));
end;
lasfile1.header.SetValueAsFloat('STRT', lasfile1.logs.y(0).max);
lasfile1.header.SetValueAsFloat('STOP', lasFile1.logs.y(0).max);
lasfile1.WriteToLas( lasfileres.filename );
end;
end.

59
LASView.dfm Normal file
Просмотреть файл

@ -0,0 +1,59 @@
object fraLASView: TfraLASView
Left = 0
Top = 0
Width = 561
Height = 394
TabOrder = 0
OnResize = FrameResize
object lvLOGs: TListView
Left = 0
Top = 153
Width = 561
Height = 241
Align = alClient
Color = 15269887
Columns = <
item
Caption = 'LOG'
Width = 75
end
item
Caption = 'unit'
end
item
Caption = 'min'
Width = 75
end
item
Caption = 'max'
Width = 75
end>
FlatScrollBars = True
RowSelect = True
TabOrder = 0
ViewStyle = vsReport
OnDblClick = lvLOGsDblClick
end
object lvHeader: TListView
Left = 0
Top = 0
Width = 561
Height = 153
Align = alTop
Color = 15269887
Columns = <
item
Caption = 'Field name'
Width = 90
end
item
Caption = 'Value'
Width = 175
end>
FlatScrollBars = True
RowSelect = True
TabOrder = 1
ViewStyle = vsReport
OnDblClick = lvHeaderDblClick
end
end

123
LASView.pas Normal file
Просмотреть файл

@ -0,0 +1,123 @@
////////////////////////////////////////////////////////////////////////////////
//Ôðåéì äëÿ ïðîñìîòðà las ôàéëà
//ver 1.0.1
//date 22.04.2001
//autor softland@zmail.ru
////////////////////////////////////////////////////////////////////////////////
unit LASView;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ToolWin, ComCtrls, CLAS, Utils, ExtCtrls;
type
TfraLASView = class(TFrame)
lvLOGs : TListView;
lvHeader : TListView;
procedure FrameResize(Sender: TObject);
procedure lvHeaderDblClick(Sender: TObject);
procedure lvLOGsDblClick(Sender: TObject);
private
{ Private declarations }
public
function InitListView(const lf : TLasFile): integer;
function EditLASparams(var li : TListItem) : integer;
function EditLOGparams(var li : TListItem) : integer;
end;
implementation
uses
EditLOGid, EditLASParams;
{$R *.DFM}
function TfraLASView.InitListView(const lf : TLasFile): integer;
var
i : integer;
li : TListItem;
begin
lvHeader.Items.Clear();
for i := 0 to lf.header.count-1 do begin
li := lvHeader.Items.Add();
li.Caption := lf.header.strings[i];
li.SubItems.Add(lf.header.asString(li.Caption));
end;
lvLOGs.Items.Clear();
for i := 0 to lf.logs.count-1 do begin
li := lvLOGs.Items.Add();
li.Caption := Trim(lf.logs[i]);
li.SubItems.Add(Trim(lf.logs.GetUnit(i)));
li.SubItems.Add(FloatToStr(lf.logs.y(i).min));
li.SubItems.Add(FloatToStr(lf.logs.y(i).max));
end;
result := _OK_;
end;
procedure TfraLASView.FrameResize(Sender: TObject);
begin
lvHeader.Height := self.ClientHeight div 2;
end;
procedure TfraLASView.lvHeaderDblClick(Sender: TObject);
var
li : TListItem;
begin
li := lvHeader.ItemFocused;
EditLASparams( li );
end;
function TfraLASView.EditLASparams( var li : TListItem ) : integer;
begin
try
with frmEditLASParams do begin
edFieldName.Text := li.Caption;
edFieldValue.Text := li.SubItems[0];
if ShowModal() = mrOK then begin
// li.Caption := edFieldName.Text;
li.SubItems[0] := edFieldValue.Text;
result := _OK_;
end
else
result := _ERROR_;
end;
except
result := _ERROR_;
end;
end;
function TfraLASView.EditLOGparams(var li : TListItem) : integer;
begin
try
with frmEditLOGid do begin
edLOGid.Text := li.Caption;
edUnit.Text := li.SubItems[0];
edMin.Text := PutDecimalSeparator(li.SubItems[1]);
edMax.Text := PutDecimalSeparator(li.SubItems[2]);
if ShowModal = mrOK then begin
li.Caption := edLOGid.Text;
li.SubItems[0] := edUnit.Text;
li.SubItems[1] := edMin.Text;
li.SubItems[2] := edMax.Text;
result := _OK_;
end
else
result := _ERROR_;
end;
except
result := _ERROR_;
end;
end;
procedure TfraLASView.lvLOGsDblClick(Sender: TObject);
var
li : TListItem;
begin
li := lvLOGs.ItemFocused;
EditLOGparams( li );
end;
end.

324
LOGChart.dfm Normal file
Просмотреть файл

@ -0,0 +1,324 @@
object frmLogChart: TfrmLogChart
Left = 624
Top = 75
Caption = 'Log chart'
ClientHeight = 630
ClientWidth = 393
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -10
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnCanResize = FormCanResize
OnClose = FormClose
OnCreate = FormCreate
OnDestroy = FormDestroy
OnKeyDown = FormKeyDown
OnKeyUp = FormKeyUp
OnPaint = FormPaint
OnResize = FormResize
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object Splitter1: TSplitter
Left = 0
Top = 83
Width = 393
Height = 3
Cursor = crVSplit
Align = alTop
ExplicitTop = 89
ExplicitWidth = 23
end
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 393
Height = 33
ButtonHeight = 30
ButtonWidth = 31
Caption = 'ToolBar1'
Images = frmMain.ButtonImages
TabOrder = 0
object btnCopy: TToolButton
Left = 0
Top = 0
Hint = #1050#1086#1087#1080#1088#1086#1074#1072#1090#1100' '#1074' '#1073#1091#1092#1077#1088' '#1086#1073#1084#1077#1085#1072
Caption = 'btnCopy'
ImageIndex = 20
ParentShowHint = False
ShowHint = True
OnClick = btnCopyClick
end
object btnExport: TToolButton
Left = 31
Top = 0
Hint = #1069#1082#1089#1087#1086#1088#1090' '#1074' '#1084#1077#1090#1072#1092#1072#1081#1083
Caption = 'btnExport'
Enabled = False
ImageIndex = 21
ParentShowHint = False
ShowHint = True
Visible = False
OnClick = btnExportClick
end
object btnExportToACAD: TToolButton
Left = 62
Top = 0
Hint = #1069#1082#1089#1087#1086#1088#1090' '#1074' AutoCAD'
Enabled = False
ImageIndex = 22
ParentShowHint = False
ShowHint = True
Visible = False
OnClick = btnExportToACADClick
end
object ToolButton1: TToolButton
Left = 93
Top = 0
Width = 8
Caption = 'ToolButton1'
Style = tbsSeparator
end
object btnLOGstyle: TToolButton
Tag = 26
Left = 101
Top = 0
Hint = #1051#1086#1075#1072#1088#1080#1092#1084#1080#1095#1077#1089#1082#1080#1081' '#1084#1072#1089#1096#1090#1072#1073
ImageIndex = 26
ParentShowHint = False
ShowHint = True
OnClick = btnLOGstyleClick
end
object btnGrafPref: TToolButton
Left = 132
Top = 0
Hint = #1053#1072#1089#1090#1088#1086#1081#1082#1080' '#1082#1086#1083#1086#1085#1082#1080
Caption = 'btnGrafPref'
ImageIndex = 10
OnClick = btnGrafPrefClick
end
object btnToSeeLevel: TToolButton
Tag = 23
Left = 163
Top = 0
Hint = #1054#1090' '#1091#1088#1086#1074#1085#1103' '#1084#1086#1088#1103
Caption = 'btnToSeeLevel'
Enabled = False
ImageIndex = 23
ParentShowHint = False
ShowHint = True
Visible = False
OnClick = btnToSeaLevelClick
end
object btnAddLog: TToolButton
Left = 194
Top = 0
Hint = #1044#1086#1073#1072#1074#1080#1090#1100' '#1082#1072#1088#1086#1090#1072#1078' '#1080#1079' '#1092#1072#1081#1083#1072
Enabled = False
ImageIndex = 27
OnClick = btnAddLogClick
end
end
object sbStatus: TStatusBar
Left = 0
Top = 608
Width = 393
Height = 22
Panels = <
item
Width = 85
end
item
Width = 185
end
item
Width = 50
end>
end
object sbHeader: TScrollBox
Left = 0
Top = 33
Width = 393
Height = 50
HorzScrollBar.Smooth = True
HorzScrollBar.Style = ssFlat
HorzScrollBar.Tracking = True
VertScrollBar.Smooth = True
VertScrollBar.Size = 16
VertScrollBar.Style = ssFlat
VertScrollBar.Tracking = True
Align = alTop
BevelInner = bvNone
BevelOuter = bvNone
TabOrder = 2
ExplicitTop = 32
end
object ScrollBox: TPainterBox
Left = 0
Top = 86
Width = 393
Height = 522
HorzScrollBar.Style = ssFlat
VertScrollBar.Smooth = True
VertScrollBar.Size = 16
VertScrollBar.Style = ssFlat
VertScrollBar.Tracking = True
Align = alClient
TabOrder = 3
DefColumnWidth = 310
DepthColumn = pbDepth
FixedColumnWidth = False
Lock = True
object pbDepth: TPainterRule
Left = 0
Top = 0
Width = 41
Height = 690
Graf = rule
FixedWidth = True
end
object pbChart: TPainter
Tag = 100
Left = 41
Top = 0
Width = 325
Height = 690
Cursor = crCross
Color = clWhite
ParentColor = False
OnMouseMove = pbChartMouseMove
Graf = grf
FixedWidth = False
end
end
object SaveDialog1: TSaveDialog
DefaultExt = 'wmf'
Filter =
'Windows MetafileWindows|*.wmf|Enhanced Metafile|*.emf|AutoCAD sc' +
'ript|*.scr|Any Files|*.*'
Left = 136
Top = 40
end
object grf: TxGraf
NumXMinorTicks = 10
NumXMajorTicks = 10
NumYMinorTicks = 10
NumYMajorTicks = 10
Ax = 1.000000000000000000
Ay = 1.000000000000000000
XPowShift = 0
YPowShift = 0
XAutoScale = True
XGlobalScale = False
YGlobalScale = True
ScaleFactor = 2.000000000000000000
XGridSwtch = True
YGridSwtch = True
XAxisEnabled = False
YAxisEnabled = False
HLabelSize = 40
LeftMar = 0
RightMar = 0
TopMar = 5
BottomMar = 0
BkColour = clWhite
AxColour = 10461087
AyColour = 10461087
Colour = clRed
AxPenWidth = 1
AyPenWidth = 1
PenWidth = 0
AxPenStyle = psDot
AyPenStyle = psDot
PenStyle = psDot
XStep = 10.000000000000000000
YStep = 10.000000000000000000
Orientation = xgrfVERTICAL
YAxisStyle = asLINE
XAxisStyle = asLINE
Ymax = 100.000000000000000000
Xmax = 100.000000000000000000
PaintBox = pbChart
OwneredY = True
OwnerY = rule
Left = 152
Top = 208
end
object rule: TxGraf
NumXMinorTicks = 10
NumXMajorTicks = 10
NumYMinorTicks = 10
NumYMajorTicks = 10
Ax = 1.000000000000000000
Ay = 1.000000000000000000
XPowShift = 0
YPowShift = 0
XAutoScale = True
XGlobalScale = False
YGlobalScale = True
ScaleFactor = 1.000000000000000000
XGridSwtch = False
YGridSwtch = False
XAxisEnabled = False
YAxisEnabled = True
HLabelSize = 40
LeftMar = 0
RightMar = 0
TopMar = 0
BottomMar = 0
BkColour = clWhite
AxColour = 10461087
AyColour = 10461087
Colour = clBlack
AxPenWidth = 1
AyPenWidth = 1
PenWidth = 1
AxPenStyle = psDot
AyPenStyle = psDot
PenStyle = psDot
XStep = 10.000000000000000000
YStep = 10.000000000000000000
Orientation = xgrfVERTICAL
YAxisStyle = asLINE
XAxisStyle = asLINE
Ymax = 100.000000000000000000
Xmax = 100.000000000000000000
PaintBox = pbDepth
OwneredY = False
Left = 8
Top = 208
end
object mnuSelectLog: TPopupMenu
OnPopup = mnuSelectLogPopup
Left = 216
Top = 41
object Select1: TMenuItem
Caption = 'Select'
OnClick = Select1Click
end
object Deselect1: TMenuItem
Caption = 'Deselect'
OnClick = Deselect1Click
end
object Remove1: TMenuItem
Caption = 'Remove'
OnClick = Remove1Click
end
end
object OpenDialog1: TOpenDialog
FileName = 'f:\_project\WELLS\std.las'
InitialDir = 'E:\_project\wells'
Left = 288
Top = 41
end
object JvFormStorage1: TJvFormStorage
AppStorage = frmMain.JvAppIniFileStorage1
AppStoragePath = '%FORM_NAME%\'
StoredValues = <>
Left = 48
Top = 40
end
end

601
LOGChart.pas Normal file
Просмотреть файл

@ -0,0 +1,601 @@
unit LogChart;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, ComCtrls, StdCtrls, Common, Utils, CLas, xGraf,
xSeries, Buttons, GrafHead, ImgList,
Painter, PainterControl, PainterBox, Menus, ToolWin, JvComponentBase,
JvFormPlacement;
const
defFormCaption = 'well: "%s"';
defLOGLegendHeight = 41; //âûñîòà ïî óìîë÷àíèþ êíîïêè çàãîëîâêà êàðîòàæà
defLOGLegendWidth = 333; //øèðèíà ïî óìîë÷àíèþ êíîïêè çàãîëîâêà êàðîòàæà
defIncrInPage = 14; //êîëè÷åñòâî øàãîâ ïðîêðóòêè â ïîëíîì îêíå
_HINT_LOG_AXIS_TYPE_= 'Ëîãàðèôìè÷åñêèé ìàñøòàá';
_HINT_LIN_AXIS_TYPE_= 'Ëèíåéíûé ìàñøòàá';
_HINT_GROUND_LEVEL_ = 'Îò óðîâíÿ çåìëè';
_HINT_SEE_LEVEL_ = 'Îò óðîâíÿ ìîðÿ';
type
TfrmLogChart = class(TForm)
ToolBar1: TToolBar;
sbStatus: TStatusBar;
ToolButton1: TToolButton;
sbHeader: TScrollBox;
btnExport: TToolButton;
btnGrafPref: TToolButton;
SaveDialog1: TSaveDialog;
btnCopy: TToolButton;
btnExportToACAD: TToolButton;
btnLOGstyle: TToolButton;
grf: TxGraf;
rule: TxGraf;
ScrollBox: TPainterBox;
pbDepth: TPainterRule;
pbChart: TPainter;
btnToSeeLevel: TToolButton;
mnuSelectLog: TPopupMenu;
Select1: TMenuItem;
Deselect1: TMenuItem;
btnAddLog: TToolButton;
OpenDialog1: TOpenDialog;
Remove1: TMenuItem;
Splitter1: TSplitter;
JvFormStorage1: TJvFormStorage;
procedure pb1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormResize(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
function ExportToWmf( const filename : string) : integer;
procedure FormCanResize(Sender: TObject; var NewWidth, NewHeight: Integer; var Resize: Boolean);
procedure LOGLegend1Click(Sender: TObject);
procedure btnExportClick(Sender: TObject);
procedure btnGrafPrefClick(Sender: TObject);
procedure FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure btnCopyClick(Sender: TObject);
procedure btnExportToAcadClick(Sender: TObject);
procedure btnLOGstyleClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure btnToSeaLevelClick(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure Select1Click(Sender: TObject);
procedure Deselect1Click(Sender: TObject);
procedure mnuSelectLogPopup(Sender: TObject);
procedure pbChartMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure btnAddLogClick(Sender: TObject);
procedure pbPaint(Sender: TObject);
procedure Remove1Click(Sender: TObject);
private
HeaderBtnTag : integer;
public
las : TLasFile;
UnlockPaint : boolean;
retcode : integer;
function CreateChartHeader(Columns : TPaintersList; ColNum : integer) : integer;
function ResizeChartHeader() : integer;
function ResizeLOGButtons() : integer;
function DoResize(NewWidth, NewHeight : integer) : integer;
function Init(const _las : TLasFile) : integer;
function CreateMetafile() : TMetafile;
end;
implementation
uses
ChartHeaderInfo, ChartPref, Main, Clipbrd, ChartExport, preferences;
{$R *.DFM}
procedure TfrmLogChart.FormCreate(Sender: TObject);
begin
UnlockPaint := FALSE;
Top := 0;
Height := Screen.DesktopHeight-1;
grf.filename := 'grf';
rule.filename := 'rule';
end;
procedure TfrmLogChart.FormDestroy(Sender: TObject);
begin
//
end;
procedure TfrmLogChart.LOGLegend1Click(Sender: TObject);
begin
with frmChartHeaderInfo do begin
if Init((Sender as TLogLegendButton) , ScrollBox) = _ERROR_ then
exit;
if ShowModal() = mrOk then begin
if Finish((Sender as TLogLegendButton), ScrollBox) = _ERROR_ then
exit;
end;
end;
ScrollBox.Invalidate();
end;
///<summary> Ñîçäàíèå êíîïîê âñåõ êðèâûõ äëÿ îäíîãî òðåêà (êîëîíêè)
///</summary>
// ColNum - íîìåð êîëîíêè 1-ïåðâàÿ, 2-âòîðàÿ è ò.ä.
// Tag êîëîíêè ýòî å¸ íîìåð äëÿ ðàçäà÷è íîìåðîâ êíîïêàì ýòîé êîëîíêè
// Íîâûå êíîïêè íà÷èíàåì îò ëåâîãî êîíöà êîëîíêè
// Êíîïîêè âñòàâëÿþòñÿ â îáúåêò sbHeader
function TfrmLogChart.CreateChartHeader(Columns : TPaintersList; ColNum : integer) : integer;
var
i,
prevRight, //îêîí÷àíèå ïðåäûäóùåé êíîïêè
prevHeight, //îêîí÷àíèå ïðåäûäóùåé êíîïêè
ButtonWidth : integer; //ïîëíàÿ øèðèíà îáëàñòè äëÿ êíîïîê
grafs : TxGraf;
ser : TSeries;
begin
result := _ERROR_;
if ColNum <= 0 then
exit;
grafs := Columns[ColNum].Graf;
ButtonWidth := Columns[ColNum].Width;
if ColNum = 1 then
prevRight := Columns[ColNum-1].Right
else
prevRight := Columns[ColNum-1].Right + _LOG_COLUMN_GAP_;
prevHeight := 0;
//+debug
// sbStatus.Panels[0].Text := 'Panel width: ' + IntToStr(ButtonWidth);
// sbStatus.Panels[1].Text := 'Button width: ' + IntToStr(ButtonWidth);
//-debug
for i := 0 to grafs.Series.Count-1 do begin
ser := grafs.Series[i];
with TLogLegendButton.Create(sbHeader) do begin
Parent := sbHeader;
Tag := Columns[ColNum].Tag+i; //100, 101 - äëÿ ïåðâîé; 200, 201 - äëÿ âòîðîé
Top := prevHeight;
Left := prevRight;
Width := ButtonWidth;
Height := defLOGLegendHeight;
//init event handlers
OnClick := LOGLegend1Click;
PopupMenu := mnuSelectLog;
//init additional params
Caption := Format('%-s, %-s [%-4.3g, %-4.3g] ',[Trim(ser.name), Trim(ser.aUnit), ser.Xmin, ser.Xmax]);
MinValue := Format('%4.3g',[ser.Xmin]);
MaxValue := Format('%4.3g',[ser.Xmax]);
LineColour := ser.Colour;
PenStyle := ser.PenStyle;
PenWidth := ser.PenWidth;
prevHeight := prevHeight + Height;
end;
end;
result := _OK_;
end;
///<summary>
///Èçìåíåíèå øèðèíû êíîïîê çàãîëîâêîâ êàðîòàæà
///</summary>
function TfrmLogChart.ResizeChartHeader() : integer;
var
i : integer;
begin
if sbHeader.ControlCount = 0 then
exit;
for i := 0 to sbHeader.ControlCount-1 do begin
(sbHeader.Controls[i] as TLogLegendButton).Width := ScrollBox.Columns[1].Width;
end;
end;
function TfrmLogChart.ResizeLOGButtons() : integer;
var
prevHeight : integer; //ïîëíàÿ øèðèíà îáëàñòè äëÿ êíîïîê
i : integer;
begin
prevHeight := 0;
for i := 0 to sbHeader.ControlCount-1 do begin
with sbHeader.Controls[i] do begin
Top := prevHeight;
Left := pbChart.Left; //ëåâàÿ ãðàíèöà ïî íà÷àëó ãðàôèêà
Width := grf.cRect.Right; //øèðèíà ïî øèðèíå ãðàôèêà
Height := defLOGLegendHeight;
prevHeight := prevHeight + Height;
end;
end;
result := _OK_;
end;
function TfrmLogChart.DoResize(NewWidth, NewHeight : integer) : integer;
begin
// ResizeLOGButtons();
result := _OK_;
end;
procedure TfrmLogChart.FormResize(Sender: TObject);
begin
ResizeChartHeader();
{- DoResize(Width+1, Height);
ScrollBox.Update(); -}
end;
function TfrmLogChart.Init(const _las : TLasFile) : integer;
begin
// Íå ïåðåðèñîâûâàòü ôîðìó - ôëàã ïðîâåðÿåòñÿ â ôóíêöèè FormCanResize
UnlockPaint := false;
ScrollBox.Lock := true;
result := _ERROR_;
if (not Assigned(_las)) then begin
retcode := _ERR_INPUT_PARAMETERS_;
Close();
exit;
end;
las := _las;
if not las.DataPresent() then begin
retcode := _ERR_NO_LOG_SELECT_;
Close();
exit;
end;
Caption := Format(defFormCaption, [ExtractFileName(las.FileName)]);
// Çàãðóçêà äàííûõ èç îáúåêòà las â ãðàôèê
grf.LoadData(frmPreferences.leLOGid, stdLOG, las);
grf.ScaleFactor := svScaleValue500;
rule.LoadData(grf);
ScrollBox.SetColumnHeight();
ScrollBox.Rescale();
UnlockPaint := true;
ScrollBox.Lock := false;
result := _OK_;
end;
procedure TfrmLogChart.pb1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
// sbStatus.Panels[0].Text := IntToStr(pbChart.BoundsRect.Left) + ' x ' +IntToStr(pbChart.BoundsRect.Top);
// sbStatus.Panels[1].Text := IntToStr(pbChart.BoundsRect.Right) + ' x ' +IntToStr(pbChart.BoundsRect.Bottom);
end;
procedure TfrmLogChart.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmLogChart.FormCanResize(Sender: TObject; var NewWidth, NewHeight: Integer; var Resize: Boolean);
begin
if ((NewWidth <> Width) or (NewHeight <> Height)) and UnlockPaint then
Resize := true
else
Resize := false;
end;
procedure TfrmLogChart.btnExportClick(Sender: TObject);
begin
if SaveDialog1.Execute() then
ExportToWmf( SaveDialog1.FileName );
end;
procedure TfrmLogChart.btnGrafPrefClick(Sender: TObject);
var
res : integer;
begin
with frmChartPref do begin
if Init(ScrollBox) = _OK_ then
if ShowModal() = mrOk then begin
Finish(ScrollBox);
end;
end;
sbStatus.Panels[2].Text := IntToStr(res);
sbHeader.Invalidate();
ScrollBox.SetColumnHeight();
ScrollBox.Invalidate();
end;
//Çàêðûòèå ôîðìû ïî êëàâèøå ESC, îáíîâëåíèå ýêðàíà ïî F5 ComponentName
procedure TfrmLogChart.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if Key = VK_ESCAPE then
Close();
if Key = VK_F5 then
pbChart.Update();
end;
procedure TfrmLogChart.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
with ScrollBox.VertScrollBar do begin
if Key = VK_DOWN then
Position := Position + Increment;
if Key = VK_UP then
Position := Position - Increment;
if Key = VK_NEXT then
Position := Position + defIncrInPage * Increment;
if Key = VK_PRIOR then
Position := Position - defIncrInPage * Increment;
end;
end;
function TfrmLogChart.ExportToWmf( const filename : string) : integer;
var
AMetafile: TMetafile;
begin
AMetafile := CreateMetafile();
try
AMetafile.SaveToFile(filename);
finally
AMetafile.Free();
end;
result := _OK_;
end;
function TfrmLogChart.CreateMetafile() : TMetafile;
begin
result := ScrollBox.CreateMetafile();
// FormResize(self);
sbHeader.Invalidate();
ScrollBox.SetColumnHeight();
ScrollBox.Invalidate();
// Refresh();
end;
procedure TfrmLogChart.btnCopyClick(Sender: TObject);
var
Clipboard : TClipboard;
ClipFormat : WORD;
ClipData : THandle;
ClipPalette: HPALETTE;
Metafile : TMetafile;
begin
Clipboard := TClipboard.Create;
Metafile := CreateMetafile();
// Metafile.SaveToFile('x:\tmp\pic.emf');
Metafile.SaveToClipboardFormat(ClipFormat, ClipData, ClipPalette);
ClipBoard.SetAsHandle(ClipFormat, ClipData);
Metafile.Free();
Clipboard.Free();
end;
procedure TfrmLogChart.btnExportToAcadClick(Sender: TObject);
var
b : boolean;
vrect,
rrect : TRect;
begin
rrect := grf.rRect;
vrect := grf.vRect;
with TfrmChartExport.Create(self) do begin
if Init(ScrollBox) = _OK_ then
Show();
end;
grf.rRect := rrect;
grf.vRect := vrect;
ScrollBox.Rescale();
//Ãîòîâèì îáíîâëåíèå âñåé ôîðìû
ScrollBox.Invalidate();
end;
procedure TfrmLogChart.btnLOGstyleClick(Sender: TObject);
begin
with (Sender as TToolButton) do begin
case Tag of
26: begin
grf.XAxisStyle := asLOG;
Tag := 25;
Hint := _HINT_LIN_AXIS_TYPE_;
end;
25: begin
grf.XAxisStyle := asLINE;
Tag := 26;
Hint := _HINT_LOG_AXIS_TYPE_;
end;
else
Tag := 25;
end;
ImageIndex := Tag;
end;
grf.RestoreXMinMax();
grf.Invalidate();
end;
procedure TfrmLogChart.FormShow(Sender: TObject);
begin
// Ñîçäàåì êíîïêè äëÿ êðèâûõ - ïðè ïîêàçå ôîðìû äëÿ ïåðâîé êîëîíêè (âñåãäà ñóùåñòâóþùåé)
CreateChartHeader(ScrollBox.Columns, 1);
end;
procedure TfrmLogChart.pbPaint(Sender: TObject);
var
i : integer;
d : extended;
f, i1, i2 : int64;
begin
{ if UnlockPaint then begin
QueryPerformanceFrequency(f);
QueryPerformanceCounter(i1);
QueryPerformanceCounter(i2);
d := (i2 - i1) / (f);
sbStatus.Panels[0].Text := Format('%-10.6f',[d]);
writeln(logfile, 'Paint stop: ', sbStatus.Panels[0].Text);
end;}
end;
procedure TfrmLogChart.btnToSeaLevelClick(Sender: TObject);
begin
with (Sender as TToolButton) do begin
case Tag of
24: begin //ê óñòüþ ñêâàæèíû
ScrollBox.BaseLine := las._RKB;
Tag := 23;
Hint := _HINT_SEE_LEVEL_;
writeln(logfile, 'Align to SL: ');
end;
23: begin //ê óðîâíþ ìîðÿ
ScrollBox.BaseLine := 0;
Tag := 24;
Hint := _HINT_GROUND_LEVEL_;
writeln(logfile, 'Align to KB: ');
end;
end;
ImageIndex := Tag;
end;
end;
procedure TfrmLogChart.FormPaint(Sender: TObject);
begin
// sbStatus.Panels[0].Text := 'grf.w: ' + IntToStr(grf.cRect.Right - grf.cRect.Left);
// sbStatus.Panels[1].Text := 'r, c:' + IntToStr(pbDepth.Width) +', ' + IntToStr(pbChart.Width);
// sbStatus.Panels[2].Text := 'scr.w-b: ' + IntToStr(ScrollBox.Width - ScrollBox.VertScrollBar.Size);
// sbStatus.Panels[1].Text := las._API;
end;
procedure TfrmLogChart.mnuSelectLogPopup(Sender: TObject);
var
btn : TControl;
begin
btn := sbHeader.ControlAtPos(sbHeader.ScreenToClient(mnuSelectLog.PopupPoint), true, true);
//Çàïîìèíàåì íîìåð êíîïêè íà êîòîðîé âûçâàëè êîíòåêñòíîå ìåíþ
if Assigned(btn) then
HeaderBtnTag := btn.Tag;
end;
//Sender ýòî êîëîíêà íà êîòîðîé ïðîèñõîäèò ïåðåìåùåíèå êóðñîðà.
procedure TfrmLogChart.pbChartMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
SelectedButtonTag,
i,
ColNo,
SerNo : integer;
Ax, Bx,
Ay, By,
nx, ny : double;
log_name: string;
ser : TSeries;
painter : TPainter;
begin
SelectedButtonTag := -1;
//Íîìåð êîëîíêè íà êîòîðîé ïðîèñõîäèò ïåðåìåùåíèå ìûøêè
ColNo := GetColumnNoFromTag((Sender as TPainter).Tag);
//Èùåì è ñîõðàíÿåì Tag êíîïêè âûáðàííîé êðèâîé, íî òîëüêî â äàííîé êîëîíêå
for i := 0 to sbHeader.ControlCount-1 do begin
if (GetColumnNoFromTag((sbHeader.Controls[i] as TLogLegendButton).Tag) = ColNo) and
(sbHeader.Controls[i] as TLogLegendButton).Selected then begin
SelectedButtonTag := (sbHeader.Controls[i] as TLogLegendButton).Tag;
break;
end;
end;
painter := (Sender as TPainter);
if SelectedButtonTag < 0 then begin
Ax := painter.Graf.Ax;
Bx := painter.Graf.Bx;
Ay := painter.Graf.Ay;
By := painter.Graf.By;
log_name := Format('Column #%-2u',[ColNo]);
end else begin
//Íîìåð êîëîíêè îïðåäåëÿåòñÿ ïî Sender'ó //ColNo := GetColumnNoFromTag(SelectedButtonTag);
SerNo := GetSeriesNoFromTag(SelectedButtonTag);
if (ColNo < 0) or (ColNo >= ScrollBox.Columns.Count) or
(SerNo < 0) or (SerNo >= ScrollBox.Columns[ColNo].Graf.Series.Count) then exit;
ser := ScrollBox.Columns[ColNo].Graf.Series[SerNo];
log_name := ser.name;
Ax := ser.Ax;
Bx := ser.Bx;
Ay := ser.Ay;
By := ser.By;
end;
sbStatus.Panels[0].Text := IntToStr(x) + 'x' + IntToStr(y);
try
nx := ( x - Bx ) / Ax;
ny := ( y - By ) / Ay;
except
nx := 0;
ny := 0;
end;
sbStatus.Panels[1].Text := Format('%-s: %-4.2fx%-3.1f',[log_name,-ny,nx]);
end;
procedure TfrmLogChart.btnAddLogClick(Sender: TObject);
var
p : TPainter;
l : TLasFile;
begin
l := TLasFile.Create();
try
if not OpenDialog1.Execute() then
exit;
l.Open(OpenDialog1.FileName);
l.SelectAllLogs();
//Íå ïåðåðèñîâûâàòü ôîðìó - ôëàã ïðîâåðÿåòñÿ â ôóíêöèè FormCanResize
UnlockPaint := false;
ScrollBox.Lock := true;
Caption := Format(defFormCaption, [ExtractFileName(l.FileName)]);
p := ScrollBox.AddColumn(nil);
if not Assigned(p) then begin
MessageDlg('Can not add new column.', mtWarning, [mbOk], 0 );
exit;
end;
p.Color := clWhite;
p.OnMouseMove := pbChartMouseMove;
p.Graf.LoadData(frmPreferences.leLOGid, stdLOG, l );
p.Graf.filename := ExtractFileName(l.FileName);
with ScrollBox do begin
Lock := false;
AlignDepth();
Resize();
Rescale();
end;
CreateChartHeader(ScrollBox.Columns, ScrollBox.Columns.Count-1);
finally
UnlockPaint := true;
pbPaint(self);
Invalidate();
l.Free();
end;
end;
procedure TfrmLogChart.Select1Click(Sender: TObject);
var
i,
ColNo : integer;
a : TComponent;
begin
//HeaderBtnTag ñîäåðæèò tag òîé êíîïêè íà êîòîðîé âûçâàëè êîíòåêñòíîå ìåíþ
ColNo := GetColumnNoFromTag(HeaderBtnTag);
for i := 0 to sbHeader.ControlCount-1 do begin
if GetColumnNoFromTag((sbHeader.Controls[i] as TLogLegendButton).Tag) = ColNo then
(sbHeader.Controls[i] as TLogLegendButton).Selected := false;
end;
a := ComponentByTag(HeaderBtnTag, TComponent(sbHeader));
if Assigned(a) then begin
(a as TLogLegendButton).Selected := true;
(a as TLogLegendButton).Invalidate();
end;
end;
procedure TfrmLogChart.Deselect1Click(Sender: TObject);
var
a : TComponent;
begin
//HeaderBtnTag ñîäåðæèò tag òîé êíîïêè íà êîòîðîé âûçâàëè êîíòåêñòíîå ìåíþ
a := ComponentByTag(HeaderBtnTag, TComponent(sbHeader));
if assigned(a) then begin
(a as TLogLegendButton).Selected := false;
(a as TLogLegendButton).Invalidate();
end;
end;
procedure TfrmLogChart.Remove1Click(Sender: TObject);
//Óäàëÿåì êàðîòàæ èç êîëîíêè
var
a : TComponent;
LogId : string;
begin
//HeaderBtnTag ñîäåðæèò tag òîé êíîïêè íà êîòîðîé âûçâàëè êîíòåêñòíîå ìåíþ
a := ComponentByTag(HeaderBtnTag, TComponent(sbHeader));
if assigned(a) then begin
// LogId := (a as TLogLegend).
// (a as TLogLegend).Selected := false;
// (a as TLogLegend).Invalidate();
end;
end;
end.

Двоичные данные
LOGIX.GID Normal file

Двоичный файл не отображается.

Двоичные данные
LOGIX.HLP Normal file

Двоичный файл не отображается.

336
LogList.dfm Normal file
Просмотреть файл

@ -0,0 +1,336 @@
inherited frmLogList: TfrmLogList
Left = 473
Top = 367
Caption = 'Log list'
ClientWidth = 641
OldCreateOrder = True
ExplicitWidth = 657
ExplicitHeight = 401
PixelsPerInch = 96
TextHeight = 13
inherited Panel2: TPanel
Width = 641
ExplicitWidth = 641
inherited Label1: TLabel
Width = 59
Caption = 'Select folder'
ExplicitWidth = 59
end
object chkViewLogList: TCheckBox [1]
Left = 325
Top = 7
Width = 79
Height = 13
Caption = 'View logs list'
Checked = True
State = cbChecked
TabOrder = 0
end
inherited deFolder: TEdit
TabOrder = 1
end
inherited btnSelectFolder: TButton
TabOrder = 2
end
end
inherited Panel1: TPanel
Width = 641
ExplicitWidth = 641
inherited lv: TListView
Width = 639
FlatScrollBars = True
ViewStyle = vsReport
ExplicitWidth = 639
end
end
inherited Panel3: TPanel
Width = 641
ExplicitWidth = 641
inherited pbProgress: TProgressBar
Width = 163
ExplicitWidth = 163
end
inherited btnOK: TBitBtn
OnClick = BitBtn1Click
end
inherited btnCancel: TBitBtn
Left = 338
ExplicitLeft = 338
end
end
inherited PopupMenuImage: TImageList
Left = 88
Top = 129
Bitmap = {
494C0101040006000C0010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000002000000001002000000000000020
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000008400
0000840000008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000008400000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000840000008400
0000840000008400000000000000000000000000000000000000000000008400
0000FFFFFF008400000000000000000000000000000000000000000000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00FFFFFF008400000000000000000000000000000000000000000000008400
0000840000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000008400000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00FFFFFF008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00840000008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000840000008400
0000840000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
0000000000000000000000000000000000008400000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000840000008400
0000840000008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00FFFFFF008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00FFFFFF008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00840000008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000084000000840000008400
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000008400000084000000840000008400
0000840000008400000084000000840000008400000084000000840000008400
0000840000008400000084000000840000000000000000000000840000008400
0000840000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000084000000FFFFFF008400
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000084000000840000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000424D3E000000000000003E000000
2800000040000000200000000100010000000000000100000000000000000000
000000000000000000000000FFFFFF0000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000FF81FFFFFFFFFFFFFFFFE3FF1F1F6111
FFC3E23F1111FFFFFFC3E7FF3F3F6111FFC3FFFFFFFFFFFFFFC3FFFFFFFF6111
81C7FF1F1F1FFFFFFFFFFF1111116111C3FFFF3F3F3FFFFFC3FFFFFFFFFF6111
C3FFFFFFFFFFFFFFC3FF8FFF1F1F0000C7FF88FF1111FFFFFFFF9FFF3F3FE111
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000
000000000000}
end
end

94
LogList.pas Normal file
Просмотреть файл

@ -0,0 +1,94 @@
////////////////////////////////////////////////////////////////////////////////
//Ïîñòðîåíèå ñïèñêà èññëåäîâàíèé ïî ñêâàæèíàì äëÿ ñïèñêà las ôàéëîâ
//ver 1.0.1
//date 11.04.2001
//autor softland@zmail.ru
////////////////////////////////////////////////////////////////////////////////
unit LogList;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
APIcode, ImgList, Menus, StdCtrls, Buttons, ComCtrls,
ExtCtrls, Utils, Common, BaseDlg;
type
TfrmLogList = class(TfrmBaseDlg)
chkViewLogList: TCheckBox;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmLogList: TfrmLogList;
implementation
uses
CLas;
{$R *.DFM}
procedure TfrmLogList.BitBtn1Click(Sender: TObject);
var
hl : TextFile;
lf : TLASFile;
j,
i : integer;
lasfilename : string;
sLastError : string;
begin
inherited;
if deFolder.Text <> 'deFolder' then begin
if SearchFiles() = _ERROR_ then exit;
end else begin
exit;
end;
pbProgress.min := 0;
pbProgress.max := strlstFile.Count -1;
pbProgress.Position := pbProgress.min;
AssignFile(hl, LogListFileName);
try
Rewrite(hl);
except
Writeln(logfile, Format('Can''t create file: %s', [LogListFileName]));
Exit;
end;
Writeln(hl, Format('FILE%sAPI%sLOGid%smin%smax',[#9,#9,#9,#9]));
lf := TLASFile.Create();
try
for i := 0 to strlstFile.Count -1 do begin
lasfilename := strlstFile[i];
Writeln(logfile, Format('Reading header of the file: %s', [lasfilename]));
if lf.ReadFromLas(lasfilename, false) = _OK_ then begin
for j := 0 to lf.logs.Count -1 do begin
Writeln(hl, Format('%-s%s%-s%s%-s%s%-9.3f%s%-9.3f',[Trim(lf.FileName), #9,
Trim(lf._API), #9,
Trim(lf.logs[j]), #9,
lf._STRT,#9,
lf._STOP]));
end;
{$IFDEF DEBUG}
Writeln(logfile, Format('Write header of file: %s', [lasfilename]));
{$ENDIF}
end
else
Writeln(logfile, Format('Error, las file: %s skip', [lasfilename]));
pbProgress.Position := pbProgress.Position + 1;
lf.Clear();
end;
finally
lf.Free();
CloseFile(hl);
end;
if chkViewLogList.Checked then begin
if ShellExec(Application.Handle, LogListFileName) = 0 then begin
sLastError := MessageOnShellExecuteError(LogListFileName);
MessageDlg(sLastError, mtError, [mbOK], 0);
end;
end;
end;
end.

Двоичные данные
Photos.lnk Normal file

Двоичный файл не отображается.

137
Replace.dfm Normal file
Просмотреть файл

@ -0,0 +1,137 @@
object frmReplace: TfrmReplace
Left = 313
Top = 400
BorderStyle = bsDialog
Caption = 'Search & replace'
ClientHeight = 244
ClientWidth = 397
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -10
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
ShowHint = True
OnCreate = FormCreate
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object lblResult: TLabel
Left = 7
Top = 221
Width = 163
Height = 13
AutoSize = False
Caption = 'lblResult'
end
object GroupBox1: TGroupBox
Left = 7
Top = 7
Width = 312
Height = 202
Caption = ' parameters '
TabOrder = 0
object edStrToSearch: TLabeledEdit
Left = 13
Top = 39
Width = 118
Height = 21
EditLabel.Width = 74
EditLabel.Height = 13
EditLabel.Caption = 'Value to search'
TabOrder = 0
end
object edStrToReplace: TLabeledEdit
Left = 13
Top = 169
Width = 118
Height = 21
EditLabel.Width = 40
EditLabel.Height = 13
EditLabel.Caption = 'Replace'
TabOrder = 1
end
object GroupBox2: TGroupBox
Left = 150
Top = 13
Width = 156
Height = 105
Caption = ' result '
TabOrder = 2
object lblInfo: TLabel
Left = 7
Top = 20
Width = 143
Height = 78
AutoSize = False
Caption = '**************'
WordWrap = True
end
end
object GroupBox3: TGroupBox
Left = 13
Top = 65
Width = 131
Height = 85
Caption = ' selection criteria '
TabOrder = 3
object rbGreate: TRadioButton
Left = 7
Top = 20
Width = 91
Height = 13
Caption = 'Greate'
TabOrder = 0
end
object rbEqual: TRadioButton
Left = 7
Top = 39
Width = 91
Height = 14
Caption = 'Equal'
Checked = True
TabOrder = 1
TabStop = True
end
object rbLess: TRadioButton
Left = 7
Top = 59
Width = 91
Height = 13
Caption = 'Less'
TabOrder = 2
end
end
end
object BitBtn2: TBitBtn
Left = 328
Top = 72
Width = 65
Height = 25
Kind = bkCancel
NumGlyphs = 2
TabOrder = 1
end
object btnReplace: TBitBtn
Left = 328
Top = 8
Width = 65
Height = 25
Hint = #1047#1072#1084#1077#1085#1080#1090#1100' '#1079#1085#1072#1095#1077#1085#1080#1103' '#1087#1086' '#1091#1089#1083#1086#1074#1080#1102
Caption = 'Replace'
ParentShowHint = False
ShowHint = True
TabOrder = 2
OnClick = btnReplaceClick
end
object BitBtn1: TBitBtn
Left = 328
Top = 40
Width = 65
Height = 25
Kind = bkOK
NumGlyphs = 2
TabOrder = 3
end
end

114
Replace.pas Normal file
Просмотреть файл

@ -0,0 +1,114 @@
unit Replace;
interface
uses
Windows, Messages, SysUtils, Classes, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, cLAS, Utils, Menus;
type
TfrmReplace = class(TForm)
GroupBox1: TGroupBox;
BitBtn2: TBitBtn;
edStrToSearch: TLabeledEdit;
edStrToReplace: TLabeledEdit;
GroupBox2: TGroupBox;
lblInfo: TLabel;
btnReplace: TBitBtn;
lblResult: TLabel;
GroupBox3: TGroupBox;
rbGreate: TRadioButton;
rbEqual: TRadioButton;
rbLess: TRadioButton;
BitBtn1: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure btnReplaceClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
lf : TLASFile;
end;
var
frmReplace: TfrmReplace;
implementation
uses
floatlist;
{$R *.dfm}
procedure TfrmReplace.FormCreate(Sender: TObject);
begin
lblResult.Caption := '';
end;
procedure TfrmReplace.btnReplaceClick(Sender: TObject);
var
j : integer;
vs,
vr : double;
y : TxFloatList;
begin
y := lf.SelectedLOG.y;
j := 0;
if Pos('All', edStrToSearch.Text ) > 0 then
j := y.ReplaceNegativeToNULL()
else begin
try
vs := StrToFloat( edStrToSearch.Text );
except
lblResult.Caption := 'Invalid search float number.';
exit;
end;
try
vr := StrToFloat( edStrToReplace.Text);
except
lblResult.Caption := 'Invalid replace float number.';
exit;
end;
if rbEqual.Checked then
j := y.ReplaceValToVal( vs, vr, _EPSILON_ )
else if rbLess.Checked then
j := y.ReplaceLessToVal( vs, vr, _EPSILON_ )
else if rbGreate.Checked then
j := y.ReplaceGreateToVal( vs, vr, _EPSILON_ )
end; // if
if j > 0 then begin
lf.Changed := TRUE;
lf.SelectedLOG.y.FindMax();
lf.SelectedLOG.y.FindMin();
lblResult.Caption := Format('Replaced: %u numbers.',[j]);
end;
end;
procedure TfrmReplace.FormShow(Sender: TObject);
var
l : TLOGDataSet;
begin
l := lf.SelectedLOG;
{ with pSearchMenu do begin
Items.Clear();
Items.Add( TMenuItem.Create(self));
Items[0].Caption := FloatToStr(l.y.Max);
Items[0].OnClick := pSearchMenuClick;
Items.Add( TMenuItem.Create(self));
Items[1].Caption := FloatToStr(l.y.Min);
Items[1].OnClick := pSearchMenuClick;
Items.Add( TMenuItem.Create(self));
Items[2].Caption := 'All negative values.';
Items[2].OnClick := pSearchMenuClick;
end;
with pReplaceMenu do begin
Items.Clear();
Items.Add( TMenuItem.Create(self));
Items[0].Caption := FloatToStr(lf._NULL);
Items[0].OnClick := pReplaceMenuClick;
end;}
edStrToReplace.Text := FloatToStr(lf._NULL);
lblInfo.Caption := Format('LOG: %s,'+CRLF+'Min: %8.3f,'+CRLF+'Max: %8.3f.',[l.Id, l.y.Min, l.y.Max]);
end;
end.

533
SearchResult.dfm Normal file
Просмотреть файл

@ -0,0 +1,533 @@
object frmSearchResult: TfrmSearchResult
Left = 584
Top = 277
Width = 467
Height = 354
Caption = 'Search result'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -10
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object Panel2: TPanel
Left = 0
Top = 33
Width = 459
Height = 294
Align = alClient
BevelOuter = bvLowered
TabOrder = 0
object lvFiles: TListView
Left = 1
Top = 1
Width = 457
Height = 273
Align = alClient
Color = 15269887
Columns = <
item
Caption = 'Files'
Width = 353
end>
FlatScrollBars = True
PopupMenu = PopupMenu1
TabOrder = 0
ViewStyle = vsReport
OnDblClick = lvFilesDblClick
end
object sbStatus: TStatusBar
Left = 1
Top = 274
Width = 457
Height = 19
Panels = <
item
Width = 50
end>
end
end
object Panel3: TPanel
Left = 0
Top = 0
Width = 459
Height = 33
Align = alTop
BevelOuter = bvLowered
TabOrder = 1
object Label1: TLabel
Left = 7
Top = 7
Width = 72
Height = 13
Caption = 'Filder to search'
end
object SpeedButton1: TSpeedButton
Left = 328
Top = 8
Width = 23
Height = 22
Caption = '...'
OnClick = SpeedButton1Click
end
object CheckBox1: TCheckBox
Left = 371
Top = 7
Width = 72
Height = 13
Caption = 'Subfolders'
Checked = True
Enabled = False
State = cbChecked
TabOrder = 0
end
object deFolder: TEdit
Left = 80
Top = 8
Width = 249
Height = 21
TabOrder = 1
OnChange = deFolderChange
end
end
object PopupMenu1: TPopupMenu
Images = ImageList1
Left = 16
Top = 65
object Icon1: TMenuItem
Caption = 'Icon'
ImageIndex = 0
OnClick = Icon1Click
end
object SmallIcon1: TMenuItem
Caption = 'Small Icon'
ImageIndex = 2
OnClick = SmallIcon1Click
end
object List1: TMenuItem
Caption = 'List'
ImageIndex = 1
OnClick = List1Click
end
object Report1: TMenuItem
Caption = 'Report'
ImageIndex = 3
OnClick = Report1Click
end
object Open1: TMenuItem
Caption = 'Open'
OnClick = Open1Click
end
end
object ImageList1: TImageList
Left = 48
Top = 65
Bitmap = {
494C010104000900040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000003000000001002000000000000030
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000000000000000000000000000008400
0000840000008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000840000008400
00008400000084000000000000000000000084000000FFFFFF00840000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
0000000000000000000000000000000000000000000000000000000000008400
0000FFFFFF008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00FFFFFF008400000000000000000000008400000084000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000000000000000000000000000008400
0000840000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00FFFFFF008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00840000008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000840000008400
0000840000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
0000000000000000000000000000000000008400000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000840000008400
0000840000008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00FFFFFF008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00FFFFFF008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000084000000FFFF
FF00840000008400000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000008400000084000000840000000000
0000000000000000000000000000000000000000000084000000840000008400
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000840000008400
0000840000008400000084000000840000008400000084000000840000008400
0000840000008400000084000000840000000000000000000000840000008400
0000840000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
00000000000000000000000000000000000084000000FFFFFF00840000000000
0000000000000000000000000000000000000000000084000000FFFFFF008400
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000008400000084000000000000000000
0000000000000000000000000000000000000000000084000000840000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000424D3E000000000000003E000000
2800000040000000300000000100010000000000800100000000000000000000
000000000000000000000000FFFFFF0000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000FF81FFFFFFFFFFFFFFFF1F1FE3FF6111
FFC31111E23FFFFFFFC33F3FE7FF6111FFC3FFFFFFFFFFFFFFC3FFFFFFFF6111
81C71F1FFF1FFFFFFFFF1111FF116111C3FF3F3FFF3FFFFFC3FFFFFFFFFF6111
C3FFFFFFFFFFFFFFC3FF1F1F8FFF0000C7FF111188FFFFFFFFFF3F3F9FFFE111
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000
000000000000}
end
end

110
SearchResult.pas Normal file
Просмотреть файл

@ -0,0 +1,110 @@
unit SearchResult;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, ComCtrls, StdCtrls, Buttons, ExtCtrls, Common, ImgList;
type
TfrmSearchResult = class(TForm)
Panel2: TPanel;
Panel3: TPanel;
Label1: TLabel;
CheckBox1: TCheckBox;
lvFiles: TListView;
PopupMenu1: TPopupMenu;
Icon1: TMenuItem;
SmallIcon1: TMenuItem;
List1: TMenuItem;
Report1: TMenuItem;
ImageList1: TImageList;
Open1: TMenuItem;
sbStatus: TStatusBar;
deFolder: TEdit;
SpeedButton1: TSpeedButton;
procedure Icon1Click(Sender: TObject);
procedure SmallIcon1Click(Sender: TObject);
procedure List1Click(Sender: TObject);
procedure Report1Click(Sender: TObject);
procedure deFolderChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Open1Click(Sender: TObject);
procedure lvFilesDblClick(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
public
end;
var
frmSearchResult: TfrmSearchResult;
implementation
uses
Utils, ViewLAS;
{$R *.DFM}
procedure TfrmSearchResult.Icon1Click(Sender: TObject);
begin
lvFiles.ViewStyle := vsIcon;
end;
procedure TfrmSearchResult.SmallIcon1Click(Sender: TObject);
begin
lvFiles.ViewStyle := vsSmallIcon;
end;
procedure TfrmSearchResult.List1Click(Sender: TObject);
begin
lvFiles.ViewStyle := vsList;
end;
procedure TfrmSearchResult.Report1Click(Sender: TObject);
begin
lvFiles.ViewStyle := vsReport;
end;
procedure TfrmSearchResult.deFolderChange(Sender: TObject);
begin
strlstFile.Clear;
WorkFolderPath := deFolder.Text;
try
FFiles( AddBackSlash(deFolder.Text), '*.las', strlstFile);
Utils.CopyStrListToListView( strlstFile, lvFiles );
sbStatus.Panels[0].Text := Format('Found %u LAS files.',[strlstFile.Count]);
except
sbStatus.Panels[0].Text := 'LAS files not found...';
end;
end;
procedure TfrmSearchResult.FormShow(Sender: TObject);
begin
if ParamCount >= 2 then
deFolder.Text := WorkFolderPath //ïðè èçìåíåíèè ñîñòîÿíèÿ âûçûâàåòñÿ ñîáûòèå OnChange -> ôóíêöèÿ deFolderChange
else
deFolder.Text := AddBackSlash(ExtractFilePath(ParamStr(0)));
end;
procedure TfrmSearchResult.Open1Click(Sender: TObject);
var
li : TListItem;
begin
li := lvFiles.ItemFocused;
lf.Clear;
if lf.Open( li.Caption ) = _OK_ then
frmViewLAS.ShowModal;
end;
procedure TfrmSearchResult.lvFilesDblClick(Sender: TObject);
begin
Open1click( Sender );
end;
procedure TfrmSearchResult.SpeedButton1Click(Sender: TObject);
begin
//deFolder.Text :=
end;
end.

102
TestChart.dfm Normal file
Просмотреть файл

@ -0,0 +1,102 @@
object frmTestChart: TfrmTestChart
Left = 309
Top = 188
Width = 613
Height = 396
Caption = 'frmTestChart'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnShow = FormShow
PixelsPerInch = 120
TextHeight = 16
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 605
Height = 29
ButtonHeight = 16
Caption = 'ToolBar1'
TabOrder = 0
object Label1: TLabel
Left = 0
Top = 2
Width = 41
Height = 16
Caption = 'Label1'
end
object ToolButton1: TToolButton
Left = 41
Top = 2
Width = 8
Caption = 'ToolButton1'
Style = tbsSeparator
end
object ToolButton2: TToolButton
Left = 49
Top = 2
Width = 8
Caption = 'ToolButton2'
ImageIndex = 0
Style = tbsSeparator
end
object ToolButton3: TToolButton
Left = 57
Top = 2
Width = 8
Caption = 'ToolButton3'
ImageIndex = 1
Style = tbsSeparator
end
object ToolButton4: TToolButton
Left = 65
Top = 2
Width = 8
Caption = 'ToolButton4'
ImageIndex = 2
Style = tbsSeparator
end
object Label2: TLabel
Left = 73
Top = 2
Width = 41
Height = 16
Caption = 'Label2'
end
end
object sbStatus: TStatusBar
Left = 0
Top = 336
Width = 605
Height = 20
Panels = <
item
Width = 50
end
item
Width = 50
end>
SimplePanel = False
end
object ScrollBox1: TScrollBox
Left = 0
Top = 29
Width = 233
Height = 307
Align = alLeft
TabOrder = 2
object pbBox: TPaintBox
Left = 0
Top = 0
Width = 213
Height = 10000
Align = alTop
OnMouseDown = pbBoxMouseDown
OnPaint = pbBoxPaint
end
end
end

92
TestChart.pas Normal file
Просмотреть файл

@ -0,0 +1,92 @@
unit TestChart;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, ComCtrls, ToolWin, StdCtrls, Common, Utils, LasClass;
type
TfrmTestChart = class(TForm)
ToolBar1: TToolBar;
sbStatus: TStatusBar;
ScrollBox1: TScrollBox;
pbBox: TPaintBox;
Label1: TLabel;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
Label2: TLabel;
procedure FormShow(Sender: TObject);
procedure pbBoxMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure pbBoxPaint(Sender: TObject);
private
ymin,
ymax,
xmin,
xmax,
ay, by,
ax, bx : double;
public
xlog, //depth log
ylog : TLOGDataSet; //value log
las : TLASFile;
end;
var
frmTestChart: TfrmTestChart;
implementation
{$R *.DFM}
procedure TfrmTestChart.FormShow(Sender: TObject);
begin
// Chart.SeriesList[0].Clear;
Label1.Caption := xlog.LOGid;
Label2.Caption := ylog.LOGid;
ymin := ylog.y.FindMin;
ymax := ylog.y.FindMax;
xmin := xlog.y.FindMin;
xmax := xlog.y.FindMax;
pbBox.Height := Round(xmax);
ax := (0.0 - pbBox.Height)/(xmin - xmax);
bx := 0.0 - ax * xmin;
ay := (0.0 - pbBox.Width)/(ymin - ymax);
by := pbBox.Width - ay * ymax;
end;
procedure TfrmTestChart.pbBoxMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
sbStatus.Panels[0].Text := IntToStr(x);
sbStatus.Panels[1].Text := IntToStr(y);
end;
procedure TfrmTestChart.pbBoxPaint(Sender: TObject);
var
i : integer;
point : TPoint;
x, y : integer;
begin
point.x := 0;
point.y := 0;
with pbBox.Canvas do begin
Pen.Color := clRed;
Pen.Style := psSolid;
Pen.Mode := pmCopy;
Pen.Width := 5;
PenPos := point;
for i := 0 to xlog.y.Count-1 do begin
x := Round(ax*xlog.y[i]+bx);
y := Round(ay*ylog.y[i]+by);
LineTo( y, x);
end;
end;
end;
end.

78
ViewLAS.dfm Normal file
Просмотреть файл

@ -0,0 +1,78 @@
object frmViewLAS: TfrmViewLAS
Left = 253
Top = 155
Width = 599
Height = 460
Caption = 'View LAS file:'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -10
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
inline fraLASView: TfraLASView
Left = 0
Top = 29
Width = 591
Height = 385
Align = alClient
TabOrder = 0
inherited lvLOGs: TListView
Top = 249
Width = 591
Height = 136
Columns = <
item
Caption = 'LOG'
Width = 61
end
item
Caption = 'unit'
Width = 41
end
item
Caption = 'min'
Width = 61
end
item
Caption = 'max'
Width = 61
end>
end
inherited lvHeader: TListView
Width = 591
Height = 249
Columns = <
item
Caption = 'Field name'
Width = 73
end
item
Caption = 'Value'
Width = 142
end>
end
end
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 591
Height = 29
Caption = 'ToolBar1'
TabOrder = 1
end
object sbStatus: TStatusBar
Left = 0
Top = 414
Width = 591
Height = 19
Panels = <
item
Width = 50
end>
end
end

42
ViewLAS.pas Normal file
Просмотреть файл

@ -0,0 +1,42 @@
////////////////////////////////////////////////////////////////////////////////
//Ôîðìà äëÿ ïðîñìîòðà las ôàéëà îòðàáàòûâàåò ÷åðåç ôðåéì "LASView"
//ver 1.0.2
//date 22.04.2001
//autor softland@zmail.ru
////////////////////////////////////////////////////////////////////////////////
unit ViewLAS;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, Buttons, ExtCtrls, CLas, Utils, Common,
ToolWin, LASView;
const
CFormCaption = 'View LAS file: ';
CPntCountCaption = 'Total read points: ';
type
TfrmViewLAS = class(TForm)
fraLASView: TfraLASView;
ToolBar1: TToolBar;
sbStatus: TStatusBar;
procedure FormShow(Sender: TObject);
end;
var
frmViewLAS: TfrmViewLAS;
implementation
{$R *.DFM}
procedure TfrmViewLAS.FormShow(Sender: TObject);
begin
fraLASView.InitListView(lf);
sbStatus.Panels[0].Text := CPntCountCaption + IntToStr(lf.logs.y(0).Count);
self.Caption := CFormCaption + lf.FileName;
end;
end.

58
ViewLogList.dfm Normal file
Просмотреть файл

@ -0,0 +1,58 @@
object frmViewLogList: TfrmViewLogList
Left = 634
Top = 336
Width = 502
Height = 350
Caption = 'LOG list'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -10
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnClose = FormClose
PixelsPerInch = 96
TextHeight = 13
object StatusBar1: TStatusBar
Left = 0
Top = 304
Width = 494
Height = 19
Panels = <>
end
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 494
Height = 41
Caption = 'ToolBar1'
TabOrder = 1
end
object Panel1: TPanel
Left = 0
Top = 41
Width = 494
Height = 263
Align = alClient
BevelInner = bvRaised
BevelOuter = bvLowered
TabOrder = 2
object mmLogList: TMemo
Left = 2
Top = 2
Width = 490
Height = 259
Align = alClient
Lines.Strings = (
'mmLogList')
TabOrder = 0
end
end
object Images: TImageList
Height = 32
Width = 32
Left = 464
Top = 8
end
end

47
ViewLogList.pas Normal file
Просмотреть файл

@ -0,0 +1,47 @@
unit ViewLogList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ImgList, ToolWin, ComCtrls, StdCtrls, Utils;
type
TfrmViewLogList = class(TForm)
StatusBar1: TStatusBar;
ToolBar1: TToolBar;
Images: TImageList;
Panel1: TPanel;
mmLogList: TMemo;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
function Init( filename : string ) : integer;
end;
var
frmViewLogList: TfrmViewLogList;
implementation
{$R *.dfm}
function TfrmViewLogList.Init( filename : string ) : integer;
begin
if not FileExists(filename) then begin
result := _ERROR_;
exit;
end;
Caption := filename;
mmLogList.Lines.LoadFromFile(filename);
result := _OK_;
end;
procedure TfrmViewLogList.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
end.

47
ViewSheet.dfm Normal file
Просмотреть файл

@ -0,0 +1,47 @@
object frmViewSheet: TfrmViewSheet
Left = 547
Top = 408
Caption = 'frmViewSheet'
ClientHeight = 258
ClientWidth = 538
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -10
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnClose = FormClose
PixelsPerInch = 96
TextHeight = 13
object StatusBar1: TStatusBar
Left = 0
Top = 239
Width = 538
Height = 19
Panels = <>
ExplicitTop = 189
end
object ToolBar1: TToolBar
Left = 509
Top = 0
Width = 29
Height = 239
Align = alRight
Caption = 'ToolBar1'
TabOrder = 1
ExplicitHeight = 233
end
object lvData: TListView
Left = 0
Top = 0
Width = 509
Height = 239
Align = alClient
Columns = <>
TabOrder = 2
ViewStyle = vsReport
ExplicitWidth = 414
ExplicitHeight = 189
end
end

58
ViewSheet.pas Normal file
Просмотреть файл

@ -0,0 +1,58 @@
unit ViewSheet;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, Utils, cLas;
type
TfrmViewSheet = class(TForm)
StatusBar1: TStatusBar;
ToolBar1: TToolBar;
lvData: TListView;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
las : TLASFile;
function LoadData( var las : TLASFile ) : integer;
end;
var
frmViewSheet: TfrmViewSheet;
implementation
{$R *.dfm}
function TfrmViewSheet.LoadData( var las : TLASFile ) : integer;
var
j,
i : integer;
lc : TListColumn;
li : TListItem;
begin
result := _ERROR_;
if not Assigned(las) then
exit;
for i := 0 to las.Logs.Count-1 do begin
lc := lvData.Columns.Add();
lc.Caption := las.Logs.LOG(i).Id;
end;
for i := 0 to las.Logs.LOG(0).y.Count-1 do begin
li := lvData.Items.Add();
li.Caption := FloatToStr(las.Logs.LOG(0).y[i]);
for j := 1 to las.Logs.Count-1 do begin
li.SubItems.Add(FloatToStr(las.Logs.LOG(j).y[i]));
end;
end;
end;
procedure TfrmViewSheet.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
end.

90
ViewXYZfile.dfm Normal file
Просмотреть файл

@ -0,0 +1,90 @@
object frmViewXYZfile: TfrmViewXYZfile
Left = 337
Top = 115
Width = 289
Height = 381
Caption = 'file: '
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -10
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnClose = FormClose
PixelsPerInch = 96
TextHeight = 13
object Panel1: TPanel
Left = 0
Top = 296
Width = 281
Height = 58
Align = alBottom
BevelOuter = bvNone
TabOrder = 0
object btnOk: TBitBtn
Left = 137
Top = 7
Width = 67
Height = 26
TabOrder = 0
Kind = bkOK
end
object btnCancel: TBitBtn
Left = 208
Top = 7
Width = 66
Height = 26
TabOrder = 1
Kind = bkCancel
end
object StatusBar1: TStatusBar
Left = 0
Top = 39
Width = 281
Height = 19
Panels = <
item
Width = 127
end>
end
object Gauge: TProgressBar
Left = 0
Top = 13
Width = 131
Height = 13
TabOrder = 3
end
end
object Panel2: TPanel
Left = 0
Top = 0
Width = 281
Height = 296
Align = alClient
BevelOuter = bvNone
TabOrder = 1
object lvData: TListView
Left = 0
Top = 0
Width = 281
Height = 296
Align = alClient
Columns = <
item
AutoSize = True
Caption = '0'
end
item
AutoSize = True
Caption = '1'
end
item
AutoSize = True
Caption = '2'
end>
TabOrder = 0
ViewStyle = vsReport
end
end
end

86
ViewXYZfile.pas Normal file
Просмотреть файл

@ -0,0 +1,86 @@
unit ViewXYZfile;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Buttons, ExtCtrls, Utils, cLAS, FloatList;
const
msgLinesCount = 'Loaded %u points.';
msgFileNotOpen = 'File %s can not open.';
type
TfrmViewXYZfile = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
lvData: TListView;
btnOk: TBitBtn;
btnCancel: TBitBtn;
StatusBar1: TStatusBar;
Gauge: TProgressBar;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
public
{ Èìÿ âõîäíîãî ôàéëà }
xyzFile : string;
{ Load to List View data from FloatList}
function LoadDataToListView( const d, v : TxFloatList ) : integer;
{ Initialize form: read .xyz file and load data to visual components }
function Init( const filename : string ) : integer;
end;
implementation
{$R *.dfm}
{ Load to List View data from FloatList}
function TfrmViewXYZfile.LoadDataToListView( const d, v : TxFloatList ) : integer;
var
i : integer;
begin
for i := 0 to d.Count-1 do begin
with lvData.Items.Add() do begin
Caption := IntToStr(i);
SubItems.Add( FloatToStr(d[i]) );
SubItems.Add( FloatToStr(v[i]) );
Gauge.Position := Gauge.Position + 1;
end;
end;
Gauge.Position := Gauge.Min;
result := _OK_;
end;
{ Initialize form: read .xyz file and load data to visual components }
function TfrmViewXYZfile.Init( const filename : string ) : integer;
var
d,
v : TxFloatList;
begin
result := _OK_;
xyzFile := filename;
try
d := TxFloatList.Create();
v := TxFloatList.Create();
if ReadXYZfile( xyzFile, d, v ) = _ERROR_ then begin
MessageDlg( Format( msgFileNotOpen, [xyzFile]), mtError, [mbOk], 0);
exit;
end;
StatusBar1.Panels[0].Text := Format( msgLinesCount, [d.Count]);
Caption := Caption + xyzFile;
Gauge.Position := 0;
Gauge.Max := d.Count-1;
if LoadDataToListView( d, v ) = _ERROR_ then
exit;
finally
v.Free();
d.Free();
end;
end;
procedure TfrmViewXYZfile.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
end.

171
api.ini Normal file
Просмотреть файл

@ -0,0 +1,171 @@
[API]
*=N-GOR
[LOGID]
PS = SP
ĎŃ = SP
DS = DS.M
KAV = DS.M
dT = DTP.MKSM
ĂĘ = GK.URH
A025M = GZ1.OHMM
A025M01N = GZ1.OHMM
A025M025N = GZ1.OHMM
M010A002B = GZ1.OHMM
M01A01B = GZ1.OHMM
M03A01B = GZ1.OHMM
Ě03Ŕ01Â = GZ1.OHMM
A04M0 = GZ2.OHMM
A04M01N = GZ2.OHMM
A05M0 = GZ2.OHMM
A05M01N = GZ2.OHMM
A075M01N = GZ2.OHMM
A1M01 = GZ2.OHMM
A1M01N = GZ2.OHMM
M025A002B = GZ2.OHMM
M05A01B = GZ2.OHMM
M125A01B = GZ2.OHMM
M125A025B = GZ2.OHMM
M1A01 = GZ2.OHMM
M1A01B = GZ2.OHMM
M1A02 = GZ2.OHMM
M1A025B = GZ2.OHMM
M1A05B = GZ2.OHMM
A125M01N= GZ2.OHMM
Ŕ2Ě05N = GZ2.OHMM
ĘŃ3 = GZ3
M25A025B = GZ3
A20M025N = GZ3
A20M05N = GZ3
A25M025N = GZ3
A25M05N = GZ3
A2M025N = GZ3
A2M05 = GZ3
A2M05N = GZ3
A2M1N = GZ3
M25A025N = GZ3
M2M025N = GZ3
A24M05N = GZ4.OHMM
A40M025N = GZ4.OHMM
A40M05N = GZ4.OHMM
A4M02 = GZ4.OHMM
A4M025N = GZ4.OHMM
A4M05 = GZ4.OHMM
A4M05N = GZ4.OHMM
A4M085N = GZ4.OHMM
M40A025B = GZ4.OHMM
M40A25B = GZ4.OHMM
M4A02 = GZ4.OHMM
M4A025 = GZ4.OHMM
M4A025A = GZ4.OHMM
M4A025B = GZ4.OHMM
M4A02B = GZ4.OHMM
M4A05B = GZ4.OHMM
M4A25B = GZ4.OHMM
M5A1B = GZ4.OHMM
A05M6N = GZ5.OHMM
A05M8 = GZ5.OHMM
A05M80N = GZ5.OHMM
A05M8N = GZ5.OHMM
A10M01N = GZ5.OHMM
A6M1N = GZ5.OHMM
A80M05N = GZ5.OHMM
A80M10N = GZ5.OHMM
A8M05 = GZ5.OHMM
A8M05N = GZ5.OHMM
A8M1N = GZ5.OHMM
M06A01B = GZ5.OHMM
M10A01B = GZ5.OHMM
M10A025B = GZ5.OHMM
M10A1B = GZ5.OHMM
M10A25B = GZ5.OHMM
M12A005B = GZ5.OHMM
M12A01B = GZ5.OHMM
M60A25B = GZ5.OHMM
M6A02 = GZ5.OHMM
M6A025B = GZ5.OHMM
M6A25B = GZ5.OHMM
Ŕ8Ě05N = GZ5.OHMM
A50M10N = GZ6.OHMM
B1A100M = GZ6.OHMM
B35A5B = GZ6.OHMM
M120A10B = GZ6.OHMM
M25A25B = GZ6.OHMM
M35A5B = GZ6.OHMM
M50A10B = GZ6.OHMM
M55A5B = GZ6.OHMM
M80A05B = GZ6.OHMM
M80A1B = GZ6.OHMM
M80A25B = GZ6.OHMM
M80M05N = GZ6.OHMM
M8A005B = GZ6.OHMM
M8A01 = GZ6.OHMM
M8A02 = GZ6.OHMM
M8A025B = GZ6.OHMM
M8A05 = GZ6.OHMM
M8A05B = GZ6.OHMM
M8A1B = GZ6.OHMM
M8A25B = GZ6.OHMM
M90A10B = GZ6.OHMM
N005M2A = GZK1.OHMM
B025A25M = GZK3.OHMM
N05M20A = GZK3.OHMM
N05M2A = GZK3.OHMM
B025A4M = GZK4.OHMM
N025M40A = GZK4.OHMM
N025M4A = GZK4.OHMM
N025M4N = GZK4.OHMM
B05A8 = GZK5.OHMM
B05A80M = GZK5.OHMM
B05A8M = GZK5.OHMM
B1A5M = GZK5.OHMM
B25A8M = GZK5.OHMM
IK = IKP.OHMM
MBK = MBK.OHMM
MG = MGZ.OHMM
MDS = MKV.M
Mkav = MKV.M
MKV = MKV.M
MKVb = MKV.M
MP = MPZ.OHMM
NGK = NGK.UE
ÍĂĘ = NGK.UE
BZ = NKTB.IMIN
BZnnk = NKTB.IMIN
MZ = NKTM.IMIN
MZnnk = NKTM.IMIN
A025M60N = PZ
A025M6N = PZ
A025M8N = PZ
B100A10M = PZ
B25A025M = PZ
B25A25M = PZ
B35A5M = PZ
B4A25M = PZ
B50A10M = PZ
B55A5M = PZ
B5A1M = PZ
B6A25M = PZ
B70A10M = PZ
B75A10M = PZ
B80A10M = PZ
M025A25B = PZ
M025M6N = PZ
M5N1A = PZ
N110M05A = PZ
N11M0 = PZ
N11M05A = PZ
N225M = PZ
N225M025A = PZ
N475M025A = PZ
N476M025A = PZ
N4M025A = PZ
N6M025A = PZ
N6M05A = PZ
N85M0 = PZ
N85M05A = PZ
RESIST = REZ
rezistivimetr = REZ
T1 = T1.MKS
T2 = T2.MKS
NNK = W_NK.%
Kp = W_NK.%

609
browser.dfm Normal file
Просмотреть файл

@ -0,0 +1,609 @@
object frmBrowser: TfrmBrowser
Left = 65
Top = 216
Caption = 'Browser'
ClientHeight = 572
ClientWidth = 521
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -10
Font.Name = 'MS Sans Serif'
Font.Style = []
FormStyle = fsMDIForm
Icon.Data = {
0000010001001010000001001800081300001600000028000000100000002000
0000010018000000000000000000000000000000000000000000000000000000
000000000000000000000000006D3327853C1395440D96450D873D1270342500
000000000000000000000000000000000000000000000070372A70372ACD7727
E8AD70F3CCA1F4CDA3E9B176D07C2C6F35296F35290000000000000000000000
0000000086411DC0620BF0C292FFFEFAFDFAF6F5E3D1F5E2D0FDF8F4FFFFFDF2
C99EC669117B3A210000000000000000008C451CC16107F7DBBDFFFEFEE0A46B
CE6D13C75C00C96100CE6E12DE9D5FFDFAF7FAE5CCC6680D6F35280000000000
008C451CECBD8BFFFFFFDA8F43C65600FFFFFFDC9751C75B00CA6200C75B00D5
8333FDFAF8F3CB9F6F3528000000A04D10CE7721FFFDFBE8B684D06B04D06B07
FFFFFFFFFFFFE1A870C95E00CA6300C75B00DFA061FFFFFFCF7B28703525AF55
07E5AA6FFFFFFFDD8F3FDA8128D87B1EFFFFFFFFFFFFFFFFFFEAC198CC6708C9
5F00CE6E0DFDFAF6E9B175703525BB5F0AF0CAA1FCF4EDE19343E29242DF8A34
FFFFFFFFFFFFFFFFFFFFFFFFF3DEC6CF7017C95F00F5E3D0F3CEA4703525C165
0FF2CDA6FDF7F0E9A158E9A056E6994AFFFFFFFFFFFFFFFFFFFFFFFFEBC39BCD
6A0DC96100F6E6D4F3CCA1703525C1640DEEBC88FFFFFFF1B87CF0AE69EEA75F
FFFFFFFFFFFFFFFFFFE7B17ACE6902C96100CF7111FEFCFAE7AC6D703525BF60
06E5A059FFFDFAFBE0C4F8BA7BF4B471FFFFFFFFFFFFE8AB6DD87B1DD27414C8
5C00E2AA71FFFFFECC7520703525000000C36204FAD9B8FFFFFFFEDCB8F7B877
FFFFFFEBAD6DE08D37DA8228D06B05DB924AFFFFFFEFC08C6B342C0000000000
00C36204E79E55FEEBD7FFFFFFFBDFC3F1B578E89F55E29445DE9142E8B786FF
FFFFF6D8B7BE5F066B342C000000000000000000C6670CE69E55FAD9B6FFFBF6
FFFFFFFEF8F2FDF6EFFFFFFFFEF9F2ECB884BE5F097538260000000000000000
00000000000000C06005C06005E49F5AEEBA86F2CAA0F0C599E4A768CC741E78
3A27783A27000000000000000000000000000000000000000000000000B65C0A
B86012B96113B25A0FA24F0E8E451A000000000000000000000000000000F81F
0000E0070000C003000080010000800100000000000000000000000000000000
000000000000000000008001000080010000C0030000E0070000F81F00000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000}
OldCreateOrder = False
OnClose = FormClose
OnCreate = FormCreate
OnDestroy = FormDestroy
OnKeyUp = FormKeyUp
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object Splitter1: TSplitter
Left = 0
Top = 281
Width = 521
Height = 3
Cursor = crVSplit
Align = alTop
ExplicitWidth = 47
end
object Panel1: TPanel
Left = 0
Top = 539
Width = 521
Height = 14
Align = alBottom
BevelOuter = bvLowered
TabOrder = 0
object pbProgress: TProgressBar
Left = 1
Top = 1
Width = 519
Height = 12
Align = alClient
TabOrder = 0
end
end
object sbStatus: TStatusBar
Left = 0
Top = 553
Width = 521
Height = 19
Panels = <
item
Width = 280
end
item
Width = 50
end>
end
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 521
Height = 31
ButtonHeight = 30
ButtonWidth = 31
Images = frmMain.ButtonImages
TabOrder = 2
object btnCancelRead: TToolButton
Left = 0
Top = 0
Hint = #1054#1089#1090#1072#1085#1086#1074#1080#1090#1100' '#1079#1072#1075#1088#1091#1079#1082#1091
ImageIndex = 17
ParentShowHint = False
ShowHint = True
OnClick = btnCancelReadClick
end
object ToolButton2: TToolButton
Left = 31
Top = 0
Width = 8
Caption = 'ToolButton2'
ImageIndex = 6
Style = tbsSeparator
end
object btnSaveLAS: TToolButton
Left = 39
Top = 0
Hint = #1057#1086#1093#1088#1072#1085#1080#1090#1100' '#1092#1072#1081#1083
Caption = 'btnSaveLAS'
ImageIndex = 8
ParentShowHint = False
ShowHint = True
OnClick = btnSaveLASClick
end
object btnSaveAs: TToolButton
Left = 70
Top = 0
Hint = #1057#1086#1093#1088#1072#1085#1080#1090#1100' '#1092#1072#1081#1083' '#1089' '#1076#1088#1091#1075#1080#1084' '#1080#1084#1077#1085#1077#1084
Caption = 'btnSaveAs'
ImageIndex = 15
ParentShowHint = False
ShowHint = True
OnClick = btnSaveAsClick
end
object ToolButton3: TToolButton
Left = 101
Top = 0
Width = 8
Caption = 'ToolButton3'
ImageIndex = 5
Style = tbsSeparator
end
object btnViewChart: TToolButton
Left = 109
Top = 0
Hint = #1054#1090#1086#1073#1088#1072#1079#1080#1090#1100' '#1074#1099#1073#1088#1072#1085#1085#1099#1077' '#1082#1072#1088#1086#1090#1072#1078#1080
Caption = 'btnViewChart'
ImageIndex = 18
ParentShowHint = False
ShowHint = True
OnClick = btnViewChartClick
end
object btnSheetView: TToolButton
Left = 140
Top = 0
Hint = #1055#1088#1086#1089#1084#1086#1090#1088#1077#1090#1100' '#1082#1072#1088#1086#1090#1072#1078' '#1074' '#1074#1080#1076#1077' '#1090#1072#1073#1083#1080#1094#1099
Caption = 'btnSheetView'
ImageIndex = 16
ParentShowHint = False
ShowHint = True
OnClick = btnSheetViewClick
end
object ToolButton1: TToolButton
Left = 171
Top = 0
Width = 8
Caption = 'ToolButton1'
ImageIndex = 17
Style = tbsSeparator
end
object chkOemToAnsi: TCheckBox
Left = 179
Top = 0
Width = 103
Height = 30
Caption = 'DOS -> WIN'
TabOrder = 0
OnClick = chkOemToAnsiClick
end
object chkFiltrate: TCheckBox
Left = 282
Top = 0
Width = 97
Height = 30
Caption = #1058#1086#1083#1100#1082#1086' las'
TabOrder = 1
OnClick = chkFiltrateClick
end
end
object Panel2: TPanel
Left = 0
Top = 31
Width = 521
Height = 250
Align = alTop
BevelOuter = bvNone
TabOrder = 3
object Splitter2: TSplitter
Left = 217
Top = 24
Height = 226
ExplicitLeft = 192
ExplicitTop = 64
ExplicitHeight = 100
end
object Panel3: TPanel
Left = 0
Top = 0
Width = 521
Height = 24
Align = alTop
BevelOuter = bvNone
TabOrder = 0
object btnFolderUp: TSpeedButton
Left = 480
Top = 0
Width = 23
Height = 22
Flat = True
Glyph.Data = {
360C0000424D360C000000000000360000002800000020000000200000000100
180000000000000C000000000000000000000000000000000000CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3
D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3
D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3
D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3
D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3
D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6009ACE009ACE73BAD69CC7D6CED3D6CED3
D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6009ACECEEFF731B2DE08A2D6009ACE31AA
CE6BB6D68CC3D6C6D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6009ACE73C7E7A5E7FF73DBFF6BD7FF52C7
EF31B6E718A6D6009ACE29A6CE5AB2D684BED6B5CFD6CED3D6CED3D6CED3D6CE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6009ACE39B2DED6F7FF7BE3FF7BE3FF7BE3
FF7BE3FF7BE3FF4AB29C52C7E739BEE721AADE089ECE18A2CE9CC7D6CED3D6CE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6009ACE4ABAE7DEF3FF84EBFF84EBFF84EB
FF84EBFF84EBFF218642086D105AC3AD84EBFF84EBFF6BD7FF089ECECED3D6CE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6009ACE63C7F78CD3EFB5F7FF8CF3FF8CF3
FF8CF3FF8CF3FF5ABE9C219E3921963142AA848CF3FF7BE3FF089ECEADCBD6CE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6089ED673CFFF42B6DED6FFFF94FBFF94FB
FF94FBFF94FBFF94FBFF10822163FF942196315AC39C84E7FFADFBFF5AB6D6CE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D610A2D67BD3FF29AEE7DEF3FF9CFFFF9CFF
FF9CFFFF9CFFFF9CFFFF5ABE9C29A6425AF38C10822184DFEFC6FFFF089ECEB5
CFD6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D618A6D684DBFF5ACBF773C7E7EFFFFFD6FF
FFCEFFFFC6FFFFADFFFFADFFFF29A6425AF38C39C35A4AA684D6FFFFBDF3FF08
9ECECED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D621AADE8CE3FF7BDFFF52CBEF31B6DE31B6
DE31B6DE31B6DEEFFBFFADFFFF29A6425AF38C5AF38C218229E7FFFFE7FFFF08
9ECEC6D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D629AEDE9CEFFF84EFFF84EFFF84EFFF84EF
FF84EFFF6BDFF731B6DEEFFBFF29A6424AE7845AF38C189229FFFFFFFFFFFFBD
E7F7089ECECED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D631AEDE94FFFF94FFFF94FFFF94FFFF94FF
FF94FFFF94FFFF8CF7FF31B6DE21A2394AE37B4AE784189229BDE7F7BDE7F7FF
FFFF089ECECED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D639B2DEA5FFFF9CFFFF9CFFFF9CFFFF9CFF
FFADFFFF9CFFFF9CFFFF9CFFFF21A64242DB734AE37B18922931AEDE31AEDE31
AEDE8CC3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D631AEDED6FFFF9CFFFF9CFFFF9CFFFFBDFF
FFA5DBEF31AEDE31AEDE5ABE9C21A64239D77342DB73189229CED3D6CED3D6CE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D629AEDE9CDBEFDEFBFFE7FFFFCEFFFFCEEF
F76BBAD6CED3D6CED3D600752129B24A31CF6B39D773189229CED3D6CED3D6CE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6C6D3D639B2DE39B2DE39B2DE39B2DE0065
00107510318231318231108A1831CB6331CF6331CF6B189229CED3D6CED3D6CE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6428A
42088E1018B22918AA2921B64229C35231CB6331CF6321B24A108A2110821800
65004A8E52CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6C6CF
CE08711008A21818B22918B63121BE4A29C35231CB6331CF6329B24A087D106B
9E6BCED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3
D68CB29400790808A61818B22918B63121BE4A21BA4A109229297929ADBEADCE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3
D6CED3D6428A4208921008A61818B22910A22910791073A67BCED3D6CED3D6CE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3
D6CED3D6C6CFCE087108089A10007908318231B5C7BDCED3D6CED3D6CED3D6CE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3
D6CED3D6CED3D68CB294086D0884AA84CED3D6CED3D6CED3D6CED3D6CED3D6CE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3
D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3
D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3
D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3
D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6
CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3
D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CE
D3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6}
OnClick = btnFolderUpClick
end
object cbShell: TShellComboBox
Left = 0
Top = 0
Width = 480
Height = 22
Root = 'rfDesktop'
ShellTreeView = ShellTreeView
ShellListView = lvFileBrowser
UseShellImages = True
TabOrder = 0
end
end
object lvFileBrowser: TShellListView
Left = 220
Top = 24
Width = 301
Height = 226
ObjectTypes = [otFolders, otNonFolders]
Root = 'rfDesktop'
ShellTreeView = ShellTreeView
ShellComboBox = cbShell
Sorted = True
Align = alClient
OnClick = lvFileBrowser1Click
ReadOnly = False
HideSelection = False
PopupMenu = ppmShellListView
TabOrder = 1
ViewStyle = vsList
OnKeyUp = lvFileBrowserKeyDown
end
object ShellTreeView: TShellTreeView
Left = 0
Top = 24
Width = 217
Height = 226
ObjectTypes = [otFolders]
Root = 'rfDesktop'
ShellComboBox = cbShell
ShellListView = lvFileBrowser
UseShellImages = True
Align = alLeft
AutoRefresh = False
Indent = 19
ParentColor = False
RightClickSelect = True
ShowRoot = False
TabOrder = 2
OnChanging = ShellTreeViewChanging
end
end
inline fraLASView: TfraLASView
Left = 0
Top = 284
Width = 521
Height = 255
Align = alClient
TabOrder = 4
ExplicitTop = 284
ExplicitWidth = 521
ExplicitHeight = 255
inherited lvLOGs: TListView
Left = 217
Top = 0
Width = 304
Height = 255
Columns = <
item
Caption = 'LOG'
Width = 65
end
item
Caption = 'unit'
Width = 49
end
item
Caption = 'min'
Width = 57
end
item
Caption = 'max'
Width = 57
end>
PopupMenu = pLOGsMenu
ExplicitLeft = 217
ExplicitTop = 0
ExplicitWidth = 304
ExplicitHeight = 255
end
inherited lvHeader: TListView
Width = 217
Height = 255
Align = alLeft
Columns = <
item
Caption = 'Field name'
Width = 73
end
item
Caption = 'Value'
Width = 122
end>
ExplicitWidth = 217
ExplicitHeight = 255
end
end
object SaveDlg: TSaveDialog
DefaultExt = 'las'
FileName = '*.las'
Filter = 'LAS files|*.las|Any files|*.*'
Left = 280
Top = 384
end
object pLOGsMenu: TPopupMenu
Left = 280
Top = 328
object mnuReplaceValue: TMenuItem
Caption = '&Replace'
OnClick = mnuReplaceValueClick
end
object mnuAverageValue: TMenuItem
Caption = 'Average'
end
object Mirror1: TMenuItem
Caption = 'Mirror'
OnClick = Mirror1Click
end
end
object JvFormStorage1: TJvFormStorage
AppStorage = frmMain.JvAppIniFileStorage1
AppStoragePath = '%FORM_NAME%\'
StoredValues = <>
Left = 400
end
object ppmShellListView: TPopupMenu
Left = 400
Top = 80
object Tiles1: TMenuItem
Caption = 'Tiles'
RadioItem = True
OnClick = List1Click
end
object Icons1: TMenuItem
Tag = 1
Caption = 'Icons'
RadioItem = True
OnClick = List1Click
end
object List1: TMenuItem
Tag = 2
Caption = 'List'
Checked = True
RadioItem = True
OnClick = List1Click
end
object Details1: TMenuItem
Tag = 3
Caption = 'Details'
RadioItem = True
OnClick = List1Click
end
end
end

454
browser.pas Normal file
Просмотреть файл

@ -0,0 +1,454 @@
////////////////////////////////////////////////////////////////////////////////
//Ôîðìà äëÿ ïðîñìîòðà las ôàéëîâ
//ver 1.0.1
//date 11.04.2001
//autor softland@zmail.ru
////////////////////////////////////////////////////////////////////////////////
//ver 1.0.2
//date 22.04.2001
//using frame "fraLASView"
////////////////////////////////////////////////////////////////////////////////
unit browser;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, CLAS, ToolWin, ExtCtrls, StdCtrls, Common, Utils,
ImgList, LASView, Menus, ShellCtrls, Buttons, JvComponentBase,
JvFormPlacement;
//{$DEFINE _CASTRATE_}
{$IFDEF _CASTRATE_}
const
_TOP_1 : integer = 2;
_TOP_2 : integer = 2;
{$ELSE}
{$ENDIF}
type
TfrmBrowser = class(TForm)
Panel1: TPanel;
sbStatus: TStatusBar;
ToolBar1: TToolBar;
btnSaveLAS: TToolButton;
Panel2: TPanel;
pbProgress: TProgressBar;
btnCancelRead: TToolButton;
btnSaveAs: TToolButton;
SaveDlg: TSaveDialog;
btnViewChart: TToolButton;
fraLASView: TfraLASView;
pLOGsMenu: TPopupMenu;
mnuReplaceValue: TMenuItem;
mnuAverageValue: TMenuItem;
Mirror1: TMenuItem;
btnSheetView: TToolButton;
Panel3: TPanel;
cbShell: TShellComboBox;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
btnFolderUp: TSpeedButton;
chkOemToAnsi: TCheckBox;
JvFormStorage1: TJvFormStorage;
Splitter1: TSplitter;
lvFileBrowser: TShellListView;
ShellTreeView: TShellTreeView;
Splitter2: TSplitter;
chkFiltrate: TCheckBox;
ppmShellListView: TPopupMenu;
Tiles1: TMenuItem;
Icons1: TMenuItem;
List1: TMenuItem;
Details1: TMenuItem;
ToolButton1: TToolButton;
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btnCancelReadClick(Sender: TObject);
procedure btnSaveLASClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure btnSaveAsClick(Sender: TObject);
procedure FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure lvHeaderKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure lvLOGsKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure flFilesKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure dlFoldersKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure cbDriveKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure cbFileMaskKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure btnViewChartClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Mirror1Click(Sender: TObject);
(* Call back functions *)
function InitProgress(sender : TObject; i : integer) : integer;
function DoProgress(sender : TObject; i : integer) : integer;
procedure mnuReplaceValueClick(Sender: TObject);
procedure btnSheetViewClick(Sender: TObject);
procedure lvFileBrowser1Click(Sender: TObject);
procedure btnFolderUpClick(Sender: TObject);
procedure lvFileBrowserKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure chkOemToAnsiClick(Sender: TObject);
procedure chkFiltrateClick(Sender: TObject);
procedure List1Click(Sender: TObject);
procedure ShellTreeViewChanging(Sender: TObject; Node: TTreeNode;
var AllowChange: Boolean);
private
las : TLASFile;
CancelFlag : BOOL;
protected
// FolderBase : string;
function ChangeFile() : integer;
public
// InitFolder : string;
function LoadLASFile(const _filename : string) : integer;
function GotoFolder(const FolderName : string) : integer;
function GetCurrentPath() : string;
end;
{var
frmLASBrowser : TfrmBrowser;}
implementation
uses
Main, LOGChart, Replace, ViewSheet, IniFiles;
{$R *.DFM}
const
FORM_CAPTION = 'View LAS file: ';
STATUS_MESSAGE_READ = 'Reading, data line count: %u';
STATUS_MESSAGE_READED = 'Loaded points: %u';
function TfrmBrowser.GetCurrentPath() : string;
begin
result := ShellTreeView.Path;
end;
function TfrmBrowser.GotoFolder(const FolderName : string) : integer;
begin
try
ShellTreeView.Path := FolderName;
except
sbStatus.Panels[1].Text := 'Âîññòàíîâèòü ' + FolderName + ' íå óäàëîñü.';
ShellTreeView.Path := 'c:\';
end;
result := _OK_;
end;
function TfrmBrowser.InitProgress(sender : TObject; i : integer) : integer;
begin
pbProgress.max := i;
pbProgress.Position := 0;
sbStatus.Panels[0].Text := Format( STATUS_MESSAGE_READ, [i] );
sbStatus.Update();
Application.ProcessMessages();
result := _OK_;
end;
function TfrmBrowser.DoProgress(sender : TObject; i : integer) : integer;
begin
pbProgress.Position := pbProgress.Position + 1;
Application.ProcessMessages();
if CancelFlag then
result := _ERROR_
else
result := _OK_;
end;
procedure TfrmBrowser.List1Click(Sender: TObject);
var
mi : TMenuItem;
path : string;
begin
mi := (Sender as TMenuItem);
mi.Checked := true;
path := ShellTreeView.Path;
lvFileBrowser.ViewStyle := TViewStyle(mi.Tag);
ShellTreeView.Path := path;
end;
function TfrmBrowser.LoadLASFile( const _filename : string ) : integer;
begin
result := _ERROR_;
if pos('LAS', UpperCase(ExtractFileExt(_filename))) = 0 then
exit;
with pbProgress do begin
min := 0;
max := 100;
position := min;
end;
las.Clear;
las.init_progress := InitProgress;
las.do_progress := DoProgress;
CancelFlag := FALSE;
btnCancelRead.Enabled := TRUE;
try
if las.Open(_filename) = _ERROR_ then begin
exit;
end;
//Ïðîâåðêà íà äîñòîâåðíîñòü ñ÷èòàííûõ äàííûõ
if las.DataValid() = _ERROR_ then
exit;
result := _OK_;
finally
btnCancelRead.Enabled := FALSE;
//âîçâðàùàåì ïðîãðåññ áàð â èñõîäíîå ñîñòîÿíèå *)
with pbProgress do begin
min := 0;
max := 100;
position := min;
end;
end;
//Çàïîëíåíèå âèçóàëüíûõ êîìïîíåíòîâ äàííûìè LAS ôàéëà *)
fraLASView.InitListView(las);
self.Caption := FORM_CAPTION + las.FileName;
sbStatus.Panels[0].Text := Format(STATUS_MESSAGE_READED,[las.logs.y(0).Count]);
end;
procedure TfrmBrowser.FormCreate(Sender: TObject);
begin
las := TLASFile.Create();
fraLASView.lvLOGs.Checkboxes := true;
Caption := FORM_CAPTION;
lvFileBrowser.FlatScrollBars := true;
end;
procedure TfrmBrowser.btnCancelReadClick(Sender: TObject);
begin
CancelFlag := TRUE;
end;
procedure TfrmBrowser.btnSaveLASClick(Sender: TObject);
begin
las.SaveParameters(fraLASView.lvHeader, fraLASView.lvLOGs);
try
las.WriteToLAS( las.FileName );
//âîçâðàùàåì ïðîãðåññ áàð â èñõîäíîå ñîñòîÿíèå *)
with pbProgress do begin
min := 0;
max := 100;
position := min;
end;
except
MessageDlg( Format('Error saving file: %-s',[las.filename]),
mtError, [mbOK], 0 );
end;
end;
procedure TfrmBrowser.btnSaveAsClick(Sender: TObject);
begin
if SaveDlg.Execute then begin
las.SaveParameters( fraLASView.lvHeader, fraLASView.lvLOGs );
las.FileName := SaveDlg.FileName;
try
las.WriteToLAS( las.FileName );
lvFileBrowser.Update();
except
if MessageDlg( Format('Error saving file: %-s',[las.filename]),
mtError,
[mbCancel,mbRetry], 0 ) = mrRetry then
btnSaveAsClick(sender);
end;
end;
end;
procedure TfrmBrowser.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if ((ssCtrl in Shift) and (Key = 83)) or ( Key = VK_F2 ) then
btnSaveLASClick(Sender);
if ( Key = VK_F5 ) then
lvFileBrowser.Update();
end;
procedure TfrmBrowser.lvHeaderKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
FormKeyUp(sender, key, Shift);
end;
procedure TfrmBrowser.lvLOGsKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
FormKeyUp(sender, key, Shift);
end;
procedure TfrmBrowser.flFilesKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
FormKeyUp(sender, key, Shift);
end;
procedure TfrmBrowser.dlFoldersKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
FormKeyUp(sender, key, Shift);
end;
procedure TfrmBrowser.cbDriveKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
FormKeyUp(sender, key, Shift);
end;
procedure TfrmBrowser.cbFileMaskKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
FormKeyUp(sender, key, Shift);
end;
procedure TfrmBrowser.btnViewChartClick(Sender: TObject);
var
i : integer;
begin
try
for i := 0 to fraLASView.lvLOGs.Items.Count-1 do begin
las.Logs.LOG(i).Selected := fraLASView.lvLOGs.Items[i].Checked;
end;
except
MessageDlg('Error #0001: mismatch count of visible and internal log list',
mtError, [mbCancel], 0);
end;
with TfrmLOGChart.Create(self) do begin
if Init( self.las ) = _OK_ then
Show()
else
if retcode = _ERR_NO_LOG_SELECT_ then
Dialogs.MessageDlg( 'Select log...', mtWarning, [mbOK], 0 );
if retcode = _ERR_INPUT_PARAMETERS_ then
Dialogs.MessageDlg( 'LAS file are not valid...', mtError, [mbOK], 0 );
end;
end;
procedure TfrmBrowser.FormShow(Sender: TObject);
var
ini : TIniFile;
begin
las.FlagOemToAnsi := chkOemToAnsi.Checked;
try
Utils.LogFileWrite('×òåíèå ôàéëà: ' + IniFolder + 'logix.ini');
ini := TIniFile.Create(IniFolder + 'logix.ini');
// ini.UpdateFile();
LastFolderPath := ini.ReadString('MAIN', 'PATH', LastFolderPath);
ini.Free();
Utils.LogFileWrite('Ôàéë: ' + IniFolder + 'logix.ini' + ' ïðî÷èòàí ó÷ïåøíî.');
except
Utils.LogFileWrite('Ïðîâåðüòå íàëè÷èå ôàéëà logix.ini')
end;
GotoFolder(LastFolderPath);
end;
procedure TfrmBrowser.FormDestroy(Sender: TObject);
var
fn : string;
ini : TIniFile;
begin
fn := IniFolder + 'logix.ini';
try
// Utils.LogFileWrite('Ñîõðàíåíèå â ôàéë: ' + fn);
ini := TIniFile.Create(fn);
ini.WriteString('MAIN', 'PATH', GetCurrentPath());
ini.UpdateFile();
ini.Free();
// Utils.LogFileWrite('Ñîõðàíåíèå â ôàéë: ' + fn + ' ïðîøëî óñïåøíî.');
except
// Utils.LogFileWrite('ERROR. Çíà÷åíèå â ôàéë: ' + fn + 'íå ñîõðàí¸íî!')
end;
las.Clear;
las.Free;
end;
procedure TfrmBrowser.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmBrowser.ShellTreeViewChanging(Sender: TObject; Node: TTreeNode;
var AllowChange: Boolean);
begin
LastFolderPath := GetCurrentPath();
end;
(* ïðåîáðàçóåì îòíîñèòåëüíî âåðòèêàëüíîé îñè *)
procedure TfrmBrowser.Mirror1Click(Sender: TObject);
begin
if las.HMirror(fraLASView.lvLOGs.ItemFocused.Caption) = _OK_ then begin
las.WriteToLas(las.FileName);
lvFileBrowser.Update();
end;
end;
procedure TfrmBrowser.mnuReplaceValueClick(Sender: TObject);
var
res : TModalResult;
begin
las.SelectedLOG := las.Logs.LOG(fraLASView.lvLOGs.ItemFocused.Caption);
with frmReplace do begin
lf := las;
res := ShowModal();
end;
if (las.Changed) and (res = mrOK) then begin
//ñîõðàíÿåì èçìåí¸ííûé ôàéë
with pbProgress do begin
min := 0;
max := 100;
position := min;
end;
CancelFlag := FALSE;
btnCancelRead.Enabled := FALSE;
las.init_progress := InitProgress;
las.do_progress := DoProgress;
try
las.WriteToLAS( las.FileName );
finally
with pbProgress do begin
min := 0;
max := 100;
position := min;
end;
end;
end;
lvFileBrowser.Update();
end;
procedure TfrmBrowser.btnSheetViewClick(Sender: TObject);
begin
with TfrmViewSheet.Create(self) do begin
Show();
LoadData( self.las );
end;
end;
procedure TfrmBrowser.lvFileBrowser1Click(Sender: TObject);
begin
ChangeFile();
end;
procedure TfrmBrowser.btnFolderUpClick(Sender: TObject);
begin
lvFileBrowser.Back();
end;
function TfrmBrowser.ChangeFile() : integer;
begin
result := _ERROR_;
if (lvFileBrowser.ItemIndex >= 0) then begin
result := LoadLASFile(lvFileBrowser.Folders[lvFileBrowser.ItemIndex].PathName);
end;
end;
procedure TfrmBrowser.lvFileBrowserKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if Key in [VK_F5, VK_LEFT, VK_UP, VK_RIGHT, VK_DOWN, VK_END, VK_HOME, VK_PRIOR, VK_NEXT] then
ChangeFile();
end;
procedure TfrmBrowser.chkFiltrateClick(Sender: TObject);
begin
case chkFiltrate.Checked of
true: lvFileBrowser.FileMask := 'LAS';
false : lvFileBrowser.FileMask := '*';
end;
lvFileBrowser.Refresh();
end;
procedure TfrmBrowser.chkOemToAnsiClick(Sender: TObject);
begin
las.FlagOemToAnsi := chkOemToAnsi.Checked;
end;
end.

30
common.pas Normal file
Просмотреть файл

@ -0,0 +1,30 @@
unit common;
interface
uses
windows, messages, classes, activex, CLas, BiStrList, LOGRecList;
const
(* Èìåíà ôàéëîâ íàñòðîåê *)
LOGS_PARAMETERS_FILENAME = 'logs.ini';
(* Îøèáêè ïðèëîæåíèÿ *)
_ERR_NO_LOG_SELECT_ = 1001;
_ERR_INPUT_PARAMETERS_ = 1002;
var
IniFolder, //êàòàëîã ñ ôàéëàìè íàñòðîåê
LogListFileName, //ôàéë ñî ñïèñêîì êàðîòàæåé
LastFolderPath : string; //òåêóùèé ðàáî÷èé êàòàëîã
strlstFile, //ñïèñîê ôàéëîâ
strlstDir : TStringList;
strlstAPI : TBiStrList; //ïîäñòàâà äëÿ èäåíòèôèêàòîðîâ ñêâàæèí
// strlstLOGid : TBiStrList; //ïîäñòàâà äëÿ èäåíòèôèêàòîðîâ êàðîòàæåé
stdLOG : TLogParamList; //ñòàíäàðòíûå ïàðàìåòðû êàðîòàæåé. ñ÷èòûâàþòñÿ èç logs.ini
lf : TLASFile;
PixelsPerInch : integer; //çíà÷åíèå äëÿ òåêóùåé ìàøèíû, ñ÷èòûâàåòñÿ ïðè çàïóñêå ïðîãðàììû.
SaveDecimalSeparator : char;
implementation
end.

24
errors.i Normal file
Просмотреть файл

@ -0,0 +1,24 @@
id: 0001
author: VitalyAS
date: 19.12.2003
descr: <EFBFBD>ਠãáâ ­®¢ª¥ ¯à®£à ¬¬ë ­  ­®¢ë© ª®¬¯ìîâ¥à ¯à¨ ¯¥à¢®¬ § ¯ã᪥
¯à®£à ¬¬  ®âªà뢠¥â ®ª­® á ª à®â ¦¥¬ á ®è¨¡ª®©...
cause: Žâáãâá⢨¥ ini ä ©«  ¢ á¨á⥬­®¬ ª â «®£¥
id: 0001
author: VitalyAS
date: 27.01.2004
result: ¯®á«¥ áç¨â뢠­¨ï ¤ ­­ëå ¯à®¢®¤¨âáï ¯à¨­ã¤¨â¥«ì­ ï ¨­¨æ¨ «¨§ æ¨ï
à §¬¥à®¢ ®ª®­ ¢ë¢®¤  ç¥à¥§ ¢ë§®¢ ᮧ¤ ­­®© ä㭪樨
TPainterBox.SetProperty()
cause: ®âáãâá⢨¥ ¨­¨æ¨ «¨§ æ¨¨ 䨧¨ç¥áª®£® à §¬¥à  ®ª­  ¢ë¢®¤  £à ä¨ª 
¯à¨ ¤ «ì­¥©è¥© à ¡®â¥ ¯à®£à ¬¬ë, ¯®á«¥ ¢ë§®¢  ᮡëâ¨ï Resize
à §¬¥àë ¥áâ¥á⢥­­® § ¤ ¢ «¨áì, ¨ à ¡®â  ¯à®¤®«¦ « áì ­®à¬ «ì­®
id: 0002
author: VitalyAS
date: 27.01.2004
descr: <EFBFBD>ਠ§ ¯ã᪥ ¯à®£à ¬¬ë ­  ¤®¬ è­¥¬ ª®¬¯ìîâ¥à¥ ¢®§­¨ª ¥â ®è¨¡ª , ­¥
­ å®¤¨âáï ä ©« ntdll.dll - ¯àאַ â ª®© ä ©« ¨§ ¯à®£à ¬¬ë ­¥ ¢ë§ë¢ ¥âáï.
á¨á⥬¥ ä ©« ¯à¨áãâáâ¢ã¥â.
cause: ¡¥§ ¨¤¥©, ® ¯à®¡«¥¬  ¢ á¨á⥬­ëå ª®¬¯®­¥­â å Shell...

70
frmTvdLasToRms.dfm Normal file
Просмотреть файл

@ -0,0 +1,70 @@
inherited frmTvdLasRoRms: TfrmTvdLasRoRms
Caption = 'Generate TVD LAS to Rms'
ClientWidth = 759
ExplicitWidth = 767
PixelsPerInch = 96
TextHeight = 13
inherited Panel2: TPanel
Width = 759
ExplicitWidth = 759
object Label2: TLabel [1]
Left = 360
Top = 7
Width = 42
Height = 13
Caption = 'Wells file'
end
object edWellsFile: TEdit
Left = 408
Top = 7
Width = 225
Height = 21
TabOrder = 2
end
object btnOpenWellsFile: TButton
Left = 632
Top = 8
Width = 20
Height = 20
Caption = '...'
TabOrder = 3
OnClick = btnOpenWellsFileClick
end
end
inherited Panel1: TPanel
Width = 759
ExplicitWidth = 759
inherited lv: TListView
Width = 471
FlatScrollBars = True
ExplicitWidth = 528
end
object lvWells: TListView
Left = 472
Top = 1
Width = 286
Height = 290
Align = alRight
Columns = <>
FlatScrollBars = True
GridLines = True
TabOrder = 1
ViewStyle = vsReport
end
end
inherited Panel3: TPanel
Width = 759
ExplicitWidth = 759
end
inherited PopupMenu1: TPopupMenu
Left = 24
end
inherited PopupMenuImage: TImageList
Left = 104
end
object odWellsFile: TOpenDialog
Filter = 'Prn files|*.prn|Text files|*.txt|All files|*.*'
Left = 240
Top = 56
end
end

95
frmTvdLasToRms.pas Normal file
Просмотреть файл

@ -0,0 +1,95 @@
unit frmTvdLasToRms;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, BaseDlg, ImgList, Menus, Buttons, ComCtrls, StdCtrls, ExtCtrls, Utils;
type
TfrmTvdLasRoRms = class(TfrmBaseDlg)
lvWells: TListView;
edWellsFile: TEdit;
Label2: TLabel;
btnOpenWellsFile: TButton;
odWellsFile: TOpenDialog;
procedure btnOpenWellsFileClick(Sender: TObject);
private
function LoadPrnFile(const filename : string) : integer;
public
{ Public declarations }
end;
var
frmTvdLasRoRms: TfrmTvdLasRoRms;
implementation
{$R *.dfm}
function TfrmTvdLasRoRms.LoadPrnFile(const filename : string) : integer;
var
f : TextFile;
i,
n : integer;
well,
val,
s : string;
item : TListItem;
col : TListColumn;
begin
AssignFile(f, FileName);
try
Reset(f);
try
readln(f, n);
except
Writeln(logfile, 'file: "' + filename + '" line 1 error format, not integer number');
end;
lvWells.Items.Clear();
for i := 0 to n-1 do begin
readln(f, s);
col := lvWells.Columns.Add();
col.Caption := s;
end;
while not eof(f) do begin
item := lvWells.Items.Add();
readln(f, s);
i := pos(' ', s);
well := copy(s, 1, i-1);
item.Caption := well; //idWell
delete(s, 1, i);
s := trim(s);
i := pos(' ', s);
val := copy(s, 1, i-1);
item.SubItems.Add(val); //KB
delete(s, 1, i);
s := trim(s);
i := pos(' ', s);
val := copy(s, 1, i-1);
item.SubItems.Add(val); //TD
delete(s, 1, i);
s := trim(s);
i := pos(' ', s);
val := copy(s, 1, i-1);
item.SubItems.Add(val); //X
delete(s, 1, i);
val := trim(s);
item.SubItems.Add(val); //Y
end;
finally
CloseFile(f);
Writeln(logfile, 'wells file: '+ filename + ' successfully loaded');
end;
end;
procedure TfrmTvdLasRoRms.btnOpenWellsFileClick(Sender: TObject);
begin
if odWellsFile.Execute() then begin
edWellsFile.Text := odWellsFile.FileName;
LoadPrnFile(edWellsFile.Text);
end;
end;
end.

2907
index.rtf Normal file

Разница между файлами не показана из-за своего большого размера Загрузить разницу

35
logix.cfg Normal file
Просмотреть файл

@ -0,0 +1,35 @@
-$A8
-$B-
-$C-
-$D-
-$E-
-$F-
-$G+
-$H+
-$I+
-$J+
-$K-
-$L-
-$M-
-$N+
-$O+
-$P+
-$Q-
-$R-
-$S-
-$T-
-$U-
-$V+
-$W-
-$X+
-$Y-
-$Z1
-cg
-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
-H+
-W+
-M
-$M16384,1048576
-K$00400000
-LE"C:\Documents and Settings\vitalyas\My Documents\Borland Studio Projects\Bpl"
-LN"C:\Documents and Settings\vitalyas\My Documents\Borland Studio Projects\Bpl"

138
logix.dof Normal file
Просмотреть файл

@ -0,0 +1,138 @@
[FileVersion]
Version=7.0
[Compiler]
A=8
B=0
C=0
D=0
E=0
F=0
G=1
H=1
I=1
J=1
K=0
L=0
M=0
N=1
O=1
P=1
Q=0
R=0
S=0
T=0
U=0
V=1
W=0
X=1
Y=0
Z=1
ShowHints=1
ShowWarnings=1
UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
NamespacePrefix=
SymbolDeprecated=1
SymbolLibrary=1
SymbolPlatform=1
UnitLibrary=1
UnitPlatform=1
UnitDeprecated=1
HResultCompat=1
HidingMember=1
HiddenVirtual=1
Garbage=1
BoundsError=1
ZeroNilCompat=1
StringConstTruncated=1
ForLoopVarVarPar=1
TypedConstVarPar=1
AsgToTypedConst=1
CaseLabelRange=1
ForVariable=1
ConstructingAbstract=1
ComparisonFalse=1
ComparisonTrue=1
ComparingSignedUnsigned=1
CombiningSignedUnsigned=1
UnsupportedConstruct=1
FileOpen=1
FileOpenUnitSrc=1
BadGlobalSymbol=1
DuplicateConstructorDestructor=1
InvalidDirective=1
PackageNoLink=1
PackageThreadVar=1
ImplicitImport=1
HPPEMITIgnored=1
NoRetVal=1
UseBeforeDef=1
ForLoopVarUndef=1
UnitNameMismatch=1
NoCFGFileFound=1
MessageDirective=1
ImplicitVariants=1
UnicodeToLocale=1
LocaleToUnicode=1
ImagebaseMultiple=1
SuspiciousTypecast=1
PrivatePropAccessor=1
UnsafeType=1
UnsafeCode=1
UnsafeCast=1
[Linker]
MapFile=0
OutputObjs=0
ConsoleApp=1
DebugInfo=0
RemoteSymbols=0
MinStackSize=16384
MaxStackSize=1048576
ImageBase=4194304
ExeDescription=
[Directories]
OutputDir=
UnitOutputDir=
PackageDLLOutputDir=
PackageDCPOutputDir=
SearchPath=
Packages=Vcl50;Vclx50;VclSmp50;Vcldb50;vclado50;ibevnt50;Vclbde50;vcldbx50;Qrpt50;TeeUI50;TeeDB50;Tee50;Dss50;TeeQR50;VCLIB50;dclocx50
Conditionals=
DebugSourceDirs=C:\Program Files\Borland\Delphi7\Demos\ShellControls\
UsePackages=0
[Parameters]
RunParams=v:\tmp\!!! f:\_sources\WELLS\list.txt
HostApplication=
Launcher=
UseLauncher=0
DebugCWD=
[Version Info]
IncludeVerInfo=1
AutoIncBuild=1
MajorVer=1
MinorVer=0
Release=0
Build=133
Debug=1
PreRelease=0
Special=0
Private=0
DLL=0
Locale=1033
CodePage=1252
[Version Info Keys]
CompanyName=VolgogradNIPIneft
FileDescription=
FileVersion=1.0.0.133
InternalName=logix
LegalCopyright=VolgogradNIPIneft
LegalTrademarks=VolgogradNIPIneft
OriginalFilename=logix
ProductName=LAS tools
ProductVersion=1.0.0.1
Comments=Vitaly Sergienko softland@zmail.ru
[HistoryLists\hlDebugSourcePath]
Count=1
Item0=C:\Program Files\Borland\Delphi7\Demos\ShellControls\
[HistoryLists\hlUnitAliases]
Count=1
Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;

91
logix.dpr Normal file
Просмотреть файл

@ -0,0 +1,91 @@
program logix;
uses
Utils,
SysUtils,
Forms,
main in 'main.pas',
common in 'common.pas',
AddLogAliace in 'AddLogAliace.pas' {frmAddNewLOGaliace},
AddLAS in 'AddLAS.pas' {frmAddLAS},
APIcode in 'APIcode.pas' {frmAPIcode},
BaseDlg in 'BaseDlg.pas' {frmBaseDlg},
browser in 'browser.pas' {frmBrowser},
CreateLas in 'CreateLas.pas' {frmCreateLAS},
ChartHeaderInfo in 'ChartHeaderInfo.pas' {frmChartHeaderInfo},
ChartPref in 'ChartPref.pas' {frmChartPref},
ChartExport in 'ChartExport.pas' {frmChartExport},
ChangeLOGid in 'ChangeLOGid.pas' {frmChangeLogId},
EditLOGid in 'EditLOGid.pas' {frmEditLOGid},
EditLASParams in 'EditLASParams.pas' {frmEditLASParams},
JoinLAS in 'JoinLAS.pas' {frmJoinLAS},
LASView in 'LASView.pas' {fraLASView: TFrame},
LOGChart in 'LOGChart.pas' {frmLogChart},
LogList in 'LogList.pas' {frmLogList},
preferences in 'preferences.pas' {frmPreferences},
Replace in 'Replace.pas' {frmReplace},
ViewSheet in 'ViewSheet.pas' {frmViewSheet},
ViewXYZfile in 'ViewXYZfile.pas' {frmViewXYZfile},
IniFiles,
CLAS in 'X:\lib\xLib\CLAS.pas',
AScript in 'X:\lib\xLib\AScript.pas',
biStrList in 'X:\lib\xLib\biStrList.pas',
floatlist in 'X:\lib\xLib\floatlist.pas',
LOGRecList in 'X:\lib\xLib\LOGRecList.pas',
Painter in 'X:\lib\xLib\Painter.pas',
PainterBox in 'X:\lib\xLib\PainterBox.pas',
xGraf in 'X:\lib\xLib\xGraf.pas',
xSeries in 'X:\lib\xLib\xSeries.pas',
ShellCtrls in 'X:\lib\ShellControls\ShellCtrls.pas',
AboutBox in 'AboutBox.pas' {frmAboutBox};
{$R *.RES}
/// <summary>
/// Èíèöèàëèçàöèÿ îñíîâíûõ ïàðàìåòðîâ.
/// Ðàçáîð ïàðàìåòðîâ êîììàíäíîé ñòðîêè.
/// </summary>
/// <remarks>
/// <para> Ïàðàìåòðû êîììàíäíîé ñòðîêè </para>
/// <para> 1-é — Ôîëäåð êîòîðûé íàäî îòêðûòü (èãíîðèðóåòñÿ) </para>
/// <para> 2-é — Èìÿ ôàéëà äëÿ ñîõðàíåíèÿ ñïèñêà êàðîòàæà </para>
/// </remarks>
function Init() : integer;
begin
PixelsPerInch := Screen.PixelsPerInch;
IniFolder := AddBackSlash(ExtractFilePath(ParamStr(0)));
if ParamCount >= 1 then begin
IniFolder := AddBackSlash(ExtractFilePath(ParamStr(1)));
if ParamCount = 2 then
LogListFileName := ParamStr(2);
end else if ParamCount = 0 then begin
LogListFileName := AddBackSlash(IniFolder+'loglist.txt');
end;
result := _OK_;
end;
begin
Utils.OpenLogFile(ParamStr(0)+'.log');
Init();
Application.Initialize();
Application.Title := 'LAS tools';
Application.HelpFile := 'C:\Program Files\logix\Logix.hlp';
Application.CreateForm(TfrmMain, frmMain);
Application.CreateForm(TfrmAboutBox, frmAboutBox);
// Application.CreateForm(TfrmBrowser, frmLASBrowser);
Application.CreateForm(TfrmLogList, frmLogList);
Application.CreateForm(TfrmAPIcode, frmAPIcode);
Application.CreateForm(TfrmAddLAS, frmAddLAS);
Application.CreateForm(TfrmEditLOGid, frmEditLOGid);
Application.CreateForm(TfrmEditLASParams, frmEditLASParams);
Application.CreateForm(TfrmChartHeaderInfo, frmChartHeaderInfo);
Application.CreateForm(TfrmChartPref, frmChartPref);
Application.CreateForm(TfrmJoinLAS, frmJoinLAS);
Application.CreateForm(TfrmReplace, frmReplace);
Application.CreateForm(TfrmViewSheet, frmViewSheet);
Application.CreateForm(TfrmPreferences, frmPreferences);
Application.CreateForm(TfrmAddNewLOGaliace, frmAddNewLOGaliace);
Application.Run();
Utils.CloseLogFile();
end.

244
logix.dproj Normal file
Просмотреть файл

@ -0,0 +1,244 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{D9F38C85-7900-4D0C-840D-FBA12F6F3432}</ProjectGuid>
<MainSource>logix.dpr</MainSource>
<Config Condition="'$(Config)'==''">Debug</Config>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<ProjectVersion>18.4</ProjectVersion>
<Base>True</Base>
<AppType>Application</AppType>
<FrameworkType>VCL</FrameworkType>
<Platform Condition="'$(Platform)'==''">Win32</Platform>
<TargetedPlatforms>1</TargetedPlatforms>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
<Base_Win32>true</Base_Win32>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
<Cfg_1>true</Cfg_1>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
<Cfg_2>true</Cfg_2>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win32)'!=''">
<Cfg_2_Win32>true</Cfg_2_Win32>
<CfgParent>Cfg_2</CfgParent>
<Cfg_2>true</Cfg_2>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Base)'!=''">
<SanitizedProjectName>logix</SanitizedProjectName>
<VerInfo_Build>157</VerInfo_Build>
<VerInfo_Debug>true</VerInfo_Debug>
<VerInfo_Keys>CompanyName=softland;FileDescription=LAS file tools;FileVersion=1.2.1.157;InternalName=logix;LegalCopyright=softlandia@gmail.com;LegalTrademarks=softlandia@gmail.com;OriginalFilename=logix;ProductName=LAS tools;ProductVersion=1.1.0.151;Comments=softlandia@gmail.com</VerInfo_Keys>
<VerInfo_AutoGenVersion>true</VerInfo_AutoGenVersion>
<DCC_Namespace>Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;System.Win;$(DCC_Namespace)</DCC_Namespace>
<VerInfo_MinorVer>2</VerInfo_MinorVer>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<VerInfo_Locale>1049</VerInfo_Locale>
<VerInfo_Release>1</VerInfo_Release>
<DCC_UNSAFE_TYPE>true</DCC_UNSAFE_TYPE>
<DCC_UsePackage>Vcl50;Vclx50;VclSmp50;Vcldb50;vclado50;ibevnt50;Vclbde50;vcldbx50;Qrpt50;TeeUI50;TeeDB50;Tee50;Dss50;TeeQR50;VCLIB50;dclocx50;$(DCC_UsePackage)</DCC_UsePackage>
<DCC_UNSAFE_CAST>true</DCC_UNSAFE_CAST>
<DCC_UNSAFE_CODE>true</DCC_UNSAFE_CODE>
<DCC_ImageBase>00400000</DCC_ImageBase>
<DCC_DependencyCheckOutputName>logix.exe</DCC_DependencyCheckOutputName>
<DCC_Platform>x86</DCC_Platform>
<DCC_WriteableConstants>true</DCC_WriteableConstants>
<DCC_K>false</DCC_K>
<DCC_F>false</DCC_F>
<DCC_S>false</DCC_S>
<DCC_N>true</DCC_N>
<DCC_E>false</DCC_E>
<DebugSourcePath>C:\Program Files\Borland\Delphi7\Demos\ShellControls\;$(DebugSourcePath)</DebugSourcePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_Win32)'!=''">
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<Icon_MainIcon>logix_Icon1.ico</Icon_MainIcon>
<DCC_Namespace>Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
<VerInfo_Locale>1033</VerInfo_Locale>
<Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
<VerInfo_Keys>CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName)</VerInfo_Keys>
<UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44>
<UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_1)'!=''">
<Icon_MainIcon>logix_Icon1.ico</Icon_MainIcon>
<Manifest_File>None</Manifest_File>
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2)'!=''">
<DCC_Optimize>false</DCC_Optimize>
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
<VerInfo_Keys>CompanyName=softlandia@gmail.com;FileVersion=0.1.1.2;InternalName=logix;LegalCopyright=;LegalTrademarks=;OriginalFilename=logix;ProductVersion=0.1.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName)</VerInfo_Keys>
<VerInfo_MinorVer>1</VerInfo_MinorVer>
<VerInfo_Build>2</VerInfo_Build>
<VerInfo_Locale>1033</VerInfo_Locale>
<BT_BuildType>Debug</BT_BuildType>
<VerInfo_PreRelease>true</VerInfo_PreRelease>
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
<VerInfo_AutoGenVersion>false</VerInfo_AutoGenVersion>
<VerInfo_MajorVer>0</VerInfo_MajorVer>
<VerInfo_AutoIncVersion>true</VerInfo_AutoIncVersion>
</PropertyGroup>
<ItemGroup>
<DelphiCompile Include="$(MainSource)">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="main.pas"/>
<DCCReference Include="common.pas"/>
<DCCReference Include="AddLogAliace.pas">
<Form>frmAddNewLOGaliace</Form>
</DCCReference>
<DCCReference Include="AddLAS.pas">
<Form>frmAddLAS</Form>
</DCCReference>
<DCCReference Include="APIcode.pas">
<Form>frmAPIcode</Form>
</DCCReference>
<DCCReference Include="BaseDlg.pas">
<Form>frmBaseDlg</Form>
</DCCReference>
<DCCReference Include="browser.pas">
<Form>frmBrowser</Form>
</DCCReference>
<DCCReference Include="CreateLas.pas">
<Form>frmCreateLAS</Form>
</DCCReference>
<DCCReference Include="ChartHeaderInfo.pas">
<Form>frmChartHeaderInfo</Form>
</DCCReference>
<DCCReference Include="ChartPref.pas">
<Form>frmChartPref</Form>
</DCCReference>
<DCCReference Include="ChartExport.pas">
<Form>frmChartExport</Form>
</DCCReference>
<DCCReference Include="ChangeLOGid.pas">
<Form>frmChangeLogId</Form>
</DCCReference>
<DCCReference Include="EditLOGid.pas">
<Form>frmEditLOGid</Form>
</DCCReference>
<DCCReference Include="EditLASParams.pas">
<Form>frmEditLASParams</Form>
</DCCReference>
<DCCReference Include="JoinLAS.pas">
<Form>frmJoinLAS</Form>
</DCCReference>
<DCCReference Include="LASView.pas">
<Form>fraLASView</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="LOGChart.pas">
<Form>frmLogChart</Form>
</DCCReference>
<DCCReference Include="LogList.pas">
<Form>frmLogList</Form>
</DCCReference>
<DCCReference Include="preferences.pas">
<Form>frmPreferences</Form>
</DCCReference>
<DCCReference Include="Replace.pas">
<Form>frmReplace</Form>
</DCCReference>
<DCCReference Include="ViewSheet.pas">
<Form>frmViewSheet</Form>
</DCCReference>
<DCCReference Include="ViewXYZfile.pas">
<Form>frmViewXYZfile</Form>
</DCCReference>
<DCCReference Include="X:\lib\xLib\CLAS.pas"/>
<DCCReference Include="X:\lib\xLib\AScript.pas"/>
<DCCReference Include="X:\lib\xLib\biStrList.pas"/>
<DCCReference Include="X:\lib\xLib\floatlist.pas"/>
<DCCReference Include="X:\lib\xLib\LOGRecList.pas"/>
<DCCReference Include="X:\lib\xLib\Painter.pas"/>
<DCCReference Include="X:\lib\xLib\PainterBox.pas"/>
<DCCReference Include="X:\lib\xLib\xGraf.pas"/>
<DCCReference Include="X:\lib\xLib\xSeries.pas"/>
<DCCReference Include="X:\lib\ShellControls\ShellCtrls.pas"/>
<DCCReference Include="AboutBox.pas">
<Form>frmAboutBox</Form>
</DCCReference>
<None Include="logix.todo"/>
<None Include="ModelSupport_logix\default.txaPackage"/>
<None Include="ModelSupport_logix\default.txvpck"/>
<None Include="ModelSupport_logix\cLas\default.txvpck"/>
<None Include="ModelSupport_logix\logix\default.txvpck"/>
<None Include="ModelSupport_logix\cLas\default.txaPackage"/>
<BuildConfiguration Include="Debug">
<Key>Cfg_2</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
<BuildConfiguration Include="Base">
<Key>Base</Key>
</BuildConfiguration>
<BuildConfiguration Include="Release">
<Key>Cfg_1</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
</ItemGroup>
<Import Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')" Project="$(BDS)\Bin\CodeGear.Delphi.Targets"/>
<Import Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')" Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj"/>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality.12</Borland.Personality>
<Borland.ProjectType>VCLApplication</Borland.ProjectType>
<BorlandProject>
<Delphi.Personality>
<Source>
<Source Name="MainSource">logix.dpr</Source>
</Source>
<Parameters/>
<VersionInfo>
<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
<VersionInfo Name="AutoIncBuild">True</VersionInfo>
<VersionInfo Name="MajorVer">1</VersionInfo>
<VersionInfo Name="MinorVer">2</VersionInfo>
<VersionInfo Name="Release">1</VersionInfo>
<VersionInfo Name="Build">163</VersionInfo>
<VersionInfo Name="Debug">True</VersionInfo>
<VersionInfo Name="PreRelease">False</VersionInfo>
<VersionInfo Name="Special">False</VersionInfo>
<VersionInfo Name="Private">False</VersionInfo>
<VersionInfo Name="DLL">False</VersionInfo>
<VersionInfo Name="Locale">1049</VersionInfo>
<VersionInfo Name="CodePage">1251</VersionInfo>
</VersionInfo>
<VersionInfoKeys>
<VersionInfoKeys Name="CompanyName">softland</VersionInfoKeys>
<VersionInfoKeys Name="FileDescription">LAS file tools</VersionInfoKeys>
<VersionInfoKeys Name="FileVersion">1.2.1.163</VersionInfoKeys>
<VersionInfoKeys Name="InternalName">logix</VersionInfoKeys>
<VersionInfoKeys Name="LegalCopyright">softlandia@gmail.com</VersionInfoKeys>
<VersionInfoKeys Name="LegalTrademarks">softlandia@gmail.com</VersionInfoKeys>
<VersionInfoKeys Name="OriginalFilename">logix</VersionInfoKeys>
<VersionInfoKeys Name="ProductName">LAS tools</VersionInfoKeys>
<VersionInfoKeys Name="ProductVersion">1.1.0.151</VersionInfoKeys>
<VersionInfoKeys Name="Comments">softlandia@gmail.com</VersionInfoKeys>
</VersionInfoKeys>
<Excluded_Packages>
<Excluded_Packages Name="$(BDSBIN)\dcloffice2k250.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
<Excluded_Packages Name="$(BDSBIN)\dclofficexp250.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
</Excluded_Packages>
</Delphi.Personality>
<Platforms>
<Platform value="Win32">True</Platform>
</Platforms>
<ModelSupport>True</ModelSupport>
</BorlandProject>
<ProjectFileVersion>12</ProjectFileVersion>
</ProjectExtensions>
</Project>

877
logix.dsk Normal file
Просмотреть файл

@ -0,0 +1,877 @@
[Closed Files]
File_0=TSourceModule,'X:\lib\xLib\floatlist.pas',0,1,1,1,25,0,0,,
File_1=TSourceModule,'c:\program files (x86)\embarcadero\rad studio\11.0\SOURCE\VCL\Vcl.ValEdit.pas',0,1,1,1,9,0,0,,
File_2=TSourceModule,'X:\prj\Logix\LOGChart.pas',0,1,106,29,126,0,0,,{0
File_3=TSourceModule,'X:\prj\Logix\ChartPref.pas',0,1,95,1,123,0,0,,
File_4=TSourceModule,'c:\program files\embarcadero\rad studio\9.0\SOURCE\VCL\Vcl.Dialogs.pas',0,1,1,1,9,0,0,,
File_5=TSourceModule,'X:\lib\xLib\xSeries.pas',0,1,3,18,25,0,0,,
File_6=TSourceModule,'c:\program files\embarcadero\rad studio\9.0\SOURCE\VCL\Vcl.Forms.pas',0,1,150,41,153,0,0,{{1679,4}
File_7=TSourceModule,'c:\program files\embarcadero\rad studio\9.0\SOURCE\VCL\Vcl.Controls.pas',0,1,9019,3,9016,0,0,,
File_8=TSourceModule,'c:\program files\embarcadero\rad studio\9.0\source\rtl\common\System.IniFiles.pas',0,1,144,1,167,0,0,,
File_9=TSourceModule,'c:\program files\embarcadero\rad studio\8.0\SOURCE\VCL\Controls.pas',0,1,1887,1,1908,0,0,,
File_10=TSourceModule,'X:\prj\dbSources\FSearchSource.pas',0,1,331,1,340,0,0,,
File_11=TSourceModule,'X:\prj\Logix\preferences.pas',0,1,46,20,65,0,0,,
File_12=TSourceModule,'X:\prj\Logix\ChartHeaderInfo.pas',0,1,1,25,25,0,0,,
File_13=TSourceModule,'X:\prj\Logix\AddLogAliace.pas',0,1,1,1,1,0,0,,
File_14=TSourceModule,'X:\lib\xLib\biStrList.pas',0,1,1,3,14,0,0,,
[Modules]
Module0=X:\lib\xLib\CLAS.pas
Module1=X:\prj\Logix\logix.dproj
Module2=X:\prj\Logix\ModelSupport_logix\cLas\default.txvpck
Module3=X:\prj\Logix\browser.pas
Module4=X:\lib\ShellControls\ShellCtrls.pas
Module5=X:\lib\xLib\PainterBox.pas
Module6=X:\lib\xLib\xGraf.pas
Module7=X:\lib\xLib\Painter.pas
Module8=X:\prj\Logix\main.pas
Module9=X:\prj\Logix\common.pas
Module10=X:\lib\xLib\Utils.pas
Module11=default.htm
Count=12
EditWindowCount=1
[X:\lib\xLib\CLAS.pas]
ModuleType=TSourceModule
FormState=0
FormOnTop=0
[X:\prj\Logix\logix.dproj]
ModuleType=TBaseProject
[X:\prj\Logix\ModelSupport_logix\cLas\default.txvpck]
ModuleType=TTogetherDocModule
[X:\prj\Logix\browser.pas]
ModuleType=TSourceModule
FormState=1
FormOnTop=0
[X:\lib\ShellControls\ShellCtrls.pas]
ModuleType=TSourceModule
FormState=0
FormOnTop=0
[X:\lib\xLib\PainterBox.pas]
ModuleType=TSourceModule
FormState=0
FormOnTop=0
[X:\lib\xLib\xGraf.pas]
ModuleType=TSourceModule
FormState=0
FormOnTop=0
[X:\lib\xLib\Painter.pas]
ModuleType=TSourceModule
FormState=0
FormOnTop=0
[X:\prj\Logix\main.pas]
ModuleType=TSourceModule
FormState=1
FormOnTop=0
[X:\prj\Logix\common.pas]
ModuleType=TSourceModule
FormState=0
FormOnTop=0
[X:\lib\xLib\Utils.pas]
ModuleType=TSourceModule
FormState=0
FormOnTop=0
[default.htm]
ModuleType=TURLModule
[X:\prj\Logix\LASView.pas]
FormState=1
FormOnTop=0
[EditWindow0]
ViewCount=12
CurrentEditView=X:\lib\xLib\CLAS.pas
View0=0
View1=1
View2=2
View3=3
View4=4
View5=5
View6=6
View7=7
View8=8
View9=9
View10=10
View11=11
PercentageSizes=1
Create=1
Visible=1
Docked=1
State=0
Left=0
Top=0
Width=10000
Height=9296
MaxLeft=-1
MaxTop=-1
ClientWidth=10000
ClientHeight=9296
DockedToMainForm=1
BorlandEditorCodeExplorer=BorlandEditorCodeExplorer@EditWindow0
TopPanelSize=0
LeftPanelSize=1896
LeftPanelClients=PropertyInspector,DockSite3
LeftPanelData=000008000101000000006D1400000000000001680700000000000001000000005C0E000009000000446F636B53697465330100000000502400001100000050726F7065727479496E73706563746F72FFFFFFFF
RightPanelSize=2000
RightPanelClients=DockSite2,DockSite4
RightPanelData=000008000101000000006D1400000000000001D00700000000000001000000004412000009000000446F636B536974653201000000005024000009000000446F636B5369746534FFFFFFFF
BottomPanelSize=0
BottomPanelClients=DockSite1,MessageView
BottomPanelData=0000080001020200000009000000446F636B53697465310F0000004D65737361676556696577466F726D1534000000000000022606000000000000FFFFFFFF
BottomMiddlePanelSize=0
BottomMiddlePanelClients=DockSite0,GraphDrawingModel
BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E6756696577961D00000000000002F206000000000000FFFFFFFF
[View0]
CustomEditViewType=TWelcomePageView
WelcomePageURL=bds:/default.htm
[View1]
CustomEditViewType=TEditView
Module=X:\prj\Logix\main.pas
CursorX=22
CursorY=169
TopLine=145
LeftCol=1
Elisions=
Bookmarks={0,223,1}{1,93,3}
EditViewName=Borland.FormDesignerView
[View2]
CustomEditViewType=TEditView
Module=X:\prj\Logix\logix.dpr
CursorX=21
CursorY=89
TopLine=17
LeftCol=1
Elisions=
Bookmarks=
EditViewName=X:\prj\Logix\logix.dpr
[View3]
CustomEditViewType=TEditView
Module=X:\prj\Logix\browser.pas
CursorX=29
CursorY=443
TopLine=440
LeftCol=1
Elisions=
Bookmarks={0,338,1}{2,338,1}
EditViewName=Borland.FormDesignerView
[View4]
CustomEditViewType=TEditView
Module=X:\lib\ShellControls\ShellCtrls.pas
CursorX=41
CursorY=6
TopLine=4
LeftCol=1
Elisions=
Bookmarks=
EditViewName=X:\lib\ShellControls\ShellCtrls.pas
[View5]
CustomEditViewType=TEditView
Module=X:\prj\Logix\common.pas
CursorX=12
CursorY=16
TopLine=1
LeftCol=1
Elisions=
Bookmarks=
EditViewName=X:\prj\Logix\common.pas
[View6]
CustomEditViewType=TEditView
Module=X:\lib\xLib\CLAS.pas
CursorX=1
CursorY=1198
TopLine=1196
LeftCol=1
Elisions=
Bookmarks={0,415,60}
EditViewName=X:\lib\xLib\CLAS.pas
[View7]
CustomEditViewType=TTogetherEditView
Module=X:\prj\Logix\ModelSupport_logix\cLas\default.txvpck
[View8]
CustomEditViewType=TEditView
Module=X:\lib\xLib\PainterBox.pas
CursorX=1
CursorY=110
TopLine=90
LeftCol=1
Elisions=
Bookmarks={0,235,7}
EditViewName=X:\lib\xLib\PainterBox.pas
[View9]
CustomEditViewType=TEditView
Module=X:\lib\xLib\Painter.pas
CursorX=1
CursorY=88
TopLine=79
LeftCol=1
Elisions=
Bookmarks=
EditViewName=X:\lib\xLib\Painter.pas
[View10]
CustomEditViewType=TEditView
Module=X:\lib\xLib\xGraf.pas
CursorX=11
CursorY=404
TopLine=394
LeftCol=1
Elisions=
Bookmarks={0,626,57}{1,857,3}{2,78,1}
EditViewName=X:\lib\xLib\xGraf.pas
[View11]
CustomEditViewType=TEditView
Module=X:\lib\xLib\Utils.pas
CursorX=1
CursorY=854
TopLine=823
LeftCol=1
Elisions=
Bookmarks=
EditViewName=X:\lib\xLib\Utils.pas
[Watches]
Count=2
Watch0='LastFolderPath',256,0,18,1,0,'Watches',1
Watch1='LogListFileName',256,0,18,1,0,'Watches',1
[WatchWindow]
WatchColumnWidth=120
WatchShowColumnHeaders=1
PercentageSizes=1
Create=1
Visible=1
Docked=1
State=0
Left=0
Top=0
Width=3827
Height=1185
MaxLeft=-1
MaxTop=-1
ClientWidth=3827
ClientHeight=1185
TBDockHeight=213
LRDockWidth=13601
Dockable=1
StayOnTop=0
[Breakpoints]
Count=2
Breakpoint0='X:\lib\xLib\xGraf.pas',1032,'',0,1,'',1,0,0,'',1,'','','',0,''
Breakpoint1='X:\lib\xLib\PainterBox.pas',234,'',0,1,'',1,0,0,'',1,'','','',0,''
[EmbarcaderoWin32Debugger_AddressBreakpoints]
Count=0
[EmbarcaderoWin64Debugger_AddressBreakpoints]
Count=0
[EmbarcaderoIOSDeviceDebugger_AddressBreakpoints]
Count=0
[Main Window]
PercentageSizes=1
Create=1
Visible=1
Docked=0
State=2
Left=145
Top=278
Width=8929
Height=8519
MaxLeft=-5
MaxTop=-9
MaxWidth=8929
MaxHeight=8519
ClientWidth=10000
ClientHeight=9796
BottomPanelSize=9296
BottomPanelClients=EditWindow0
BottomPanelData=0000080000000000000000000000000000000000000000000000000100000000000000000C0000004564697457696E646F775F30FFFFFFFF
[ProjectManager]
PercentageSizes=1
Create=1
Visible=1
Docked=1
State=0
Left=0
Top=0
Width=2067
Height=4194
MaxLeft=-1
MaxTop=-1
ClientWidth=2067
ClientHeight=4194
TBDockHeight=5898
LRDockWidth=2352
Dockable=1
StayOnTop=0
[MessageView]
PercentageSizes=1
Create=1
Visible=0
Docked=1
State=0
Left=0
Top=0
Width=2766
Height=1417
MaxLeft=-1
MaxTop=-1
ClientWidth=2766
ClientHeight=1417
TBDockHeight=1417
LRDockWidth=2766
Dockable=1
StayOnTop=0
[ToolForm]
PercentageSizes=1
Create=1
Visible=1
Docked=1
State=0
Left=0
Top=0
Width=2067
Height=4407
MaxLeft=-1
MaxTop=-1
ClientWidth=2067
ClientHeight=4407
TBDockHeight=7157
LRDockWidth=2002
Dockable=1
StayOnTop=0
[TemplateView]
PercentageSizes=1
Create=1
Visible=0
Docked=1
State=0
Left=-1666
Top=-101
Width=274
Height=361
MaxLeft=-1
MaxTop=-1
ClientWidth=274
ClientHeight=361
TBDockHeight=361
LRDockWidth=274
Dockable=1
StayOnTop=0
Name=120
Description=334
filter=1
[PropertyInspector]
PercentageSizes=1
Create=1
Visible=1
Docked=1
State=0
Left=0
Top=420
Width=1959
Height=5407
MaxLeft=-1
MaxTop=-1
ClientWidth=1959
ClientHeight=5407
TBDockHeight=9065
LRDockWidth=1959
Dockable=1
StayOnTop=0
SplitPos=111
[DebugLogView]
PercentageSizes=1
Create=1
Visible=1
Docked=1
State=0
Left=0
Top=0
Width=3827
Height=1185
MaxLeft=-1
MaxTop=-1
ClientWidth=3827
ClientHeight=1185
TBDockHeight=407
LRDockWidth=4952
Dockable=1
StayOnTop=0
[ThreadStatusWindow]
PercentageSizes=1
Create=1
Visible=1
Docked=1
State=0
Left=0
Top=0
Width=3827
Height=1185
MaxLeft=-1
MaxTop=-1
ClientWidth=3827
ClientHeight=1185
TBDockHeight=213
LRDockWidth=7406
Dockable=1
StayOnTop=0
Column0Width=145
Column1Width=100
Column2Width=115
Column3Width=250
[LocalVarsWindow]
PercentageSizes=1
Create=1
Visible=1
Docked=1
State=0
Left=0
Top=0
Width=3827
Height=1185
MaxLeft=-1
MaxTop=-1
ClientWidth=3827
ClientHeight=1185
TBDockHeight=1537
LRDockWidth=3482
Dockable=1
StayOnTop=0
[CallStackWindow]
PercentageSizes=1
Create=1
Visible=1
Docked=1
State=0
Left=0
Top=0
Width=3827
Height=1185
MaxLeft=-1
MaxTop=-1
ClientWidth=3827
ClientHeight=1185
TBDockHeight=2056
LRDockWidth=3482
Dockable=1
StayOnTop=0
[DataExplorerContainer]
PercentageSizes=1
Create=1
Visible=1
Docked=1
State=0
Left=0
Top=0
Width=2067
Height=8833
MaxLeft=-1
MaxTop=-1
ClientWidth=2067
ClientHeight=8833
TBDockHeight=4880
LRDockWidth=7147
Dockable=1
StayOnTop=0
[TFileExplorerForm]
PercentageSizes=1
Create=1
Visible=0
Docked=1
State=0
Left=-1474
Top=-101
Width=2842
Height=6204
MaxLeft=-1
MaxTop=-1
ClientWidth=2842
ClientHeight=6204
TBDockHeight=6204
LRDockWidth=2842
Dockable=1
StayOnTop=0
[FindReferencsForm]
PercentageSizes=1
Create=1
Visible=1
Docked=1
State=0
Left=0
Top=0
Width=2336
Height=1250
MaxLeft=-1
MaxTop=-1
ClientWidth=2336
ClientHeight=1250
TBDockHeight=2315
LRDockWidth=2826
Dockable=1
StayOnTop=0
[RefactoringForm]
PercentageSizes=1
Create=1
Visible=1
Docked=1
State=0
Left=0
Top=0
Width=2336
Height=1250
MaxLeft=-1
MaxTop=-1
ClientWidth=2336
ClientHeight=1250
TBDockHeight=3204
LRDockWidth=2826
Dockable=1
StayOnTop=0
[ModelViewTool]
PercentageSizes=1
Create=1
Visible=1
Docked=1
State=0
Left=0
Top=0
Width=2067
Height=8833
MaxLeft=-1
MaxTop=-1
ClientWidth=2067
ClientHeight=8833
TBDockHeight=4880
LRDockWidth=5307
Dockable=1
StayOnTop=0
[ClassBrowserTool]
PercentageSizes=1
Create=1
Visible=0
Docked=1
State=0
Left=-182
Top=-101
Width=1846
Height=3148
MaxLeft=-1
MaxTop=-1
ClientWidth=1846
ClientHeight=3148
TBDockHeight=3148
LRDockWidth=1846
Dockable=1
StayOnTop=0
[MetricsView]
PercentageSizes=1
Create=1
Visible=1
Docked=1
State=0
Left=0
Top=0
Width=2336
Height=1250
MaxLeft=-1
MaxTop=-1
ClientWidth=2336
ClientHeight=1250
TBDockHeight=4833
LRDockWidth=3563
Dockable=1
StayOnTop=0
[QAView]
PercentageSizes=1
Create=1
Visible=1
Docked=1
State=0
Left=0
Top=0
Width=2336
Height=1250
MaxLeft=-1
MaxTop=-1
ClientWidth=2336
ClientHeight=1250
TBDockHeight=4833
LRDockWidth=3563
Dockable=1
StayOnTop=0
[ToDo List]
PercentageSizes=1
Create=1
Visible=1
Docked=1
State=0
Left=0
Top=0
Width=2336
Height=1250
MaxLeft=-1
MaxTop=-1
ClientWidth=2336
ClientHeight=1250
TBDockHeight=1157
LRDockWidth=3676
Dockable=1
StayOnTop=0
Column0Width=314
Column1Width=30
Column2Width=150
Column3Width=172
Column4Width=129
SortOrder=4
ShowHints=1
ShowChecked=1
[GraphDrawingModel]
PercentageSizes=1
Create=1
Visible=0
Docked=1
State=0
Left=0
Top=0
Width=2858
Height=3213
MaxLeft=-1
MaxTop=-1
ClientWidth=2858
ClientHeight=3213
TBDockHeight=3213
LRDockWidth=2858
Dockable=1
StayOnTop=0
[BreakpointWindow]
PercentageSizes=1
Create=1
Visible=1
Docked=1
State=0
Left=0
Top=0
Width=3827
Height=1185
MaxLeft=-1
MaxTop=-1
ClientWidth=3827
ClientHeight=1185
TBDockHeight=1546
LRDockWidth=8746
Dockable=1
StayOnTop=0
Column0Width=200
Column1Width=75
Column2Width=200
Column3Width=200
Column4Width=200
Column5Width=75
Column6Width=75
[StructureView]
PercentageSizes=1
Create=1
Visible=1
Docked=1
State=0
Left=0
Top=0
Width=1959
Height=3426
MaxLeft=-1
MaxTop=-1
ClientWidth=1959
ClientHeight=3426
TBDockHeight=3676
LRDockWidth=1895
Dockable=1
StayOnTop=0
[BorlandEditorCodeExplorer@EditWindow0]
PercentageSizes=1
Create=1
Visible=0
Docked=0
State=0
Left=0
Top=0
Width=1825
Height=6176
MaxLeft=-5
MaxTop=-9
ClientWidth=1738
ClientHeight=5861
TBDockHeight=6176
LRDockWidth=1825
Dockable=1
StayOnTop=0
[DockHosts]
DockHostCount=5
[DockSite0]
HostDockSite=DockBottomCenterPanel
DockSiteType=1
PercentageSizes=1
Create=1
Visible=0
Docked=1
State=0
Left=0
Top=0
Width=2336
Height=1481
MaxLeft=-1
MaxTop=-1
ClientWidth=2336
ClientHeight=1481
TBDockHeight=1481
LRDockWidth=2336
Dockable=1
StayOnTop=0
TabPosition=1
ActiveTabID=RefactoringForm
TabDockClients=RefactoringForm,FindReferencsForm,ToDo List,MetricsView,QAView
[DockSite1]
HostDockSite=DockBottomPanel
DockSiteType=1
PercentageSizes=1
Create=1
Visible=0
Docked=1
State=0
Left=0
Top=0
Width=3827
Height=1417
MaxLeft=-1
MaxTop=-1
ClientWidth=3827
ClientHeight=1417
TBDockHeight=1417
LRDockWidth=3827
Dockable=1
StayOnTop=0
TabPosition=1
ActiveTabID=DebugLogView
TabDockClients=DebugLogView,BreakpointWindow,ThreadStatusWindow,CallStackWindow,WatchWindow,LocalVarsWindow
[DockSite2]
HostDockSite=DockRightPanel
DockSiteType=1
PercentageSizes=1
Create=1
Visible=1
Docked=1
State=0
Left=0
Top=23
Width=2067
Height=4426
MaxLeft=-1
MaxTop=-1
ClientWidth=2067
ClientHeight=4426
TBDockHeight=9065
LRDockWidth=2067
Dockable=1
StayOnTop=0
TabPosition=1
ActiveTabID=ProjectManager
TabDockClients=ProjectManager,ModelViewTool,DataExplorerContainer,TFileExplorerForm
[DockSite3]
HostDockSite=DockLeftPanel
DockSiteType=1
PercentageSizes=1
Create=1
Visible=1
Docked=1
State=0
Left=0
Top=23
Width=1959
Height=3426
MaxLeft=-1
MaxTop=-1
ClientWidth=1959
ClientHeight=3426
TBDockHeight=9065
LRDockWidth=1959
Dockable=1
StayOnTop=0
TabPosition=1
ActiveTabID=StructureView
TabDockClients=StructureView,ClassBrowserTool
[DockSite4]
HostDockSite=DockRightPanel
DockSiteType=1
PercentageSizes=1
Create=1
Visible=1
Docked=1
State=0
Left=0
Top=528
Width=2067
Height=4407
MaxLeft=-1
MaxTop=-1
ClientWidth=2067
ClientHeight=4407
TBDockHeight=9065
LRDockWidth=2067
Dockable=1
StayOnTop=0
TabPosition=1
ActiveTabID=ToolForm
TabDockClients=ToolForm,TemplateView

Двоичные данные
logix.exe Normal file

Двоичный файл не отображается.

10
logix.exe.log Normal file
Просмотреть файл

@ -0,0 +1,10 @@
Open at 18.08.2019 20:04:31
"LAS tools" (c) softlandia@gmail.com
Start reading api.ini
Succesfull reading API section
Start reading logs.ini
Succesfull reading LOGID section
Succesful reading logs.ini
×òåíèå ôàéëà: X:\prj\Logix\logix.ini
Ôàéë: X:\prj\Logix\logix.ini ïðî÷èòàí ó÷ïåøíî.
Close at 18.08.2019 20:04:32

2
logix.ini Normal file
Просмотреть файл

@ -0,0 +1,2 @@
[MAIN]
PATH=X:\prj\Logix

140
logix.jv.ini Normal file
Просмотреть файл

@ -0,0 +1,140 @@
[frmMain]
FormVersion=0
ShowCmd=1
Flags=0
PixelsPerInch=96
MinMaxPos(1280x960)=-1,-1,-1,-1
MinMaxPos=-1,-1,-1,-1
NormPos(1280x960)=44,44,594,129
NormPos=52,52,579,200
MinMaxPos(1680x1050)=-1,-1,-1,-1
NormPos(1680x1050)=44,44,594,129
MinMaxPos(1280x1024)=-1,-1,-1,-1
NormPos(1280x1024)=8,2,558,87
MinMaxPos(3840x1080)=-1,-1,-1,-1
NormPos(3840x1080)=1923,1,2450,149
MinMaxPos(1280x720)=-1,-1,-1,-1
NormPos(1280x720)=2,1,617,77
MinMaxPos(1920x1080)=-1,-1,-1,-1
NormPos(1920x1080)=0,2,808,96
MinMaxPos(1920x1200)=-1,-1,-1,-1
NormPos(1920x1200)=52,52,579,200
[frmBrowser]
FormVersion=0
ShowCmd=1
Flags=0
PixelsPerInch=96
MinMaxPos(1280x960)=-1,-1,-1,-1
MinMaxPos=-1,-1,-1,-1
NormPos(1280x960)=46,128,595,755
NormPos=51,193,823,804
MinMaxPos(1680x1050)=-1,-1,-1,-1
NormPos(1680x1050)=46,128,595,755
MinMaxPos(1280x1024)=0,996,-1,-1
NormPos(1280x1024)=9,86,559,1014
MinMaxPos(3840x1080)=-1,-1,-1,-1
NormPos(3840x1080)=1922,142,2791,1063
MinMaxPos(1280x720)=-1,-1,-1,-1
NormPos(1280x720)=1,78,630,689
MinMaxPos(1920x1080)=-1,-1,-1,-1
NormPos(1920x1080)=1,98,664,858
MinMaxPos(1920x1200)=-1,-1,-1,-1
NormPos(1920x1200)=51,193,823,804
[frmChartPref]
FormVersion=0
ShowCmd=1
Flags=0
PixelsPerInch=96
MinMaxPos(1280x960)=-1,-1,-1,-1
MinMaxPos=-1,-1,-1,-1
NormPos(1280x960)=271,3,594,277
NormPos=26,26,364,324
MinMaxPos(1680x1050)=-1,-1,-3,-3
NormPos(1680x1050)=271,3,594,277
MinMaxPos(1280x1024)=-1,-1,-1,-1
NormPos(1280x1024)=271,3,607,299
MinMaxPos(1920x1080)=-1,-1,-1,-1
NormPos(1920x1080)=76,76,494,451
MinMaxPos(3840x1080)=-1,-1,-1,-1
NormPos(3840x1080)=2461,203,2799,500
MinMaxPos(1920x1200)=-1,-1,-1,-1
NormPos(1920x1200)=26,26,364,324
[frmLogChart]
FormVersion=0
ShowCmd=1
Flags=0
PixelsPerInch=96
MinMaxPos(1280x960)=-1,-1,-1,-1
MinMaxPos=-1,-1,-1,-1
NormPos(1280x960)=594,-1,1074,967
NormPos=1114,7,1433,963
MinMaxPos(1680x1050)=-1,-1,-1,-1
NormPos(1680x1050)=594,43,1079,1050
MinMaxPos(1280x1024)=-1,-1,-1,-1
NormPos(1280x1024)=558,0,932,1007
MinMaxPos(3840x1080)=-1,-1,-1,-1
NormPos(3840x1080)=2780,0,3011,986
MinMaxPos(1280x720)=-1,-1,-1,-1
NormPos(1280x720)=104,0,513,669
MinMaxPos(1920x1080)=-1,-1,-1,-1
NormPos(1920x1080)=665,1,1322,832
MinMaxPos(1920x1200)=-1,-1,-1,-1
NormPos(1920x1200)=1114,7,1433,963
[frmLogChart_1]
FormVersion=0
ShowCmd=1
Flags=0
PixelsPerInch=96
MinMaxPos(1280x960)=-1,-1,-1,-1
MinMaxPos=-1,-1,-1,-1
NormPos(1280x960)=693,70,1093,681
NormPos=808,7,1128,961
MinMaxPos(1680x1050)=-1,-1,-1,-1
NormPos(1680x1050)=1085,45,1560,996
MinMaxPos(1280x1024)=-1,-1,-1,-1
NormPos(1280x1024)=833,1,1214,1006
MinMaxPos(1280x720)=-1,-1,-1,-1
NormPos(1280x720)=78,0,487,669
MinMaxPos(1920x1080)=-1,-1,-1,-1
NormPos(1920x1080)=732,0,1377,1084
MinMaxPos(3840x1080)=-1,-1,-1,-1
NormPos(3840x1080)=2997,0,3195,987
MinMaxPos(1920x1200)=-1,-1,-1,-1
NormPos(1920x1200)=808,7,1128,961
[frmLogChart_2]
FormVersion=0
ShowCmd=1
Flags=0
PixelsPerInch=96
MinMaxPos(3840x1080)=-1,-1,-1,-1
MinMaxPos=-1,-1,-1,-1
NormPos(3840x1080)=881,2,1255,990
NormPos=881,2,1255,990
[frmBrowser_1]
FormVersion=0
ShowCmd=1
Flags=0
PixelsPerInch=96
MinMaxPos(3840x1080)=-1,-1,-1,-1
MinMaxPos=-1,-1,-1,-1
NormPos(3840x1080)=1922,283,2740,894
NormPos=1922,283,2740,894
MinMaxPos(1280x1024)=-1,-1,-1,-1
NormPos(1280x1024)=8,84,557,695
[frmLogChart_3]
FormVersion=0
ShowCmd=1
Flags=0
PixelsPerInch=96
MinMaxPos(3840x1080)=-1,-1,-1,-1
MinMaxPos=-1,-1,-1,-1
NormPos(3840x1080)=1342,29,1822,1027
NormPos=1342,29,1822,1027

Двоичные данные
logix.res Normal file

Двоичный файл не отображается.

10
logix.stat Normal file
Просмотреть файл

@ -0,0 +1,10 @@
[Stats]
EditorSecs=510
DesignerSecs=186
InspectorSecs=60
CompileSecs=14632
OtherSecs=348
StartTime=23/09/2018 1:04:16 AM
RealKeys=0
EffectiveKeys=0
DebugSecs=53

61
logix.todo Normal file
Просмотреть файл

@ -0,0 +1,61 @@
{TODO -oVitaly -cError :
Лог файл программы закрывается раньше, чем вызываются методы OnDestroy окон вызванных в программе.
В этом методе нелбзя вызывать работу с логом.
Попробовать перенести закрытие лога в OnDestroy главного окна, либо уходить в OnHide}
{TODO 1 -oVitaly -cError : Инициализировать ВСЕ поля у серий}
{TODO -oVitaly -cГлупость : Проверить Lock у формы - true/false не логично - поменять местами}
{TODO -oVitaly -cЯ так хочу : Наделать short-cat для браузера}
{TODO -oVitaly -cЯ так хочу : При вводе кровли и подошвы отображения каротажа проверять на отрицательные значения}
{DONE 2 -oVitaly -cЯ так хочу : Переделать локальный буфер при рисовке, в поле класса и выделять при создании}
{DONE 2 -oVitaly -cЯ так хочу : Сделать округление начала отсчета глубин более точное, до десятков метров, а не сотен}
{TODO 2 -oVitaly -cЯ так хочу : DecimalSeparator меняется на время работыы во всей системе, это плохо.}
{DONE 3 -oVitaly -cError : Отображать толщину кривой на кнопке}
{TODO -oVitaly -cЯ так хочу : Сделать видимым процесс открытие формы LogList}
{DONE 1 -oVitaly -cЯ так хочу : В списке файлов в броузере сделать возможной фильтрацию по расширению и выделение las файлов}
{DONE 1 -oVitaly -cERROR??? :
Проверить реализацию метода Set для установки свойства ссылающегося
на другой компонент. TPainter.SetGraf....}
{DONE 1 -oVitaly -cError : Неверно отображается метки глубины при изменении масштаба}
{TODO 2 -oVitaly -cЯ так хочу : Избавиться от глобальной переменной "lf : TLASFile"}
{TODO -oVitaly -cЯ так хочу : Два списка ImageList on Main form join to one}
{TODO 1 -oVitaly -cError : При добавлении каротажа проверять и изменять NULL}
{DONE 1 -oVitaly -cЯ так хочу : !Стартовый каталог}
{TODO -oVitaly -cЯ так хочу : Присоединение данных каротажей из других las файлов}
{DONE -oVitaly -cЯ так хочу : Объединение las файлов с разными каротажами}
{TODO -oVitaly -cЯ так хочу : Планшет с несколькими дорожками}
{DONE 1 -oVitaly -cЯ так хочу : Метки глубин в зависимости от масштаба глубины}
{TODO 2 -oVitaly -cЯ так хочу : В wmf вставлять масштабные линейки значений каротажа}
{DONE 2 -oVitaly -cЯ так хочу : На кнопках каротажа отображать линейку}
{DONE 3 -oVitaly -cЯ так хочу : Пустое место в колонке убрать}
{DONE 1 -oVitaly -cЯ так хочу : Изменяемая ширина колонки}
{DONE 1 -oVitaly -cЯ так хочу : Подсказки}
{DONE 1 -oVitaly -cЯ так хочу : Техническая информация убрать}
{DONE 1 -oVitaly -cЯ так хочу : Колонка глубины слева}
{TODO 1 -oVitaly -cError : Нет экспорта в wmf при изменении масштаба графика по значению}
{DONE 3 -oVitaly -cЯ так хочу : Проверить AXIS_STYLE в logs.ini}
{DONE -oVitaly -cError : Кнопка на уровень выше работает неверно}
{DONE -oVitaly -cError : В настройке графика неверно отображается масштаб}
{DONE -oVitaly -cError : Исправить перемасштабирование по Х при клике на св-ве каротажа (логарифмическая шкала)}
{DONE -oVitaly -cЯ так хочу : Не перечитывать LAS файл при повторном выборе его в форме frmBrowser}
{DONE -oVitaly -cЯ так хочу : Сделать возможность выбирать толщину и стиль линии каротажа}
{DONE -oVitaly -cЯ так хочу : Выполнять динамическую подстановку параметров отображения каротажа по стандартным}
{DONE 1 -oVitaly -cЯ так хочу : сделать ширину кнопок свойств каротажа по ширине области рисования}
{TODO -oVitaly -cЯ так хочу : разобраться с контексным меню в frmBrowser}
{DONE 1 -oVitaly -cЯ так хочу :
Передавать в форму редактирования каротажа
толщину линии текущего}
{DONE -oVitaly -cГлупость : Избавиться от типа TStrObject}
{DONE -oVitaly -cЯ так хочу : переименовать метод "function TLASFile.AddLog" в "AddLogData"}
{DONE -oVitaly -cMemory :
Вопрос: метод AddObject класса TStringList помещает копию объекта в себя или ссылку на вставляемый объект.}
{DONE -oVitaly -cЯ так хочу : Заменить имя класса THeaderRec на TWInfoField.
Заменить имя класса TLASHeaderList на TWInfoList}
{TODO -oVitaly -cЯ так хочу : Заменить имя поля header сласса TLASFile на WInfo - Well Info}
{DONE -oVitaly -cЯ так хочу :Переделать procedure TLASHeaderList.SetValue в функцию с обработкой ошибок :-)
Аналогично procedure TLASHeaderList.SetValueAsFloat и изменить StrToFloat на StrToFloatF}
{TODO -oVitaly -cГлупость : В классе TLOGList функция GetWELLid использует параметр index,
но WELLid для всех наборов един}
{DONE -cMemory -oVitaly : Для класса THeaderRec не определен деструктор
Для элементов имеющих данный тип не
вызывается метод Free.}

Двоичные данные
logix_Icon.ico Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 766 B

Двоичные данные
logo.2.jpg Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 40 KiB

Двоичные данные
logo.2.psd Normal file

Двоичный файл не отображается.

Двоичные данные
logo.bmp Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 138 KiB

Двоичные данные
logo.psd Normal file

Двоичный файл не отображается.

98
logs.ini Normal file
Просмотреть файл

@ -0,0 +1,98 @@
[CAL]
COLOUR=clOlive
COLOUR_INDEX=8
PEN_WIDTH=1
PEN_STYLE=0
AXIS_STYLE=0
UNIT=m
[SP]
COLOUR=clRed
COLOUR_INDEX=1
PEN_WIDTH=2
PEN_STYLE=0
UNIT=mV
AXIS_STYLE=0
[PZ]
COLOUR=clNavy
COLOUR_INDEX=9
PEN_WIDTH=2
PEN_STYLE=0
UNIT=OHMM
AXIS_STYLE=0
[GZ]
COLOUR=clGreen
COLOUR_INDEX=3
PEN_WIDTH=2
PEN_STYLE=0
UNIT=OHMM
AXIS_STYLE=0
[GZ3]
COLOUR=clGreen
COLOUR_INDEX=3
PEN_WIDTH=2
PEN_STYLE=0
UNIT=OHMM
AXIS_STYLE=0
[DT]
COLOUR=clPurple
COLOUR_INDEX=4
PEN_WIDTH=1
PEN_STYLE=0
UNIT=mcs/m
AXIS_STYLE=0
[GR]
COLOUR=clRed
COLOUR_INDEX=1
PEN_WIDTH=1
PEN_STYLE=0
UNIT=API
AXIS_STYLE=0
[NGR]
COLOUR=clBlack
COLOUR_INDEX=0
PEN_WIDTH=1
PEN_STYLE=0
UNIT=API
AXIS_STYLE=0
[NPHI]
COLOUR=clBlack
COLOUR_INDEX=0
PEN_WIDTH=1
PEN_STYLE=0
UNIT=API
AXIS_STYLE=0
[RILD]
COLOUR=clTeal
COLOUR_INDEX=10
PEN_WIDTH=1
PEN_STYLE=0
UNIT=OHMM
AXIS_STYLE=0
[LAT]
COLOUR=clBlack
COLOUR_INDEX=0
PEN_WIDTH=2
PEN_STYLE=0
UNIT=OHMM
AXIS_STYLE=0
[RPRX]
COLOUR=clBlack
COLOUR_INDEX=0
PEN_WIDTH=2
PEN_STYLE=1
UNIT=OHMM
AXIS_STYLE=0
[MPZ]
COLOUR=clNavy
COLOUR_INDEX=9
PEN_WIDTH=1
PEN_STYLE=0
UNIT=OHMM
AXIS_STYLE=0
[MGZ]
COLOUR=clGreen
COLOUR_INDEX=3
PEN_WIDTH=1
PEN_STYLE=0
UNIT=OHMM
AXIS_STYLE=0

2827
main.dfm Normal file

Разница между файлами не показана из-за своего большого размера Загрузить разницу

261
main.pas Normal file
Просмотреть файл

@ -0,0 +1,261 @@
unit main;
{$DEFINE Debug}
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ToolWin, ComCtrls, Menus, Common, ImgList,
JvFormPlacement, JvComponentBase, JvAppStorage, JvAppIniStorage, Grids,
ValEdit, System.ImageList(*, System.ImageList*);
type
TfrmMain = class(TForm)
ButtonImages: TImageList;
ToolBar1: TToolBar;
btnNewLAS: TToolButton;
btnBrowser: TToolButton;
btnFillAPI: TToolButton;
btnChangeLOGid: TToolButton;
btnCreateHeaderList: TToolButton;
tblPreferences: TToolButton;
btnJounLas: TToolButton;
btnHelp: TToolButton;
btnAbout: TToolButton;
JvAppIniFileStorage1: TJvAppIniFileStorage;
JvFormStorage1: TJvFormStorage;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
/// <remarks>
/// <para>
/// Ñîçäàíèå ãëîáàëüíûõ îáúåêòîâ:
/// </para>
/// <para>
/// lf : TLASFile; - LAS file
/// </para>
/// <para>
/// strlstFile : TStringList; - ñïèñîê ôàéëîâ äëÿ îáðàáîòêè
/// </para>
/// <para>
/// strlstAPI : TBiStrList.Create(); - ñïèñîê ïîäñòàíîâîê äëÿ ìíåìîíèê
/// </para>
/// </remarks>
procedure FormCreate(Sender: TObject);
procedure btnFillAPIClick(Sender: TObject);
procedure btnCreateHeaderListClick(Sender: TObject);
procedure btnChangeLOGidClick(Sender: TObject);
procedure Close1Click(Sender: TObject);
procedure LOGidcode1Click(Sender: TObject);
procedure LOGid1Click(Sender: TObject);
procedure LASlist1Click(Sender: TObject);
procedure btnBrowserClick(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure btnJounLasClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Preferences1Click(Sender: TObject);
procedure btnHelpClick(Sender: TObject);
procedure btnAboutClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
function OpenFolder(const sPath : string) : integer;
public
function ReadAPIlist() : integer;
function ReadLogIdList() : integer;
end;
var
frmMain: TfrmMain;
level : integer;
implementation
uses floatlist, Utils, clas, IniFiles, CreateLas,
APIcode, LogList, Browser, AddLAS, ChangeLOGid, JoinLAS,
BiStrList, Preferences, LOGRecList, AboutBox, ShellAPI;
{$R *.DFM}
procedure TfrmMain.FormCreate(Sender: TObject);
begin
lf := TLASFile.Create();
strlstFile := TStringList.Create();
strlstAPI := TBiStrList.Create();
SaveDecimalSeparator := SysUtils.FormatSettings.DecimalSeparator;
if SaveDecimalSeparator = ',' then
SysUtils.FormatSettings.DecimalSeparator := '.';
Application.HelpFile := 'LOGIX.HLP';
end;
procedure TfrmMain.FormDestroy(Sender: TObject);
begin
//
end;
procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
strlstFile.Free();
strlstDir.Free();
strlstAPI.Clear();
strlstAPI.Free();
lf.free();
SysUtils.FormatSettings.DecimalSeparator := SaveDecimalSeparator;
end;
function TfrmMain.ReadAPIlist() : integer;
begin
strlstAPI.ReadIniFile(ExtractFilePath(ParamStr(0))+ 'api.ini','API');
result := _OK_;
end;
function TfrmMain.ReadLogIdList() : integer;
var
ini : TMemIniFile;
// i : integer;
begin
ini := TMemIniFile.Create('api.ini');
try
ini.ReadSectionValues('LOGID', frmPreferences.leLOGid.Strings);
finally
ini.Free();
end;
result := _OK_;
end;
procedure TfrmMain.btnFillAPIClick(Sender: TObject);
begin
frmAPIcode.ShowModal();
end;
procedure TfrmMain.btnCreateHeaderListClick(Sender: TObject);
begin
frmLogList.ShowModal();
end;
procedure TfrmMain.btnChangeLOGidClick(Sender: TObject);
begin
with TfrmChangeLogId.Create(Application) do
Show();
end;
procedure TfrmMain.Close1Click(Sender: TObject);
begin
Close();
end;
procedure TfrmMain.LOGidcode1Click(Sender: TObject);
begin
btnChangeLOGidClick(Sender);
end;
procedure TfrmMain.LOGid1Click(Sender: TObject);
begin
btnFillAPIClick(Sender);
end;
procedure TfrmMain.LASlist1Click(Sender: TObject);
begin
btnCreateHeaderListClick(Sender);
end;
procedure TfrmMain.btnAboutClick(Sender: TObject);
begin
frmAboutBox.ShowModal();
end;
procedure TfrmMain.btnBrowserClick(Sender: TObject);
begin
with TfrmBrowser.Create(TComponent(sender)) do begin
Show();
end;
end;
procedure TfrmMain.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_F1 then
btnHelpClick(Sender);
end;
procedure TfrmMain.btnJounLasClick(Sender: TObject);
begin
with TfrmJoinLAS.Create(Application) do begin
Show();
end;
end;
(* btnNewLAS on click event *)
procedure TfrmMain.ToolButton1Click(Sender: TObject);
var
lasfile : TLASFile;
begin
lasfile := TLASFile.Create();
with TfrmCreateLAS.Create(Application) do begin
las := lasfile;
Show();
end;
lasfile.Free();
end;
procedure TfrmMain.FormShow(Sender: TObject);
begin
Writeln(logfile, 'Start reading api.ini');
//ñïèñîê ïàðàìåòðà ïëîùàäè
if ReadAPIlist() = _OK_ then
Writeln(logfile, 'Succesfull reading API section')
else
Writeln(logfile, 'Faild reading API section');
Writeln(logfile, 'Start reading logs.ini');
//ñïèñîê ìíåìîíèê
if ReadLogIdList() = _OK_ then
Writeln(logfile, 'Succesfull reading LOGID section')
else
Writeln(logfile, 'Faild reading LOGID section');
//ïàðàìåòðû ñòàíäàðòíûõ êàðîòàæåé
stdLOG := TLogParamList.Create();
if stdLOG.ReadIniFile(AddBackSlash(ExtractFilePath(ParamStr(0))) + LOGS_PARAMETERS_FILENAME ) = _OK_ then
Writeln(logfile, 'Succesful reading logs.ini')
else
Writeln(logfile, 'Faild reading logs.ini');
btnBrowserClick(Sender);
end;
procedure TfrmMain.Preferences1Click(Sender: TObject);
begin
frmPreferences.ShowModal();
end;
function TfrmMain.OpenFolder(const sPath : string) : integer;
var
SEI : TShellExecuteInfo;
zFileName : array[0..255] of Char;
// aPath: AnsiString;
begin
result := _OK_;
StrPCopy(zFileName, sPath);
FillChar(SEI, SizeOf(SEI), 0);
with SEI do begin
cbSize := SizeOf(SEI);
wnd := Application.Handle;
fMask := SEE_MASK_INVOKEIDLIST + SEE_MASK_FLAG_NO_UI;
lpFile := zFileName;
nShow := SW_SHOW;
end;
try
if Integer(ShellExecuteEx(@SEI)) = 0 then begin
result := _ERROR_;
end;
except
end;
end;
procedure TfrmMain.btnHelpClick(Sender: TObject);
begin
// Application.HelpCommand(HELP_CONTENTS ,0);
OpenFolder('C:\Progra~1\logix\LOGIX.HLP');
end;
end.

94
preferences.dfm Normal file
Просмотреть файл

@ -0,0 +1,94 @@
object frmPreferences: TfrmPreferences
Left = 395
Top = 115
Caption = 'Preferences'
ClientHeight = 250
ClientWidth = 331
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -10
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object GroupBox1: TGroupBox
Left = 0
Top = 42
Width = 331
Height = 163
Align = alClient
Caption = ' LOGid aliace table '
TabOrder = 0
object leLogId: TValueListEditor
Left = 2
Top = 15
Width = 327
Height = 146
Align = alClient
TabOrder = 0
ColWidths = (
150
171)
end
end
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 331
Height = 42
ButtonHeight = 32
ButtonWidth = 36
Caption = 'ToolBar1'
Images = frmMain.ButtonImages
TabOrder = 1
object btnAdd: TToolButton
Left = 0
Top = 0
Caption = #1044#1086#1073#1072#1074#1080#1090#1100
EnableDropdown = True
ImageIndex = 12
OnClick = btnAddClick
end
end
object Panel1: TPanel
Left = 0
Top = 205
Width = 331
Height = 45
Align = alBottom
BevelOuter = bvNone
TabOrder = 2
object Panel2: TPanel
Left = 142
Top = 0
Width = 189
Height = 45
Align = alRight
BevelOuter = bvNone
TabOrder = 0
object BitBtn1: TBitBtn
Left = 8
Top = 8
Width = 81
Height = 33
DoubleBuffered = True
Kind = bkOK
ParentDoubleBuffered = False
TabOrder = 0
end
object BitBtn2: TBitBtn
Left = 96
Top = 8
Width = 81
Height = 33
DoubleBuffered = True
Kind = bkCancel
ParentDoubleBuffered = False
TabOrder = 1
end
end
end
end

65
preferences.pas Normal file
Просмотреть файл

@ -0,0 +1,65 @@
unit preferences;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, ValEdit, StdCtrls, Buttons, ImgList, ComCtrls,
ExtCtrls, ToolWin;
type
TfrmPreferences = class(TForm)
GroupBox1: TGroupBox;
leLogId: TValueListEditor;
ToolBar1: TToolBar;
btnAdd: TToolButton;
Panel1: TPanel;
Panel2: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure btnAddClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmPreferences: TfrmPreferences;
implementation
uses
IniFiles, AddLogAliace, main;
{$R *.dfm}
procedure TfrmPreferences.FormCreate(Sender: TObject);
var
ini : TMemIniFile;
begin
ini := TMemIniFile.Create('api.ini');
try
ini.ReadSectionValues('LOGID', leLOGid.Strings);
finally
ini.Free();
end;
end;
procedure TfrmPreferences.btnAddClick(Sender: TObject);
var
ini : TMemIniFile;
begin
with frmAddNewLogAliace do
if ShowModal() = mrOk then begin
leLOGid.Strings.Clear();
ini := TMemIniFile.Create('api.ini');
try
ini.WriteString('LOGID', edKey.Text, edValue.Text);
ini.ReadSectionValues('LOGID', leLOGid.Strings);
finally
ini.Free();
end;
end;
end;
end.

87
protocol.i Normal file
Просмотреть файл

@ -0,0 +1,87 @@
20.08.2000/2:30 Done output to LAS file
No passed output DATE line!
10.09.2000/0:59 Add converting from ANSI to OEM (WIN2DOS) text strings
at writing las file.
Create & add to project JoinWizard form.
Add to TLasFile function "AddLog".
Add to TLogDataSet function "AddLogDataSet".
Testing of JoinWizard is note complete.
12.04.2001/18:42 <EFBFBD>¥à¥à ¡®â ­ ª« áá TLASFile á ¨á¯®«ì§®¢ ­¨¥¬ ª« áá 
THeaderList, ⥯¥àì ç¨â ¥¬ ¢á¥ § £®«®¢®ç­ë¥ ¯®«ï...
ª« áá ¤®¡ ¢«¥­ ¢ë§®¢ ¢­¥è­¥© "callback" ä-樨.
®¡ ¢«¥­ë ä®à¬ë ¯® ¯®¨áªã, ¯à®á¬®âàã, ¡à®ã§¨­£ã
las ä ©«®¢, ¤®¡ ¢«¥­ë ä®à¬ë ­  ª ¦¤ãî ®¯¥à æ¨î.
®¡ ¢«¥­® ¬¥­î.
¯¨áª¨ ä ©«®¢, § ¬¥­ ¢  ¡¡à¥¢¨ âãà å ᪢ ¦¨­ ¨
ª à®â ¦¥©, ¨ ¯¥à¥¬¥­­ ï las ä ©«  ᤥ« ­ë £«®¡ «ì­ë¬¨.
®à¬ã JoinWizard ¯« ­¨àãî § ¬¥­¨âì.
* «ï ã᪮७¨ï ç⥭¨ï ä ©«®¢ ¯à¨ ®¯¥à æ¨ïå ¨§¬¥­¥­¨ï LOGid ¨«¨ WELL API
¬®¦­® áç¨â뢠âì § £®«®¢®ª áâ ­¤ àâ­®,   ¤ ­­ë¥ ¥¤¨­ë¬ ¡«®ª®¬...
13.04.2001/03:59 <EFBFBD>¥à¥à ¡®â ­® åà ­¥­¨¥ ª à®â ¦¥© ¢ ª« áᥠTLASFile
¢¬¥áâ® ­¥â¨¯¨§¨à®¢ ­­®£® ᯨ᪠ TList ⥯¥àì ¨á¯®«ì-
§ã¥âáï ᯥ樠«ì­ë© ª« áá TLOGList(TStringList) á
¤®¯®«­¨â¥«ì­ë¬¨ ¬¥â®¤ ¬¨.
ä®à¬¥ frmAddLAS ¢¢¥¤¥­ ®¡à ¡®â稪 ­ ¦ â¨ï Ctr+S ­ áâ-
஥­­ë© ­  á®åà ­¥­¨¥.
®à¬  ¡à®ã§¨­£  ®âªà뢠¥âáï ¬­®£®ªà â­®, ¯à®¢¥àª  ®á¢®-
¡®¦¤¥­¨ï ­¥ ¯à®¢®¤¨« áì.
13.04.2001/13:06 ä®à¬ã ¡à®ã§¨­£  ¤®¡ ¢«¥­® । ªâ¨à®¢ ­¨¥ § £®«®¢ª  ¨
ᯨ᪠ ª à®â ¦¥©, ¨ á®åà ­¥­¨¥ ®â। ªâ¨à®¢ ­­®£® ä ©« .
®§¤ ­ ä ©« ¯®¬®é¨, ¨§ ¯à®£à ¬¬ë ­¥ ¢ë§ë¢ ¥âáï.
13.04.2001/16:22 «ï ®á­®¢­®© ä®à¬ë ᮧ¤ ­ë ®¡à ¡®â稪¨ ᮡë⨩ ¢ë§®¢ 
¯®¬®é¨.
¡à®ã§¥à¥ ¯à¨ ­¥ã¤ ç­®¬ á®åà ­¥­¨¨ ¢ ¤¨ «®£¥ ¤®¡ ¢«¥­ 
¢®§¬®¦­®áâì Retry ¨ ®¡­®¢«¥­¨¥ ᯨ᪠ ä ©«®¢ ¯®á«¥
ᮡëâ¨ï SaveAs
13.04.2001/17:05 ®¡ ¢«¥­  ä®à¬  £à ä¨ç¥áª®£® ¯à¥¤áâ ¢«¥­¨ï ª à®â ¦ ???
16.04.2001/14:08 â ­¤ àâ­ë¥ ª®¬¯®­¥­âë ¯à®ª¨­ãâë. <EFBFBD> ç¨­ ¥¬ ¨á¯®ì§®¢ âì
áâ àãî ¡¨¡«¨®â¥ªã ¯® à¨á®¢ ­¨î £à ä¨ª®¢.
* <EFBFBD>ப®­â஫¨à®¢ âì ®âà¨á®¢ªã £à ä¨ª  ¢ ¯à¥¤¥« å ChartRect
03.05.2001/03:07 TGraf ¤®¡ ¢«¥­ ä« £ ­  ®âª«î祭¨¥ ®â®¡à ¦¥­¨ï ¬¥â®ª
­  ®áïå, ¯à¨¬¥­¥­¨¥ ॠ«¨§®¢ ­® ­¥ ¯®«­®áâìî.
Žâ®¡à ¦¥­¨¥ £«ã¡¨­ ¢ë¢¥¤¥­® ®â¤¥«ì­®© ª®«®­ª®©.
­¥á¥­® ¨§¬¥­¥­¨¥ 梥⮢.
ˆá¯à ¢«¥­  ®è¨¡ª  á ­¥®â®¡à ¦¥­¨¥¬ ®¤­®£® £à ä¨ª .
10.05.2001/01:57 ®âà¨á®¢ªã ª« áá  TxGraf ¢¢¥¤¥­ ¯à®¬¥¦ãâ®ç­ë©,
¡ãää¥à¨§ãî騩 ®¡ê¥ªâ offScreen : TBitmap - ¨¬¥¥â
¯®«¥ ⨯  TCanvas.  ª¨¬ ®¡à §®¬, á­ ç «  à¨á㥬 ­ 
í⮬ ­¥¢¨¤¨¬®¬ ª ­¢ á¥,   § â¥¬ ¯¥à¥¤ ¥¬ ¥£® ­  ­ è
íªà ­­ë©, ᪮à®áâì ®âà¨á®¢ª¨ ¢®§à®á« , ­®...
¤ «ì­¥©è¥¬ ¢¢¥¤¥­  ¯à¨ ®âà¨á®¢ª¥ äã­ªæ¨ï ptinrect
ª®â®à ï ¯à®¢¥àï¥â â®çªã ­  ¯à¨­ ¤«¥¦­®áâì ¯àאַ㣮«ì-
­¨ªã. <EFBFBD>®ª  ¯à ¢¨«ì­® ­¥ à ¡®â ¥â...
11.05.2001/01:52 ®©­  á ã᪮७­®© ®âà¨á®¢ª®© ¯à®¤®«¦¥­ ...
Žáâ ­®¢¨«¨áì ­  ⮬, çâ® ¢¬¥áâ® à¨á®¢ ­¨ï ¯® ¢á¥¬ã
canvas, à¨á㥬 ⮫쪮 ¢ ¢¨¤¨¬®¬ ¯àאַ㣮«ì­¨ª¥, ª®â®àë©
§ à ­¥¥ ¯¥à¥¤ ¥¬. ᪮ਫ®áì áãé¥á⢥­­®, ®¤­ ª®
ᯨ᮪ â®ç¥ª ¯à®á¬ âਢ ¥âáï ¢¥áì...¨ ­ ¡«î¤ îâáï ­¥-
ª®â®àë¥  àâ¥ä ªâë ¯à¨ áªà®«¨­£¥.
12.05.2001/01:20 ¡à ­ë  àâ¥ä ªâë ¯à¨ áªà®«¨­£¥. ®¡ ¢«¥­  ®âà¨á®¢ª 
®á¨ , ­® ¯®ª  ¢ áªà®«¨­£ã¥¬®© ®¡« áâ¨.
05.10.2001/22:17 ®¤¥« ­  ä®à¬  frmLOGChart, ¢ë¢®¤ ­  íªà ­ ç¥à¥§ TxGraf
à ¡®â ¥â ®ç¥­ì ¡ëáâà® ¢­¥ § ¢¨á¨¬®á⨠®â ª®«¨ç¥á⢠
¤ ­­ëå. ¤¥« ­  ¢®§¬®¦­®áâì ¯®¬¥é¥­¨ï ¨§®¡à ¦¥­¨ï ¢
Clipboard ¨ íªá¯®àâ  ¢ Metafile. ®§¤ ­ ª®¬¯®­¥­â
TLOGLegend ­ á«¥¤­¨ª TSpeedButton ¤«ï ®â®¡à ¦¥­¨ï
§ £®«®¢ª  ª à®â ¦ .  ­­ë¥ ª®¬¯®­¥­âë ᮧ¤ îâáï ¢
real time, ¯® ª®«¨ç¥áâ¢ã ®â®¡à ¦ ¥¬ëå ª à®â ¦¥©.
®¡ ¢«¥­  ä®à¬  ᮧ¤ ­¨ï LAS ä ©« , ¢ ª ç¥á⢥ ¨á室­ëå
¤ ­­ëå ¨á¯®«ì§ãîâáï ä ©«ë XYZ.
08.11.2001/00:54 ®¡ ¢«¥­ íªá¯®àâ ¢  ¢â®ª ¤®¢áª¨© áªà¨¯â, ¨á¯à ¢«¥­ 
®è¨¡ª  ¯à¨ áâ à⥠¯à®£à ¬¬ë á ­¥¯à ¢¨«ì­ë¬ áâ à⮢ë¬
ª â «®£®¬. ®¤¥« ­ áªà®«¨­£ ªà¨¢ëå. ®¡ ¢«¥­  ¢®§¬®¦-
­®áâì ¨§¬¥­¥­¨ï ¨­â¥à¢ «  §­ ç¥­¨© ¨ ¨­â¥à¢ «  £«ã¡¨­.
08.04.2003/13:20 ®¡ ¢«¥­  ¢®§¬®¦­®áâì ¯®áâ஥­¨ï ¨¤¥­â¨ä¨ª â®à  ᪢ ¦¨­ë
¯® ¯ à ¬¥âà ¬ ¨§ ini ä ©«  á ¨§¬¥­¥­¨¥¬ API ¯®«ï ¢ LAS
ä ©« å ¨ ¯®«ï UWI, ¯à¥¤¯®« £ ¥¬, çâ® ¯®«¥ ­®¬¥à  ᪢ -
¦¨­ë § ¯®«­¥­®.
10.11.2008/13:00 <EFBFBD>஥ªâ ¯®¤­ïâ ãᯥ譮.
20.02.2010/23:31 <EFBFBD>®¤­ïâ ­  D2010+JCL. Š à®â ¦ ®â®¡à ¦ ¥âáï ®â ᢮¥© ­ ç «ì­®© £«ã¡¨­ë.
®åà ­ï¥âáï ¨ ¢®ááâ ­ ¢«¨¢ ¥âáï ¯®á«¥¤­¨© à ¡®ç¨© ª â «®£. ä®à¬¥ ¡à ã§¥à  ¤®¡ ¢«¥­
ª®¬¯®­¥­â TShellTreeView.
01.09.2010/20:15 <EFBFBD>®¤­ïâ ­  D2010+JCL ­  Win7/Pro/Ru
27.11.2013/02:31 ¥àá¨ï 1.0.3.3
<EFBFBD>®¤­ïâ ­  Delphi XE4
ˆáª«î祭 ¨§ ¡¨¡«¨®â¥ª¨ ª®¬¯®­¥­â Placement - ­ á«¥¤¨¥ RX LIB

6
readme.txt Normal file
Просмотреть файл

@ -0,0 +1,6 @@
1. Переписать все файлы в каталог C:\Program files\Logix
2. Запускать logix.exe
3. В окне выбрать las файл
4. В нижней половине отображаются параметры файла
5. В правой нижней половине окна отображаются все каротажи,
поставить галочку у нужных и нажать кнопку с графиком

3149
скв-0117.LAS Normal file

Разница между файлами не показана из-за своего большого размера Загрузить разницу