Compare commits

..

No commits in common. "d7204c68985d8c79e5298634086feaeb3c1380d9" and "30428ce2d52700bd421b1674a7ef5646a32690c1" have entirely different histories.

31 changed files with 541 additions and 3281 deletions

1
.gitignore vendored
View File

@ -1,7 +1,6 @@
# Delphi
__history/
*.~*
*.ddp
*.scc
*.pdf
*.dcu

View File

@ -1,17 +0,0 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<DCC_CodePage>1251</DCC_CodePage>
<BRCC_IncludePath>C:\Projects\СКС\POWERCAD30\UNITS;$(BRCC_IncludePath)</BRCC_IncludePath>
<DCC_GenerateStackFrames>true</DCC_GenerateStackFrames>
<DCC_IntegerOverflowCheck>false</DCC_IntegerOverflowCheck>
<DCC_DebugInformation>true</DCC_DebugInformation>
</PropertyGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality.12</Borland.Personality>
<Borland.ProjectType>OptionSet</Borland.ProjectType>
<BorlandProject>
<Delphi.Personality/>
</BorlandProject>
<ProjectFileVersion>12</ProjectFileVersion>
</ProjectExtensions>
</Project>

View File

@ -1,135 +0,0 @@
[FileVersion]
Version=6.0
[Compiler]
A=8
B=0
C=1
D=1
E=0
F=0
G=1
H=1
I=0
J=1
K=0
L=1
M=0
N=1
O=0
P=1
Q=0
R=0
S=0
T=0
U=1
V=1
W=0
X=1
Y=1
Z=1
ShowHints=0
ShowWarnings=0
UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
[Linker]
MapFile=0
OutputObjs=0
ConsoleApp=1
DebugInfo=0
RemoteSymbols=0
MinStackSize=16384
MaxStackSize=1048576
ImageBase=4194304
ExeDescription=
[Directories]
OutputDir=D:\Program Files\Ýêñïåðò-ÑÊÑ 1.8.0
UnitOutputDir=DCU
PackageDLLOutputDir=
PackageDCPOutputDir=
SearchPath=$(DELPHI)\Lib\Debug
Packages=vcl;rtl;dbrtl;adortl;vcldb;vclx;bdertl;dsnap;tee;VclSmp;vclshlctrls;vclie;xmlrtl;inet;inetdbbde;inetdbxpress;ip4000clientvcl6;ip4000v6;db211d6r;FR6;cds;vcldbx;visualdbclx;dsnapcrba;dsnapcon;dbexpress;dss;webdsnap;bdecds;dbxcds;soaprtl;inetdb;websnap;ibxpress;indy;dclOffice2k;qrpt;nmfast;teeqr;ip4000word2000vcl6;elmlgnD6;elpackD6;elpkdbD6;elpproD6;elmltgD6;visualclx;Rz30Ctls60;Rz30DBCtls60;xmlide
Conditionals=3D
DebugSourceDirs=
UsePackages=0
[Parameters]
RunParams=
HostApplication=
Launcher=
UseLauncher=0
DebugCWD=
[Version Info]
IncludeVerInfo=0
AutoIncBuild=0
MajorVer=1
MinorVer=0
Release=0
Build=0
Debug=0
PreRelease=0
Special=0
Private=0
DLL=0
Locale=1049
CodePage=1251
[Version Info Keys]
CompanyName=ÝêñïåðòÑîôò
FileDescription=
FileVersion=1.7.1.1827
InternalName=
LegalCopyright=
LegalTrademarks=
OriginalFilename=
ProductName=Ýêñïåðò-ÑÊÑ
ProductVersion=2.3.0
Comments=
[Excluded Packages]
c:\program files\borland\delphi6\Bin\dclclxdb60.bpl=Borland CLX Database Components
C:\Program Files\Borland\Delphi6\Bin\dclclxstd60.bpl=Borland CLX Standard Components
c:\program files\borland\delphi6\Bin\dclite60.bpl=Borland Integrated Translation Environment
c:\program files\borland\delphi6\Bin\dclsoap60.bpl=Borland SOAP Components
D:\Program Files\CADE Control\Tutorial\Delphi\CADEPackage.bpl=CADE Control Component
C:\Program Files\Borland\Delphi6\Bin\dclaxserver60.bpl=Microsoft Office 97 Sample Automation Server Wrapper Components
D:\Program Files\KeverIT\EzPlanIT\Bpl\EzBasicDs_D6.bpl=EzPlan-IT's basic components
D:\Program Files\KeverIT\EzPlanIT\Bpl\EzBasic_D6.bpl=EzPlan-IT's basic components
D:\Program Files\KeverIT\EzPlanIT\Bpl\EZPlanitDs_D6.bpl=EzPlan-IT's main components
D:\Program Files\KeverIT\EzPlanIT\Bpl\EZPlanIT_D6.bpl=EzPlan-IT's main components
[HistoryLists\hlConditionals]
Count=30
Item0=3D
Item1=FINAL_SCS; SCS_PE; 3D
Item2=FINAL_SCS; SCS_PE; TRIAL_SCS; 3D
Item3=FINAL_SCS; TRIAL_SCS; 3D; PROCAT_SCS
Item4=FINAL_SCS; TELECOM; 3D
Item5=FINAL_SCS; TELECOM; FLASH_SCS; 3D
Item6=FINAL_SCS; TELECOM; TRIAL_SCS; 3D
Item7=FINAL_SCS; TELECOM; SCS_RF; 3D
Item8=FINAL_SCS; TELECOM; SCS_RF; FLASH_SCS; 3D
Item9=FINAL_SCS; TELECOM; TRIAL_SCS; SCS_RF; 3D
Item10=FINAL_SCS; TELECOM; TRIAL_SCS; SCS_RF; 3D; PROCAT_SCS
Item11=FINAL_SCS; TRIAL_SCS; SCS_RF; 3D; PROCAT_SCS
Item12=FINAL_SCS; SCS_RF; 3D
Item13=FINAL_SCS; SCS_RF; FLASH_SCS; 3D
Item14=FINAL_SCS; TRIAL_SCS; SCS_RF; 3D
Item15=FINAL_SCS; FLASH_SCS; 3D
Item16=FINAL_SCS;3D
Item17=FINAL_SCS; TRIAL_SCS; 3D
Item18=FINAL_SCS; SCS_PE; TRIAL_SCS; 3D; PROCAT_SCS; SCS_PANDUIT
Item19=3D; ES_GRAPH_SC
Item20=FINAL_SCS; 3D; ES_GRAPH_SC
Item21=FINAL_SCS; SCS_SPA; 3D
Item22=SCS_SPA; 3D
Item23=FINAL_SCS; 3D
Item24=FINAL_SCS;
Item25=FINAL_SCS; 3D; MSWindows
Item26=FINAL_SCS
Item27=FINAL_SCS; SCS_RF; FLASH_SCS
Item28=FINAL_SCS; SCS_RF
Item29=FINAL_SCS; FLASH_SCS
[HistoryLists\hlUnitAliases]
Count=1
Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
[HistoryLists\hlSearchPath]
Count=1
Item0=$(DELPHI)\Lib\Debug
[HistoryLists\hlOutputDirectorry]
Count=1
Item0=..\

View File

@ -1746,7 +1746,6 @@ begin
ConvertCoord(pp2.x,pp2.y,pp2.z);
rgn1 := CreateEllipticRgn(Round(pp1.x), Round(pp1.y), Round(pp2.x), Round(pp2.y));
CombineRgn(Rgn, Rgn, Rgn1, RGN_XOR);
DeleteObject(Rgn1); // Tolik 14/01/2025 --
end;
end
else

View File

@ -294,6 +294,10 @@ object frm3D: Tfrm3D
FixedDimension = 19
object TabSheet1: TRzTabSheet
Caption = #1052#1086#1076#1077#1083#1100
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
object panObjects: TPanel
Left = 0
Top = 0
@ -331,11 +335,12 @@ object frm3D: Tfrm3D
TabOrder = 0
TabStyle = tsRoundCorners
OnTabClick = pcTreeTabClick
ExplicitHeight = 21
FixedDimension = 19
object TabArchModel: TRzTabSheet
Caption = #1040#1088#1093'. '#1084#1086#1076#1077#1083#1100
ExplicitLeft = 0
ExplicitTop = 0
ExplicitTop = 1
ExplicitWidth = 0
ExplicitHeight = 0
object cxGroupBox1: TcxGroupBox
@ -419,10 +424,16 @@ object frm3D: Tfrm3D
000000000000000000000001067200650072006500720065002C000000000000
0000000000FFFFFFFFFFFFFFFF00000000000000000000000001077200650072
007200650072006500}
ExplicitWidth = 0
ExplicitHeight = 64
end
end
object TabScsModel: TRzTabSheet
Caption = #1057#1050#1057' '#1084#1086#1076#1077#1083#1100
ExplicitLeft = 0
ExplicitTop = 1
ExplicitWidth = 0
ExplicitHeight = 0
object cxGroupBox2: TcxGroupBox
Left = 0
Top = 0
@ -504,14 +515,8 @@ object frm3D: Tfrm3D
000000000000000000000001067200650072006500720065002C000000000000
0000000000FFFFFFFFFFFFFFFF00000000000000000000000001077200650072
007200650072006500}
end
object DuplicateNodeTree: TTreeView
Left = 160
Top = 80
Width = 121
Height = 97
Indent = 19
TabOrder = 2
ExplicitWidth = 0
ExplicitHeight = 64
end
end
end
@ -531,7 +536,7 @@ object frm3D: Tfrm3D
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
ExplicitHeight = 574
object Panel1: TPanel
Left = 0
Top = 0
@ -3405,7 +3410,7 @@ object frm3D: Tfrm3D
Left = 100
Top = 57
Bitmap = {
494C01013A00B0006C0210001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
494C01013A00B000140210001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
000000000000360000002800000040000000F0000000010020000000000000F0
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,22 +0,0 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<DCC_ExeOutput>C:\Program Files\Эксперт-СКС 1.8.0\</DCC_ExeOutput>
<DCC_DebugDCUs>false</DCC_DebugDCUs>
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
<DCC_Define>SCS_RF;PROCAT_SCS;FINAL_SCS;$(DCC_Define)</DCC_Define>
<DCC_CodePage>1251</DCC_CodePage>
<DCC_IntegerOverflowCheck>false</DCC_IntegerOverflowCheck>
<DCC_AssertionsAtRuntime>false</DCC_AssertionsAtRuntime>
<DCC_ImportedDataReferences>false</DCC_ImportedDataReferences>
<DCC_DebugInfoInExe>false</DCC_DebugInfoInExe>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
</PropertyGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality.12</Borland.Personality>
<Borland.ProjectType>OptionSet</Borland.ProjectType>
<BorlandProject>
<Delphi.Personality/>
</BorlandProject>
<ProjectFileVersion>12</ProjectFileVersion>
</ProjectExtensions>
</Project>

View File

@ -356,8 +356,6 @@ type
F3D_Length: Double;
FUse3DSize: Boolean;
HasPipeElements: Boolean; // äëÿ ïóñòîãî êîííåêòîðà, åñëè íà íåì áóäóò ðèñîâàòüñÿ ïîâîðîòû òðóá, ãîôðû è ò.ï
FRelatedLines: TList; // Tolik 03/04/2025 -- òðàññû, ïî êîòîðûì ðèñóåòñÿ ÷àñòü òðóáíîãî ñîåäèíåíèÿ
FLength: Double; // Tolik 03/04/2025 äëèíà ñîåäèíåíèÿ
//
//Tolik -- 24//09/2018 --
//constructor Create(aFaces: TList; aSCSObject: TConnectorObject; aParent: T3DModel);
@ -537,7 +535,6 @@ type
function ConverResultToUom(aResult: Double; aIzm: String): Double; // Tolik 18/10/2018 --
Function GetPoint(aLine: TOrthoLine; PointNum: Integer; dist: Double): PDoublePoint; // Tolik 18/10/2018 --
Function GetPointA(apoint1, aPoint2: TDoublePoint; dist: Double): PDoublePoint; // Tolik 12/10/2025 --
const
{TODO}
FDeltaZ: Double = 0.030;
@ -711,8 +708,8 @@ function ConverResultToUom(aResult: Double; aIzm: String): Double;
umFoot : CadUomIzm := 0.3;
end;
Result := aResult * (CadUomIzm/UomIzm);
//Result := aResult * (UomIzm/CadUomIzm);
//Result := aResult * (CadUomIzm/UomIzm);
Result := aResult * (UomIzm/CadUomIzm);
end;
end;
@ -727,6 +724,7 @@ function ConverResultToUom(aResult: Double; aIzm: String): Double;
PointsAngle: Double;
Conn1,Conn2: TConnectorObject;
MaxX, MaxY, MinX, MinY, DistToPoint: Double;
begin
Result := Nil;
New(Result);
@ -798,37 +796,6 @@ function ConverResultToUom(aResult: Double; aIzm: String): Double;
//Result.z := MetreToUom((p1.z + ((Dist) * (UOMToMetre(1000 / GCadForm.PCad.MapScale)) * koefz))/(UOMToMetre(1000 / GCadForm.PCad.MapScale)));
end;
// Äëÿ ðàñ÷åòà òî÷åê ïîïåðå÷íîé îòðèñîâêè ñåòêè (åñëè ýòî, íàïðèìåð, ïðîâîëî÷íûé ëîòîê)
Function GetPointA(aPoint1, aPoint2: TDoublePoint; dist: Double): PDoublePoint; // Tolik 12/10/2025 --
var
p1, p2: TDoublePoint;
distx, disty, distz, koefx, koefy, koefz, LineLen: Double;
DistToPoint: Double;
begin
Result := Nil;
New(Result);
DistToPoint := Dist;
p1.x := aPoint1.x;
p1.y := aPoint1.y;
p1.z := UomToMetre(aPoint1.z) * (UOMToMetre(1000 / GCadForm.PCad.MapScale));
//p1.z := TConnectorObject(aLine.JoinConnector1).ActualZOrder[1];
p2.x := aPoint2.x;
p2.y := aPoint2.y;
p2.z := UomToMetre(aPoint2.z) * (UOMToMetre(1000 / GCadForm.PCad.MapScale));
LineLen := SQRT(SQR(P1.x - P2.x) + SQR(P1.y - P2.y) + SQR(P1.z - P2.z));
koefx := (P2.x - P1.x)/LineLen;
koefy := (P2.y - P1.y)/LineLen;
koefz := (P2.z - P1.z)/LineLen;
Result.x := P1.x + (DistTopoint * (UOMToMetre(1000 / GCadForm.PCad.MapScale)) * koefx);
Result.y := P1.y + (DistTopoint * (UOMToMetre(1000 / GCadForm.PCad.MapScale)) * koefy);
Result.z := MetreToUom(P1.z + DistTopoint * (UOMToMetre(1000 / GCadForm.PCad.MapScale)) * koefz)/(UOMToMetre(1000 / GCadForm.PCad.MapScale));
//Result.x := p1.x + ((Dist) * (UOMToMetre(1000 / GCadForm.PCad.MapScale)) * koefx);
end;
function GetTubeRadius(aSCSCompon: TSCSComponent): Double;
var i : Integer;
NBProp: TNBProperty;
@ -4459,7 +4426,7 @@ var
if Result.IndexOf(LineCatalog.ComponentReferences[i]) = -1 then
begin
Result.Add(LineCatalog.ComponentReferences[i]);
//break;
break;
end;
end;
end;
@ -4495,19 +4462,17 @@ var
Procedure CreatePipeElement(aConn: TConnectorObject); // Cable
var i, j, k : Integer;
MaxPipeRadius, PrevPipeRadius, PipeRadius: Double;
PrevPipeRadius, PipeRadius: Double;
LineCatalog: TSCSCatalog;
LineComponent, LineComponent1: TSCSComponent;
LineComponent: TSCSComponent;
LineList, TubeList: TList;
PipePoint, PrevPipePoint, addPoint: PDoublePoint;
apArray: T3DPointArray;
TubeLine, TubeLine1: TOrthoLine;
TubeLine: TOrthoLine;
JoinedConn: TConnectorObject;
CableList: TList;
CableOffset: Double;
ConnSide: integer;
exVals: Boolean;
//Tolik 12/11/2021 -- ïðîâåðêà íà íàëè÷èå â òî÷å÷íîì îáúåêòå ýëåìåíòà òðóáíîãî ñîåäèíåíèÿ
function CheckisPipeElement(aConnector: TConnectorObject): Boolean;
@ -4543,8 +4508,6 @@ var
TubeList := TList.Create;
PipeList := TList.Create;
CableList:= TList.Create;
PipePoint := nil;
PrevPipePoint := nil;
//Collect Lines
//Tolik 12/11/2021 --
//if aConn.ConnectorType = ct_Clear then
@ -4593,37 +4556,29 @@ var
for k := 0 to LineCatalog.ComponentReferences.Count - 1 do
begin
LineComponent := LineCatalog.ComponentReferences[k];
{
if LineComponent.ComponentType.SysName = ctsnTube then
begin
LineList.Add(TOrthoLine(JoinedConn.JoinedOrthoLineslist[i]));
TubeList.Add(LineComponent);
break;
end
else
begin
end;
}
if isCableComponent(LineComponent) then
if CableList.IndexOf(LineComponent) = - 1 then
CableList.Add(LineComponent);
end;
end;
end;
end;
end;
end;
(*
for i := 0 to CableList.Count - 1 do
begin
SetLength(apArray, 3);
TubeLine := TOrthoLine(LineList[0]);
LineComponent := TSCSComponent(TubeList[0]);
PipeRadius := GetTubeRadius(LineComponent);
if PipeRadius = -1 then //Tolik 28/03/2025 -- åñëè íà çàäàí ðàäèóñ òðóáû - âûõîäèì
Exit;
PipeRadius := PipeRadius + PipeRadius /10;
PipePoint := nil;
if aConn.ConnectorType = ct_Clear then
begin
@ -4659,7 +4614,6 @@ var
TubeLine := TOrthoLine(LineList[0]);
LineComponent := TSCSComponent(TubeList[0]);
PrevPipeRadius := GetTubeRadius(LineComponent);
PrevPipeRadius := PrevPipeRadius + PrevPipeRadius /10;
if aConn.ConnectorType = ct_Clear then
begin
if TConnectorObject(TubeLine.JoinConnector1).Id = aConn.ID then
@ -4678,7 +4632,6 @@ var
TubeLine := TOrthoLine(LineList[i]);
LineComponent := TSCSComponent(TubeList[j]);
PipeRadius := GetTubeRadius(LineComponent);
PipeRadius := PipeRadius + PipeRadius /10;
if PipeRadius <> -1 then // !!!!
begin
SetLength(apArray, 2);
@ -4850,438 +4803,9 @@ var
SetLength(apArray, 0);
end;
end;
*)
//Ñáðîñèòü òðàññû ñ òðóáàìè, ãäå íå óêàçàí äèàìåòð ñàìîé òðóáû
for i := LineList.Count - 1 downto 0 do
begin
LineComponent := TSCSComponent(TubeList[i]);
PipeRadius := GetTubeRadius(LineComponent);
if PipeRadius = -1 then
begin
LineList.Delete(i);
TubeList.Delete(i);
CableList.Delete(i);
end;
end;
if LineList.Count > 0 then
begin
if LineList.Count = 1 then //çàãëóøêà
begin
SetLength(apArray, 2);
TubeLine := TOrthoLine(LineList[0]);
LineComponent := TSCSComponent(TubeList[0]);
PipeRadius := GetTubeRadius(LineComponent);
PipeRadius := PipeRadius + PipeRadius /10;
PipePoint := nil;
if aConn.ConnectorType = ct_Clear then
begin
if TConnectorObject(TubeLine.JoinConnector1).Id = aConn.ID then
PipePoint := GetPoint(TubeLine, 1, PipeRadius)
else
PipePoint := GetPoint(TubeLine, 2, PipeRadius);
end
else
begin
if aConn.JoinedConnectorsList.IndexOf(TConnectorObject(TubeLine.JoinConnector1)) <> -1 then
PipePoint := GetPoint(TubeLine, 1, PipeRadius)
else
PipePoint := GetPoint(TubeLine, 2, PipeRadius)
end;
apArray[1].x := PipePoint.x;
apArray[1].y := PipePoint.y;
apArray[1].z := PipePoint.z;
DisPose(PipePoint); // 21/12/2019 -- Tolik
PipePoint := nil;
apArray[0].x := aConn.ap1.x;
apArray[0].y := aConn.ap1.y;
apArray[0].z := aConn.ActualZOrder[1];
x3DConnector := T3DConnector.Create(aFaces, xConn, Self, True);
x3DConnector.CollectConnector(aFaces, apArray);
x3DConnector.FPipeRadius := PipeRadius;
FScsObjects.Add(x3DConnector);
x3DConnector.FSCSObject.F3DObject := x3DConnector;
x3DConnector.FColor := ConvertWinColor(clGreen);
x3DConnector.FRelatedLines.Add(TubeLine);
x3DConnector.FLength := PipeRadius;
end
else // ñòûê äâóõ òðóá èëè êîëåíî
if LineList.Count = 2 then
begin
PipeRadius := GetTubeRadius(TSCSComponent(TubeList[0]));
PipeRadius := PipeRadius + PipeRadius /10;
PipePoint := nil;
PrevPipeRadius := GetTubeRadius(TSCSComponent(TubeList[1]));
PrevPipeRadius := PrevPipeRadius + PrevPipeRadius /10;
if CompareValue(PipeRadius, PrevPipeRadius) = 0 then // äâå òðàññû, òðóáà îäèíàêîâîãî äèàìåòðà
begin
SetLength(apArray, 3 );
if aConn.ConnectorType = ct_Clear then
begin
if TConnectorObject(TOrthoLine(LineList[0]).JoinConnector1).Id = aConn.ID then
PipePoint := GetPoint(TOrthoLine(LineList[0]), 1, PipeRadius)
else
PipePoint := GetPoint(TOrthoLine(LineList[0]), 2, PipeRadius);
if TConnectorObject(TOrthoLine(LineList[1]).JoinConnector1).Id = aConn.ID then
PrevPipePoint := GetPoint(TOrthoLine(LineList[1]), 1, PipeRadius)
else
PrevPipePoint := GetPoint(TOrthoLine(LineList[1]), 2, PipeRadius);
end
else
begin
if aConn.JoinedConnectorsList.IndexOf(TConnectorObject(TOrthoLine(LineList[0]).JoinConnector1)) <> -1 then
PipePoint := GetPoint(TOrthoLine(LineList[0]), 1, PipeRadius)
else
PipePoint := GetPoint(TOrthoLine(LineList[0]), 2, PipeRadius);
if aConn.JoinedConnectorsList.IndexOf(TConnectorObject(TOrthoLine(LineList[1]).JoinConnector1)) <> -1 then
PrevPipePoint := GetPoint(TOrthoLine(LineList[1]), 1, PipeRadius)
else
PrevPipePoint := GetPoint(TOrthoLine(LineList[1]), 2, PipeRadius);
end;
SetLength(apArray, 3);
apArray[0].x := PipePoint.x;
apArray[0].y := PipePoint.y;
apArray[0].z := PipePoint.z;
DisPose(PipePoint);
PipePoint := nil;
apArray[1].x := aConn.ap1.x;
apArray[1].y := aConn.ap1.y;
apArray[1].z := aConn.ActualZOrder[1];
apArray[2].x := PrevPipePoint.x;
apArray[2].y := PrevPipePoint.y;
apArray[2].z := PrevPipePoint.z;
Dispose(PrevPipePoint);
PrevPipePoint := nil;
x3DConnector := T3DConnector.Create(aFaces, xConn, Self, True);
x3DConnector.CollectConnector(aFaces, apArray);
x3DConnector.FPipeRadius := PipeRadius;
FScsObjects.Add(x3DConnector);
x3DConnector.FSCSObject.F3DObject := x3DConnector;
x3DConnector.FColor := ConvertWinColor(clGreen);
x3DConnector.FRelatedLines.Add(TOrthoLine(LineList[0]));
x3DConnector.FRelatedLines.Add(TOrthoLine(LineList[1]));
x3DConnector.FLength := PipeRadius;
end
else
begin
exVals := False;
if CompareValue(PipeRadius, PrevPiperadius) = -1 then
begin
ExchangeDouble(PipeRadius, PrevPipeRadius); // âûáðàòü áîëüøèé ðàäèóñ êàê îñíîâó
exVals := True;
end;
SetLength(apArray, 3);
if aConn.ConnectorType = ct_Clear then
begin
if TConnectorObject(TOrthoLine(LineList[0]).JoinConnector1).Id = aConn.ID then
PipePoint := GetPoint(TOrthoLine(LineList[0]), 1, PipeRadius)
else
PipePoint := GetPoint(TOrthoLine(LineList[0]), 2, PipeRadius);
if TConnectorObject(TOrthoLine(LineList[1]).JoinConnector1).Id = aConn.ID then
PrevPipePoint := GetPoint(TOrthoLine(LineList[1]), 1, PipeRadius)
else
PrevPipePoint := GetPoint(TOrthoLine(LineList[1]), 2, PipeRadius);
end
else
begin
if aConn.JoinedConnectorsList.IndexOf(TConnectorObject(TOrthoLine(LineList[0]).JoinConnector1)) <> -1 then
PipePoint := GetPoint(TOrthoLine(LineList[0]), 1, PipeRadius)
else
PipePoint := GetPoint(TOrthoLine(LineList[0]), 2, PipeRadius);
if aConn.JoinedConnectorsList.IndexOf(TConnectorObject(TOrthoLine(LineList[1]).JoinConnector1)) <> -1 then
PrevPipePoint := GetPoint(TOrthoLine(LineList[1]), 1, PipeRadius)
else
PrevPipePoint := GetPoint(TOrthoLine(LineList[1]), 2, PipeRadius);
end;
SetLength(apArray, 3);
apArray[0].x := PipePoint.x;
apArray[0].y := PipePoint.y;
apArray[0].z := PipePoint.z;
DisPose(PipePoint);
PipePoint := nil;
apArray[1].x := aConn.ap1.x;
apArray[1].y := aConn.ap1.y;
apArray[1].z := aConn.ActualZOrder[1];
apArray[2].x := PrevPipePoint.x;
apArray[2].y := PrevPipePoint.y;
apArray[2].z := PrevPipePoint.z;
Dispose(PrevPipePoint);
PrevPipePoint := nil;
x3DConnector := T3DConnector.Create(aFaces, xConn, Self, True);
x3DConnector.CollectConnector(aFaces, apArray);
x3DConnector.FPipeRadius := PipeRadius;
FScsObjects.Add(x3DConnector);
x3DConnector.FSCSObject.F3DObject := x3DConnector;
x3DConnector.FColor := ConvertWinColor(clGreen);
x3DConnector.FRelatedLines.Add(TOrthoLine(LineList[0]));
x3DConnector.FRelatedLines.Add(TOrthoLine(LineList[1]));
x3DConnector.FLength := PipeRadius;
if exVals then
TubeLine := LineList[0]
else
TubeLine := LineList[1];
if aConn.ConnectorType = ct_Clear then
begin
if TConnectorObject(TubeLine.JoinConnector1).Id = aConn.ID then
PipePoint := GetPoint(TubeLine, 1, PipeRadius + PrevPipeRadius)
else
PipePoint := GetPoint(TubeLine, 2, PipeRadius + PrevPipeRadius);
end
else
begin
if aConn.JoinedConnectorsList.IndexOf(TubeLine.JoinConnector1) <> -1 then
PipePoint := GetPoint(TubeLine, 1, PipeRadius + PrevPipeRadius)
else
PipePoint := GetPoint(TubeLine, 2, PipeRadius + PrevPipeRadius);
end;
SetLength(apArray, 2);
apArray[0].x := aConn.ap1.x;
apArray[0].y := aConn.ap1.y;
apArray[0].z := aConn.ActualZOrder[1];
apArray[1].x := PipePoint.x;
apArray[1].y := PipePoint.y;
apArray[1].z := PipePoint.z;
x3DConnector := T3DConnector.Create(aFaces, xConn, Self, True);
x3DConnector.CollectConnector(aFaces, apArray);
x3DConnector.FPipeRadius := PrevPipeRadius;
FScsObjects.Add(x3DConnector);
x3DConnector.FSCSObject.F3DObject := x3DConnector;
x3DConnector.FColor := ConvertWinColor(clGreen);
x3DConnector.FRelatedLines.Add(TubeLine);
x3DConnector.FLength := PipeRadius + PrevPipeRadius;
end;
end
else
if LineList.Count > 2 then
begin
MaxPipeRadius := -1;
TubeLine1 := nil;
TubeLine := nil;
for i := 0 to TubeList.Count - 1 do //get Max tube Radius
begin
PipeRadius := GetTubeRadius(TSCSComponent(TubeList[i]));
if CompareValue(MaxPipeRadius, PipeRadius) = -1 then
begin
MaxPipeRadius := PipeRadius;
TubeLine := TOrthoLine(LineList[i]);
LineComponent := TSCSComponent(TubeList[i]);
j := i;
end;
end;
Tubelist.Delete(j); // óäàëÿåì âûáðàííóþ òðàññó è òðóáó èç ñïèñêà
LineList.Delete(j);
CableList.Delete(j);
for i := 0 to TubeList.Count - 1 do //get next tube with Max Radius
begin
PipeRadius := GetTubeRadius(TSCSComponent(TubeList[i]));
if CompareValue(MaxPipeRadius, PipeRadius) = 0 then
begin
TubeLine1 := TOrthoLine(LineList[i]);
LineComponent1 := TSCSComponent(Tubelist[i]);
j := i;
break;
end;
end;
MaxPipeRadius := MaxPipeRadius + MaxPipeRadius/10;
if TubeLine1 = nil then //åñëè íåò òðóá áîëüøå ñ ìàêñ ðàäèóñîì, áåðåì òðóáó ñ ìàêñ ðàäèóñîì èç òåõ, ÷òî îñòàëèñü
begin
PipeRadius := -1;
for i := 0 to LineList.Count - 1 do
begin
PrevPipeRadius := GetTubeRadius(TSCSComponent(TubeList[i]));
if CompareValue(PipeRadius, PrevPipeRadius) = -1 then
begin
PipeRadius := PrevPipeRadius;
TubeLine1 := TOrthoLine(LineList[i]);
LineComponent1 := TSCSComponent(TubeList[i]);
j := i;
end;
end;
end;
PipeRadius := PipeRadius + PipeRadius/10;
Tubelist.Delete(j); // óäàëÿåì âòîðóþ âûáðàííóþ òðàññó è òðóáó èç ñïèñêà
LineList.Delete(j);
CableList.Delete(j);
//ïåðâîå êîëåíî ìàêñ ðàäèóñîì
if aConn.ConnectorType = ct_Clear then
begin
if TConnectorObject(TOrthoLine(TubeLine).JoinConnector1).Id = aConn.ID then
PipePoint := GetPoint(TOrthoLine(TubeLine), 1, MaxPipeRadius)
else
PipePoint := GetPoint(TOrthoLine(TubeLine), 2, MaxPipeRadius);
if TConnectorObject(TOrthoLine(TubeLine1).JoinConnector1).Id = aConn.ID then
PrevPipePoint := GetPoint(TOrthoLine(TubeLine1), 1, MaxPipeRadius)
else
PrevPipePoint := GetPoint(TOrthoLine(TubeLine1), 2, MaxPipeRadius);
end
else
begin
if aConn.JoinedConnectorsList.IndexOf(TConnectorObject(TOrthoLine(TubeLine).JoinConnector1)) <> -1 then
PipePoint := GetPoint(TOrthoLine(TubeLine), 1, MaxPipeRadius)
else
PipePoint := GetPoint(TOrthoLine(TubeLine), 2, MaxPipeRadius);
if aConn.JoinedConnectorsList.IndexOf(TConnectorObject(TOrthoLine(TubeLine1).JoinConnector1)) <> -1 then
PrevPipePoint := GetPoint(TOrthoLine(TubeLine1), 1, MaxPipeRadius)
else
PrevPipePoint := GetPoint(TOrthoLine(TubeLine1), 2, MaxPipeRadius);
end;
SetLength(apArray, 3);
apArray[0].x := PipePoint.x;
apArray[0].y := PipePoint.y;
apArray[0].z := PipePoint.z;
DisPose(PipePoint);
PipePoint := nil;
apArray[1].x := aConn.ap1.x;
apArray[1].y := aConn.ap1.y;
apArray[1].z := aConn.ActualZOrder[1];
apArray[2].x := PrevPipePoint.x;
apArray[2].y := PrevPipePoint.y;
apArray[2].z := PrevPipePoint.z;
Dispose(PrevPipePoint);
PrevPipePoint := nil;
x3DConnector := T3DConnector.Create(aFaces, xConn, Self, True);
x3DConnector.CollectConnector(aFaces, apArray);
x3DConnector.FPipeRadius := MaxPipeRadius;
FScsObjects.Add(x3DConnector);
x3DConnector.FSCSObject.F3DObject := x3DConnector;
x3DConnector.FColor := ConvertWinColor(clGreen);
x3DConnector.FRelatedLines.Add(TubeLine);
x3DConnector.FRelatedLines.Add(TubeLine1);
x3DConnector.FLength := MaxPipeRadius;
//åñëè ïåðâûå äâå òðóáû ðàçíîãî ðàäèóñà - äîêèíóòü õâîñòîâèê ñîåäèíåíèÿ äëÿ òîíüøåé òðóáû
if CompareValue(MaxPipeRadius, PipeRadius) <> 0 then
begin
if aConn.ConnectorType = ct_Clear then
begin
if TConnectorObject(TOrthoLine(TubeLine1).JoinConnector1).Id = aConn.ID then
PipePoint := GetPoint(TOrthoLine(TubeLine1), 1, PipeRadius + MaxPipeRadius)
else
PipePoint := GetPoint(TOrthoLine(TubeLine1), 2, PipeRadius + MaxPipeRadius);
end
else
begin
if aConn.JoinedConnectorsList.IndexOf(TConnectorObject(TOrthoLine(TubeLine1).JoinConnector1)) <> -1 then
PipePoint := GetPoint(TOrthoLine(TubeLine1), 1, PipeRadius + MaxPipeRadius)
else
PipePoint := GetPoint(TOrthoLine(TubeLine1), 2, PipeRadius + MaxPipeRadius);
end;
SetLength(apArray, 2);
apArray[0].x := aConn.ap1.x;
apArray[0].y := aConn.ap1.y;
apArray[0].z := aConn.ActualZOrder[1];
apArray[1].x := PipePoint.x;
apArray[1].y := PipePoint.y;
apArray[1].z := PipePoint.z;
Dispose(PipePoint);
PipePoint := nil;
x3DConnector := T3DConnector.Create(aFaces, xConn, Self, True);
x3DConnector.CollectConnector(aFaces, apArray);
x3DConnector.FPipeRadius := PipeRadius;
FScsObjects.Add(x3DConnector);
x3DConnector.FSCSObject.F3DObject := x3DConnector;
x3DConnector.FColor := ConvertWinColor(clGreen);
x3DConnector.FRelatedLines.Add(TubeLine1);
x3DConnector.FLength := PipeRadius + MaxPipeRadius;
end;
//äîðèñîâàòü îñòàëüíûå
for i := 0 to TubeList.Count - 1 do
begin
PipeRadius := GetTubeRadius(TSCSComponent(TubeList[i]));
PipeRadius := PipeRadius + PipeRadius/10;
if aConn.ConnectorType = ct_Clear then
begin
if TConnectorObject(TOrthoLine(LineList[i]).JoinConnector1).Id = aConn.ID then
PipePoint := GetPoint(TOrthoLine(LineList[i]), 1, PipeRadius + MaxPipeRadius)
else
PipePoint := GetPoint(TOrthoLine(LineList[i]), 2, PipeRadius + MaxPipeRadius);
end
else
begin
if aConn.JoinedConnectorsList.IndexOf(TConnectorObject(TOrthoLine(LineList[i]).JoinConnector1)) <> -1 then
PipePoint := GetPoint(TOrthoLine(LineList[i]), 1, PipeRadius + MaxPipeRadius)
else
PipePoint := GetPoint(TOrthoLine(LineList[i]), 2, PipeRadius + MaxPipeRadius);
end;
SetLength(apArray, 2);
apArray[0].x := aConn.ap1.x;
apArray[0].y := aConn.ap1.y;
apArray[0].z := aConn.ActualZOrder[1];
apArray[1].x := PipePoint.x;
apArray[1].y := PipePoint.y;
apArray[1].z := PipePoint.z;
Dispose(PipePoint);
PipePoint := nil;
x3DConnector := T3DConnector.Create(aFaces, xConn, Self, True);
x3DConnector.CollectConnector(aFaces, apArray);
x3DConnector.FPipeRadius := PipeRadius;
FScsObjects.Add(x3DConnector);
x3DConnector.FSCSObject.F3DObject := x3DConnector;
x3DConnector.FColor := ConvertWinColor(clGreen);
x3DConnector.FRelatedLines.Add(LineList[i]);
x3DConnector.FLength := PipeRadius + MaxPipeRadius;
end;
end;
LineList.Free;
TubeList.Free;
PipeList.Free;
CableList.Free;
end;
end;
//
Function Get3dModelFileName(aConn: TConnectorObject): String;
@ -5457,11 +4981,7 @@ begin
CheckAddZones(xConn);
//
end
//Tolik 08/04/2025 --
//else if xConn.JoinedConnectorsList.Count >= 0 then
else
if ((xConn.JoinedConnectorsList.Count >= 0) and (not CheckisPipeElement(xConn))) then
//
else if xConn.JoinedConnectorsList.Count >= 0 then
begin
x3DConnector := T3DConnector.Create(aFaces, xConn, Self);
x3DConnector.CollectConnector(aFaces, a3DPointArr);
@ -5483,7 +5003,7 @@ begin
CreatePipeElement(TConnectorObject(xConn.JoinedConnectorsList[0]))
else
CreatePipeElement(xConn);
end;
end;
// Tolik 20/09/2018 --
{
@ -5526,8 +5046,8 @@ begin
FScsObjects.Add(x3DLine);
x3DLine.FSCSObject.F3DObject := x3DLine;
// Tolik 17/09/2018 -- òðóáû íà òðàññå
TubeList := GetTubeList(xLine); //15/09/2021 --
//TubeList := nil;
//TubeList := GetTubeList(xLine); //15/09/2021 --
TubeList := nil;
ComponOffset := 0;
if TubeList <> nil then
@ -5536,7 +5056,7 @@ begin
for j := 0 to TubeList.Count - 1 do
begin
TubeRadius := GetTubeRadius(TSCSComponent(TubeList[j]));
(*
if TubeRadius <> -1 then
begin
x3DTube := T3DTube.create(aFaces, xLine, Self, TSCSComponent(TubeList[j]), TubeRadius*2, TailTubeList);
@ -5563,7 +5083,7 @@ begin
x3DTube.FSCSObject.F3DObject := x3DTube;
end;
ComponOffset := ComponOffset + TubeRadius * 2;
*)
{
if TailTubeList <> nil then // ýòî, òèïà, åñëè áóäóò òîðöû, îòðèñîâàííûå öèëèíäðàìè, â çàâèñèìîñòè îò ñâîéñòâ êîìïîíåíòà "òðóáà"
begin
@ -14209,18 +13729,7 @@ var
i: Integer;
begin
try
//Tolik 08/04/2025
//FPoint := ap[0];
if Self.FisPipeElement then
begin
if Length(ap) = 3 then
FPoint := ap[1]
else
FPoint := ap[0];
end
else
FPoint := ap[0];
//
FPoint := ap[0];
{TODO ZCoord}
//ap[0].z := ap[0].z * FScaleDelta;
for i := 0 to (Length(ap) - 1) do
@ -14283,10 +13792,7 @@ begin
else
begin
FSCSCompon := nil;
//Tolik 18/4/2025 --
//FSCSComponID := -1;
FSCSComponID := aSCSObject.ID;
//
FSCSComponID := -1;
end;
FName := FSCSObject.Name;
FIndex := FSCSObject.FIndex;
@ -14326,8 +13832,6 @@ begin
FColor := clrBlack;
FJoinedConnectorsList := TList.Create;
FJoinedLinesList := TList.Create;
FRelatedLines := TList.Create; // -- Tolik 03/4/2025 ñïèñîê òðàññ, ïî êîòîðûì ïðîõîèò ñîåäèíåíèå
FLength := 0; // Tolik 03/04/05 -- äëèíà ñîåäèíåíèÿ
except
on E: Exception do AddExceptionToLogEx('T3DConnector.Create', E.Message);
end;
@ -14702,9 +14206,7 @@ var
for i := 0 to SCSCatalog.ComponentReferences.Count - 1 do
begin
SCSCompon := SCSCatalog.ComponentReferences[i];
//Tolik 10/04/2025 --
//if SCSCompon.ComponentType.SysName <> ctsnCableChannelAccessory then
if ((SCSCompon.ComponentType.SysName <> ctsnCableChannelAccessory) and (SCSCompon.ComponentType.SysName <> ctsnWireTray)) then
if SCSCompon.ComponentType.SysName <> ctsnCableChannelAccessory then
begin
ComponDiam := getLineComponOutRadius(SCSCompon);
if isCableComponent(SCSCompon) then //êàáåëü
@ -15755,7 +15257,6 @@ begin
FNotes.Free;
FJoinedConnectorsList.Free;
FJoinedLinesList.Free;
FRelatedLines.Free;
inherited;
end;
//*************** -\ROOF- **************************

View File

@ -637,6 +637,7 @@ var
Req: string;
TimeStr: string;
begin
Randomize;
Randomize;
TimeStr := DateTimeToStr(Now);
while Pos(':', TimeStr) > 0 do

View File

@ -6900,14 +6900,14 @@ var
if ResultList.Count > 0 then
begin
ATraveledIndex := ATraveledIndex;
//showmessage('CurrTick > 0.00009 and ResultList.Count = '+ inttostr(ResultList.Count));
showmessage('CurrTick > 0.00009 and ResultList.Count = '+ inttostr(ResultList.Count));
exit;
end;
end;
if CurrTick > 0.00013 then
begin
ATraveledIndex := ATraveledIndex;
//showmessage('CurrTick > 0.00013 ');
showmessage('CurrTick > 0.00013 ');
exit;
end;
@ -6915,7 +6915,7 @@ var
if ResultList.Count > 2 then
begin
ATraveledIndex := ATraveledIndex;
//showmessage('ATraveledIndex > 60 and ResultList.Count > 2');
showmessage('ATraveledIndex > 60 and ResultList.Count > 2');
exit;
end
else
@ -6924,7 +6924,7 @@ var
if CurrTick > 0.00006 then
begin
ATraveledIndex := ATraveledIndex;
//showmessage('ATraveledIndex > 60 ResultList.Count > 100');
showmessage('ATraveledIndex > 60 ResultList.Count > 100');
exit;
end;
end;

View File

@ -1,9 +1,6 @@
//Tolik 23/01/2025 -- ïåðåñìîòðåòü ïåðåíîñû äëòííûõ íàèìåíîâàíèé
{$A+,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}
//{$MINSTACKSIZE $00004000}
//{$MAXSTACKSIZE $00100000} //
//{$MAXSTACKSIZE $00100000}
//{$IMAGEBASE $00400000}
//{$APPTYPE GUI}
//{$J+}
@ -41,7 +38,7 @@ var i, j, k, l, m: integer;
Line_Count: Integer;
Switches, Connections, UzoList: TSCSComponents;
ConnectedCompon: TSCSComponent;
CurrText, elText: TRichText;
CurrText: TRichText;
TextList: TStringList;
IconFigList: TList;
ParentCatalog: TSCSCatalog;
@ -812,10 +809,6 @@ var i, j, k, l, m: integer;
//SLine := TLine.create(GCadForm.PCad.WorkWidth/10 - 20, by - 8, GCadForm.PCad.WorkWidth/10 - 10, by - 8, 2, ord(psSolid), clBlack, 0, GCadForm.PCad.GetLayerHandle(0), mydsNormal, GCadForm.PCad);
SLine := TLine.create(GCadForm.PCad.WorkWidth/10 - 20, by - 5, GCadForm.PCad.WorkWidth/10 - 10, by - 5, 2, ord(psSolid), clBlack, 0, GCadForm.PCad.GetLayerHandle(0), mydsNormal, GCadForm.PCad);
GCadForm.PCad.AddCustomFigure(1, TFigure(SLine), false);
// Tolik 22/01/2025
elText.Move((((GCadForm.PCad.WorkWidth/10 - 20) + (GCadForm.PCad.WorkWidth/10 - 10))/2) - elText.CenterPoint.x,
(((190 - 3 - MaxTableHeightArray[0]) + (by - 5))/2) - elText.CenterPoint.y);
//
end;
end;
//bx := bx + 10;
@ -1209,7 +1202,7 @@ Begin
CurrText := CreateTextObject(Line_x1 - 80, Line_y1 + 80, TextList);
CurrText.Rotate(((-90)/180) * PI, CurrText.CenterPoint);
//TextFigList.Add(CurrText);
elText := CurrText; // Tolik 22/01/2025 --
ColObjList := TList.Create;
TextList.Clear;

View File

@ -521,6 +521,10 @@ object F_MasterNewList: TF_MasterNewList
end
object tsProjOptionsObjectProps: TRzTabSheet
Caption = #1055#1072#1088#1072#1084#1077#1090#1088#1099' '#1086#1073#1098#1077#1082#1090#1086#1074
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
object RzGroupBox18: TRzGroupBox
Left = 4
Top = 6
@ -1047,7 +1051,7 @@ object F_MasterNewList: TF_MasterNewList
Width = 626
Height = 481
HelpContext = 33002
ActivePage = TabAll
ActivePage = TabPageParams
Align = alTop
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@ -1058,7 +1062,7 @@ object F_MasterNewList: TF_MasterNewList
HotTrackStyle = htsText
ParentFont = False
ShowShadow = False
TabIndex = 0
TabIndex = 1
TabOrder = 0
TabStyle = tsSquareCorners
OnChange = ListPageControlChange
@ -3602,6 +3606,10 @@ object F_MasterNewList: TF_MasterNewList
end
object TabSheet5: TRzTabSheet
Caption = #1050#1072#1073#1080#1085#1077#1090#1099
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
object cbShowCabinetsBounds: TRzCheckBox
Left = 4
Top = 32
@ -3627,6 +3635,10 @@ object F_MasterNewList: TF_MasterNewList
end
object TabSheet4: TRzTabSheet
Caption = #1055#1077#1095#1072#1090#1100
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
object cbBlackPrint: TcxRadioButton
Left = 5
Top = 8
@ -4125,6 +4137,10 @@ object F_MasterNewList: TF_MasterNewList
object tsListSpravochniki: TRzTabSheet
HelpContext = 33006
Caption = #1058#1080#1087#1099' '#1082#1086#1084#1087#1086#1085#1077#1085#1090
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
object pnComponentType: TRzPanel
Left = 0
Top = 434
@ -12651,6 +12667,8 @@ object F_MasterNewList: TF_MasterNewList
object tsProjectSpravochniki: TRzTabSheet
TabVisible = False
Caption = #1057#1087#1088#1072#1074#1086#1095#1085#1080#1082#1080
ExplicitWidth = 0
ExplicitHeight = 0
end
end
object RzGroupBox20: TRzGroupBox

View File

@ -1,11 +1,10 @@
object F_Reserv: TF_Reserv
Left = 414
Top = 175
BorderIcons = []
BorderStyle = bsSingle
Left = 380
Top = 178
BorderIcons = [biSystemMenu]
Caption = #1059#1087#1088#1072#1074#1083#1077#1085#1080#1077' '#1088#1077#1079#1077#1088#1074#1085#1099#1084#1080' '#1082#1086#1087#1080#1103#1084#1080' '#1085#1072' '#1091#1076#1072#1083#1077#1085#1085#1086#1084' '#1089#1077#1088#1074#1077#1088#1077
ClientHeight = 344
ClientWidth = 556
ClientHeight = 311
ClientWidth = 532
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@ -18,8 +17,8 @@ object F_Reserv: TF_Reserv
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 8
Top = 43
Left = 32
Top = 4
Width = 180
Height = 16
Caption = #1057#1087#1080#1089#1086#1082' '#1092#1072#1081#1083#1086#1074' '#1085#1072' '#1089#1077#1088#1074#1077#1088#1077
@ -31,8 +30,8 @@ object F_Reserv: TF_Reserv
ParentFont = False
end
object Label2: TLabel
Left = 8
Top = 301
Left = 32
Top = 256
Width = 286
Height = 13
Caption = #1047#1072#1085#1103#1090#1086' '#1076#1080#1089#1082#1086#1074#1086#1075#1086' '#1087#1088#1086#1089#1090#1088#1072#1085#1089#1090#1074#1072' '#1085#1072' '#1089#1077#1088#1074#1077#1088#1077', '#1052#1073' '
@ -44,8 +43,8 @@ object F_Reserv: TF_Reserv
ParentFont = False
end
object Label3: TLabel
Left = 8
Top = 325
Left = 32
Top = 280
Width = 279
Height = 13
Caption = #1051#1080#1084#1080#1090' '#1076#1080#1089#1082#1086#1074#1086#1075#1086' '#1087#1088#1086#1089#1090#1088#1072#1085#1089#1090#1074#1072' '#1085#1072' '#1089#1077#1088#1074#1077#1088#1077', '#1052#1073' '
@ -57,8 +56,8 @@ object F_Reserv: TF_Reserv
ParentFont = False
end
object lbAllowedSpace: TLabel
Left = 296
Top = 325
Left = 320
Top = 280
Width = 3
Height = 13
Caption = ' '
@ -70,8 +69,8 @@ object F_Reserv: TF_Reserv
ParentFont = False
end
object lbUsedSpace: TLabel
Left = 296
Top = 301
Left = 320
Top = 256
Width = 3
Height = 13
Caption = ' '
@ -82,112 +81,201 @@ object F_Reserv: TF_Reserv
Font.Style = [fsBold]
ParentFont = False
end
object ToolBar1: TToolBar
AlignWithMargins = True
Left = 3
Top = 3
Width = 550
Height = 34
ButtonHeight = 30
ButtonWidth = 31
Caption = 'ToolBar1'
DisabledImages = FSCS_Main.imagePanel
DoubleBuffered = True
Images = FSCS_Main.imagePanel
ParentDoubleBuffered = False
ParentShowHint = False
ShowHint = True
object Button1: TButton
Left = 437
Top = 278
Width = 75
Height = 25
Caption = #1047#1072#1082#1088#1099#1090#1100
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = [fsBold]
ParentFont = False
TabOrder = 0
object ToolButton1: TToolButton
Left = 0
Top = 0
Action = aRefresh
end
object ToolButton2: TToolButton
Left = 31
Top = 0
Action = aUpload
end
object ToolButton3: TToolButton
Left = 62
Top = 0
Hint = #1047#1072#1075#1088#1091#1079#1080#1090#1100' '#1092#1072#1081#1083' '#1089' '#1089#1077#1088#1074#1077#1088#1072
Action = aLoad
end
object ToolButton4: TToolButton
Left = 93
Top = 0
Action = aDelFileFrom
end
object ToolButton6: TToolButton
Left = 124
Top = 0
Hint = #1054#1090#1082#1088#1099#1090#1100' '#1092#1072#1081#1083' '#1074' '#1087#1088#1080#1083#1086#1078#1077#1085#1080#1080
Action = aToPM
ImageIndex = 7
end
object ToolButton7: TToolButton
Left = 155
Top = 0
Hint = #1057#1086#1093#1088#1072#1085#1080#1090#1100' '#1090#1077#1082#1091#1097#1080#1081' '#1087#1088#1086#1077#1082#1090' '#1085#1072' '#1089#1077#1088#1074#1077#1088
Action = aFromPM
ImageIndex = 6
end
object ToolButton5: TToolButton
Left = 186
Top = 0
Action = aExit
end
OnClick = Button1Click
end
object cxGrid1: TcxGrid
Left = 8
Top = 62
Width = 537
Height = 233
PopupMenu = PopupMenu1
object ListBox1: TListBox
Left = 32
Top = 24
Width = 345
Height = 226
ItemHeight = 13
TabOrder = 1
LookAndFeel.NativeStyle = True
object cxGrid1DBTableView1: TcxGridDBTableView
Navigator.Buttons.CustomButtons = <>
DataController.DataSource = DataSource1
DataController.Summary.DefaultGroupSummaryItems = <>
DataController.Summary.FooterSummaryItems = <>
DataController.Summary.SummaryGroups = <>
OptionsBehavior.CopyRecordsToClipboard = False
OptionsBehavior.ImmediateEditor = False
OptionsBehavior.ColumnHeaderHints = False
OptionsData.Deleting = False
OptionsData.Editing = False
OptionsData.Inserting = False
OptionsSelection.CellSelect = False
OptionsView.FocusRect = False
OptionsView.GroupByBox = False
object cxGrid1DBTableView1FileName: TcxGridDBColumn
Caption = #1060#1072#1081#1083
DataBinding.FieldName = 'FileName'
Options.Editing = False
Options.Filtering = False
Options.Moving = False
Width = 280
end
object cxGrid1DBTableView1FileSize: TcxGridDBColumn
Caption = #1056#1072#1079#1084#1077#1088', '#1052#1073
DataBinding.FieldName = 'FileSize'
Options.Editing = False
Options.Filtering = False
Options.Moving = False
end
object cxGrid1DBTableView1FileDate: TcxGridDBColumn
Caption = #1044#1072#1090#1072
DataBinding.FieldName = 'FileDate'
Options.Editing = False
Options.Filtering = False
Options.Moving = False
end
end
object cxGrid1Level1: TcxGridLevel
GridView = cxGrid1DBTableView1
end
end
object btnSave: TBitBtn
Left = 389
Top = 24
Width = 135
Height = 41
Caption = 'btnSave'
DoubleBuffered = True
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = [fsBold]
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000000000000000000000000000000000000FF00FF00FF00
FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000808
0800A59CA500A59CA500A59CA500A59CA500A59CA500A59CA500181818000808
080000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00181818000808
0800C6C6C60029292900424242009C9C9C00C6C6C600CECECE00181818000808
080008080800FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00101010000808
0800C6C6C60018181800292929009C9C9C00BDBDBD00C6C6C600181818000808
0800080808000808080000000000FF00FF00FF00FF00FF00FF00101010000808
0800CECECE00C6C6C600C6C6C600C6C6C600BDBDBD00BDBDBD00181818000808
0800101010000808080008080800FF00FF00FF00FF00FF00FF00101010000808
0800080808000808080008080800080808000808080008080800080808000808
08001010100008080800080808000808080000000000FF00FF00212121000808
0800FFF7F700FFF7F700FFF7F700FFF7F700FFF7F700FFF7F700FFF7F7000808
08001818180008080800101010000808080008080800FF00FF00212121000808
0800FFF7F700C6C6C6009C9C9C009C9C9C009C9C9C00E7E7E700FFF7F7000808
08002929290008080800101010000808080008080800FF00FF00292929000808
0800FFF7F700FFF7F700FFF7F700FFF7F700FFF7F700FFF7F700FFF7F7000808
08002929290008080800181818000808080010101000FF00FF00292929000808
0800FFF7F700C6C6C6009C9C9C009C9C9C009C9C9C00E7E7E700FFF7F7000808
08002929290008080800292929000808080010101000FF00FF00292929000808
0800FFF7F700FFF7F700FFF7F700FFF7F700FFF7F700FFF7F700FFF7F7000808
08002929290008080800292929000808080018181800FF00FF00292929000808
0800DE842100DE7B2100D67B1800D6731800CE731800CE6B1000CE6B10000808
08002929290008080800292929000808080029292900FF00FF00FF00FF00FF00
FF002929290008080800FFF7F700FFF7F700FFF7F700FFF7F700FFF7F700FFF7
F700FFF7F70008080800292929000808080029292900FF00FF00FF00FF00FF00
FF002929290008080800DE842100DE7B2100D67B1800D6731800CE731800CE6B
1000CE6B100008080800292929000808080029292900FF00FF00FF00FF00FF00
FF00FF00FF00FF00FF002929290008080800FFF7F700FFF7F700FFF7F700FFF7
F700FFF7F700FFF7F700FFF7F7000808080029292900FF00FF00FF00FF00FF00
FF00FF00FF00FF00FF002929290008080800DE842100DE7B2100D67B1800D673
1800CE731800CE6B1000CE6B10000808080029292900FF00FF00}
ParentDoubleBuffered = False
ParentFont = False
TabOrder = 2
OnClick = btnSaveClick
end
object btnLoad: TBitBtn
Left = 389
Top = 96
Width = 135
Height = 41
Caption = 'btnLoad'
DoubleBuffered = True
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = [fsBold]
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000000000000000000000000000000000000FF00FF00FF00
FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00944A
0000E7DEB500E7DEB500E7DEB500E7DEB500E7DEB500E7DEB500AD5A0800944A
000084420000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00A55A0800944A
0000DEDED600C66B1000DE8C3100EFDEB500DEDED600E7E7DE00AD5A0800944A
00008C420000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00A5520800944A
0000DEDED600AD5A0800C66B1000EFDEB500DEDECE00DEDED600AD5A0800944A
0000944A0000944A000084420000FF00FF00FF00FF00FF00FF00A5520800944A
0000E7E7D600DEDED600DEDED600DEDECE00DEDECE00DEDECE00AD5A0800944A
00009C520000944A00008C420000FF00FF00FF00FF00FF00FF00A5520800944A
0000944A0000944A0000944A0000944A0000944A0000944A0000944A0000944A
0000A5520800944A0000944A0000944A000084420000FF00FF00B5630800944A
0000FFF7F700FFF7F700FFF7F700FFF7F700FFF7F700FFF7F700FFF7F700944A
0000AD5A0800944A00009C520000944A00008C420000FF00FF00BD631000944A
0000FFF7F700E7E7D600EFDEB500EFDEB500EFDEB500EFEFEF00FFF7F700944A
0000C66B1800944A0000A5520800944A0000944A0000FF00FF00BD6B1000944A
0000FFF7F700FFF7F700FFF7F700FFF7F700FFF7F700FFF7F700FFF7F700944A
0000C6731800944A0000AD5A0800944A00009C520000FF00FF00BD6B1000944A
0000FFF7F700E7E7D600EFDEB500EFDEB500EFDEB500EFEFEF00FFF7F700944A
0000C6731800944A0000C66B1800944A0000A5520800FF00FF00C66B1000944A
0000FFF7F700FFF7F700FFF7F700FFF7F700FFF7F700FFF7F700FFF7F700944A
0000C6731800944A0000C6731800944A0000AD5A0800FF00FF00C66B1000944A
0000E79C2900E7942900E7942100DE8C2100DE8C2100DE8C1800DE841800944A
0000C6731800944A0000C6731800944A0000C66B1800FF00FF00FF00FF00FF00
FF00C66B1800944A0000FFF7F700FFF7F700FFF7F700FFF7F700FFF7F700FFF7
F700FFF7F700944A0000C6731800944A0000C6731800FF00FF00FF00FF00FF00
FF00C66B1000944A0000E79C2900E7942900E7942100DE8C2100DE8C2100DE8C
1800DE841800944A0000C6731800944A0000C6731800FF00FF00FF00FF00FF00
FF00FF00FF00FF00FF00C66B1800944A0000FFF7F700FFF7F700FFF7F700FFF7
F700FFF7F700FFF7F700FFF7F700944A0000C6731800FF00FF00FF00FF00FF00
FF00FF00FF00FF00FF00C66B1000944A0000E79C2900E7942900E7942100DE8C
2100DE8C2100DE8C1800DE841800944A0000C66B1000FF00FF00}
ParentDoubleBuffered = False
ParentFont = False
TabOrder = 3
OnClick = btnLoadClick
end
object btnDelete: TBitBtn
Left = 389
Top = 168
Width = 135
Height = 41
Caption = 'btnDelete'
DoubleBuffered = True
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = [fsBold]
Glyph.Data = {
36060000424D3606000000000000360400002800000020000000100000000100
08000000000000020000630E0000630E00000001000000000000000000003300
00006600000099000000CC000000FF0000000033000033330000663300009933
0000CC330000FF33000000660000336600006666000099660000CC660000FF66
000000990000339900006699000099990000CC990000FF99000000CC000033CC
000066CC000099CC0000CCCC0000FFCC000000FF000033FF000066FF000099FF
0000CCFF0000FFFF000000003300330033006600330099003300CC003300FF00
330000333300333333006633330099333300CC333300FF333300006633003366
33006666330099663300CC663300FF6633000099330033993300669933009999
3300CC993300FF99330000CC330033CC330066CC330099CC3300CCCC3300FFCC
330000FF330033FF330066FF330099FF3300CCFF3300FFFF3300000066003300
66006600660099006600CC006600FF0066000033660033336600663366009933
6600CC336600FF33660000666600336666006666660099666600CC666600FF66
660000996600339966006699660099996600CC996600FF99660000CC660033CC
660066CC660099CC6600CCCC6600FFCC660000FF660033FF660066FF660099FF
6600CCFF6600FFFF660000009900330099006600990099009900CC009900FF00
990000339900333399006633990099339900CC339900FF339900006699003366
99006666990099669900CC669900FF6699000099990033999900669999009999
9900CC999900FF99990000CC990033CC990066CC990099CC9900CCCC9900FFCC
990000FF990033FF990066FF990099FF9900CCFF9900FFFF99000000CC003300
CC006600CC009900CC00CC00CC00FF00CC000033CC003333CC006633CC009933
CC00CC33CC00FF33CC000066CC003366CC006666CC009966CC00CC66CC00FF66
CC000099CC003399CC006699CC009999CC00CC99CC00FF99CC0000CCCC0033CC
CC0066CCCC0099CCCC00CCCCCC00FFCCCC0000FFCC0033FFCC0066FFCC0099FF
CC00CCFFCC00FFFFCC000000FF003300FF006600FF009900FF00CC00FF00FF00
FF000033FF003333FF006633FF009933FF00CC33FF00FF33FF000066FF003366
FF006666FF009966FF00CC66FF00FF66FF000099FF003399FF006699FF009999
FF00CC99FF00FF99FF0000CCFF0033CCFF0066CCFF0099CCFF00CCCCFF00FFCC
FF0000FFFF0033FFFF0066FFFF0099FFFF00CCFFFF00FFFFFF00000080000080
000000808000800000008000800080800000C0C0C00080808000191919004C4C
4C00B2B2B200E5E5E500C8AC2800E0CC6600F2EABF00B59B2400D8E9EC009933
6600D075A300ECC6D900646F710099A8AC00E2EFF10000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000E8E8E8E8E8E8
E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E86CE8E8
E8E8E8E8E8E8E8E8B4E8E8E8E881E8E8E8E8E8E8E8E8E8E8ACE8E8E897B46CE8
E8E8E8E8E8E8E8E8E8E8E8E881AC81E8E8E8E8E8E8E8E8E8E8E8E8E897C7B46C
E8E8E8E8E8E8E8B4E8E8E8E881E3AC81E8E8E8E8E8E8E8ACE8E8E8E8E897C090
E8E8E8E8E8E8B4E8E8E8E8E8E881E381E8E8E8E8E8E8ACE8E8E8E8E8E8E890B4
6CE8E8E8E8B46CE8E8E8E8E8E8E881AC81E8E8E8E8AC81E8E8E8E8E8E8E8E890
B46CE8E8B46CE8E8E8E8E8E8E8E8E881AC81E8E8AC81E8E8E8E8E8E8E8E8E8E8
90B46CB46CE8E8E8E8E8E8E8E8E8E8E881AC81AC81E8E8E8E8E8E8E8E8E8E8E8
E890B46CE8E8E8E8E8E8E8E8E8E8E8E8E881AC81E8E8E8E8E8E8E8E8E8E8E8E8
90B46C906CE8E8E8E8E8E8E8E8E8E8E881AC818181E8E8E8E8E8E8E8E8E8E890
B46CE8E8906CE8E8E8E8E8E8E8E8E881AC81E8E88181E8E8E8E8E8E8E890B4B4
6CE8E8E8E8906CE8E8E8E8E8E881ACAC81E8E8E8E88181E8E8E8E8E890C7B46C
E8E8E8E8E8E8906CE8E8E8E881E3AC81E8E8E8E8E8E88181E8E8E8E87A907AE8
E8E8E8E8E8E8E8E890E8E8E8AC81ACE8E8E8E8E8E8E8E8E881E8E8E8E8E8E8E8
E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8
E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8}
NumGlyphs = 2
ParentDoubleBuffered = False
ParentFont = False
TabOrder = 4
OnClick = btnDeleteClick
end
object siLangLinked1: TsiLangLinked
Version = '6.5.2'
@ -277,284 +365,59 @@ object F_Reserv: TF_Reserv
01000D000A006C00620041006C006C006F007700650064005300700061006300
65000100200001000100010001000100010001000D000A006C00620055007300
6500640053007000610063006500010020000100010001000100010001000100
0D000A0054006F006F006C004200610072003100010054006F006F006C004200
61007200310001000100010001000100010001000D000A006100520065006600
7200650073006800010052006500660072006500730068000100010001000100
0100010001000D000A006100550070006C006F00610064000100170430043304
400443043704380442044C0420004404300439043B0420003D04300420004104
35044004320435044004010017043004320430043D0442043004360438044204
380420004404300439043B0420003D0430042000410435044004320435044004
0100550070006C006F00610064002000660069006C006500200074006F002000
730065007200760065007200010001000100010001000D000A0061004C006F00
610064000100170430043304400443043704380442044C042000440430043904
3B04200041042000410435044004320435044004300401001704300432043004
3D0442043004360438044204380420004404300439043B042000370420004104
35044004320435044004300401004C006F00610064002000660069006C006500
2000660072006F006D0020007300650072007600650072000100010001000100
01000D000A006100440065006C00460069006C006500460072006F006D000100
2304340430043B04380442044C0420004404300439043B040100120438043404
30043B0438044204380420004404300439043B040100440065006C0065007400
65002000660069006C006500010001000100010001000D000A00610054006F00
50004D000100610054006F0050004D0001000100010001000100010001000D00
0A006100460072006F006D0050004D0001006100460072006F006D0050004D00
01000100010001000100010001000D000A006100450078006900740001006100
450078006900740001000100010001000100010001000D000A00630078004700
7200690064003100440042005400610062006C00650056006900650077003100
460069006C0065004E0061006D0065000100460069006C0065004E0061006D00
650001000100010001000100010001000D000A00630078004700720069006400
3100440042005400610062006C00650056006900650077003100460069006C00
6500530069007A0065000100460069006C006500530069007A00650001000100
010001000100010001000D000A00630078004700720069006400310044004200
5400610062006C00650056006900650077003100460069006C00650044006100
740065000100460069006C006500440061007400650001000100010001000100
010001000D000A0073007400480069006E00740073005F0055006E0069006300
6F00640065000D000A0054006F006F006C0042007500740074006F006E003300
0100170430043304400443043704380442044C0420004404300439043B042000
410420004104350440043204350440043004010017043004320430043D044204
3004360438044204380420004404300439043B04200037042000410435044004
320435044004300401004C006F00610064002000660069006C00650020006600
72006F006D002000730065007200760065007200010001000100010001000D00
0A0054006F006F006C0042007500740074006F006E00360001001E0442043A04
40044B0442044C0420004404300439043B042000320420003F04400438043B04
3E04360435043D043804380401001204560434043A0440043804420438042000
4404300439043B042000320420003F0440043E043304400430043C0456042000
01004F00700065006E002000660069006C006500200069006E00200061007000
70006C00690063006100740069006F006E00010001000100010001000D000A00
54006F006F006C0042007500740074006F006E003700010021043E0445044004
30043D04380442044C042000420435043A04430449043804390420003F044004
3E0435043A04420420003D043004200041043504400432043504400401001704
310435044004350433044204380420003F043E0442043E0447043D0438043904
20003F0440043E0435043A04420420003D043004200041043504400432043504
40040100550070006C006F00610064002000630075007200720065006E007400
2000700072006F006A00650063007400200074006F0020007300650072007600
65007200010001000100010001000D000A006100520065006600720065007300
680001001E0431043D043E043204380442044C04200041043F04380441043E04
3A0420004404300439043B043E04320401001F043E043D043E04320438044204
3804200041043F04380441043E043A0420004404300439043B04560432040100
52006500660072006500730068002000660069006C006500730020006C006900
73007400010001000100010001000D000A006100550070006C006F0061006400
0100170430043304400443043704380442044C0420004404300439043B042000
3D0430042000410435044004320435044004010017043004320430043D044204
3004360438044204380420004404300439043B0420003D043004200041043504
40043204350440040100550070006C006F00610064002000660069006C006500
200074006F002000730065007200760065007200010001000100010001000D00
0A006100440065006C00460069006C006500460072006F006D00010023043404
30043B04380442044C0420004404300439043B04010012043804340430043B04
38044204380420004404300439043B040100440065006C006500740065002000
660069006C006500010001000100010001000D000A0061004500780069007400
010012044B0445043E0434040100120438044504560434040100450078006900
7400010001000100010001000D000A007300740044006900730070006C006100
79004C006100620065006C0073005F0055006E00690063006F00640065000D00
0A00460069006C0065005400610062006C006500460069006C00650053006900
7A0065000100460069006C006500530069007A00650001000100010001000100
010001000D000A00460069006C0065005400610062006C006500460069006C00
650044006100740065000100460069006C006500440061007400650001000100
010001000100010001000D000A00460069006C0065005400610062006C006500
3100460069006C006500530069007A0065000100460069006C00650053006900
7A00650001000100010001000100010001000D000A00460069006C0065005400
610062006C0065003100460069006C0065004400610074006100010046006900
6C006500440061007400610001000100010001000100010001000D000A007300
740046006F006E00740073005F0055006E00690063006F00640065000D000A00
540046005F0052006500730065007200760001005400610068006F006D006100
01000100010001000100010001000D000A004C006100620065006C0031000100
5400610068006F006D00610001000100010001000100010001000D000A004C00
6100620065006C00320001005400610068006F006D0061000100010001000100
0100010001000D000A004C006100620065006C00330001005400610068006F00
6D00610001000100010001000100010001000D000A006C00620041006C006C00
6F007700650064005300700061006300650001005400610068006F006D006100
01000100010001000100010001000D000A006C00620055007300650064005300
700061006300650001005400610068006F006D00610001000100010001000100
010001000D000A00730074004D0075006C00740069004C0069006E0065007300
5F0055006E00690063006F00640065000D000A00730074005300740072006900
6E00670073005F0055006E00690063006F00640065000D000A00730074004F00
740068006500720053007400720069006E00670073005F0055006E0069006300
6F00640065000D000A00460069006C0065005400610062006C0065002E004300
75007200720065006E007400560065007200730069006F006E00010039002E00
30003000200001000100010001000100010001000D000A00460069006C006500
5400610062006C00650031002E00560065007200730069006F006E0001003700
2E00370034002E00300030002000500072006F00660065007300730069006F00
6E0061006C002000450064006900740069006F006E0001000100010001000100
010001000D000A007300740043006F006C006C0065006300740069006F006E00
73005F0055006E00690063006F00640065000D000A00460069006C0065005400
610062006C0065002E0049006E0064006500780044006500660073005B003000
5D002E0044006500730063004600690065006C00640073000100460069006C00
65004E0061006D00650001000100010001000100010001000D000A0046006900
6C0065005400610062006C0065002E0049006E00640065007800440065006600
73005B0030005D002E004600690065006C00640073000100460069006C006500
4E0061006D00650001000100010001000100010001000D000A00730074004300
68006100720053006500740073005F0055006E00690063006F00640065000D00
0A00540046005F00520065007300650072007600010044004500460041005500
4C0054005F004300480041005200530045005400010001000100010001000100
01000D000A004C006100620065006C0031000100440045004600410055004C00
54005F0043004800410052005300450054000100010001000100010001000100
0D000A004C006100620065006C0032000100440045004600410055004C005400
0D000A0042007500740074006F006E0031000100170430043A0440044B044204
4C040100170430043A044004380442043804010043006C006F00730065000100
01000100010001000D000A00620074006E005300610076006500010062007400
6E00530061007600650001000100010001000100010001000D000A0062007400
6E004C006F00610064000100620074006E004C006F0061006400010001000100
01000100010001000D000A00620074006E00440065006C006500740065000100
620074006E00440065006C006500740065000100010001000100010001000100
0D000A0073007400480069006E00740073005F0055006E00690063006F006400
65000D000A007300740044006900730070006C00610079004C00610062006500
6C0073005F0055006E00690063006F00640065000D000A007300740046006F00
6E00740073005F0055006E00690063006F00640065000D000A00540046005F00
52006500730065007200760001005400610068006F006D006100010001000100
01000100010001000D000A004C006100620065006C0031000100540061006800
6F006D00610001000100010001000100010001000D000A004C00610062006500
6C00320001005400610068006F006D0061000100010001000100010001000100
0D000A004C006100620065006C00330001005400610068006F006D0061000100
0100010001000100010001000D000A006C00620041006C006C006F0077006500
64005300700061006300650001005400610068006F006D006100010001000100
01000100010001000D000A006C00620055007300650064005300700061006300
650001005400610068006F006D00610001000100010001000100010001000D00
0A0042007500740074006F006E00310001005400610068006F006D0061000100
0100010001000100010001000D000A00620074006E0053006100760065000100
5400610068006F006D00610001000100010001000100010001000D000A006200
74006E004C006F006100640001005400610068006F006D006100010001000100
01000100010001000D000A00620074006E00440065006C006500740065000100
5400610068006F006D00610001000100010001000100010001000D000A007300
74004D0075006C00740069004C0069006E00650073005F0055006E0069006300
6F00640065000D000A007300740053007400720069006E00670073005F005500
6E00690063006F00640065000D000A00730074004F0074006800650072005300
7400720069006E00670073005F0055006E00690063006F00640065000D000A00
7300740043006F006C006C0065006300740069006F006E0073005F0055006E00
690063006F00640065000D000A00730074004300680061007200530065007400
73005F0055006E00690063006F00640065000D000A00540046005F0052006500
73006500720076000100440045004600410055004C0054005F00430048004100
520053004500540001000100010001000100010001000D000A004C0061006200
65006C0031000100440045004600410055004C0054005F004300480041005200
53004500540001000100010001000100010001000D000A004C00610062006500
6C0032000100440045004600410055004C0054005F0043004800410052005300
4500540001000100010001000100010001000D000A004C006100620065006C00
33000100440045004600410055004C0054005F00430048004100520053004500
540001000100010001000100010001000D000A006C00620041006C006C006F00
770065006400530070006100630065000100440045004600410055004C005400
5F00430048004100520053004500540001000100010001000100010001000D00
0A004C006100620065006C0033000100440045004600410055004C0054005F00
430048004100520053004500540001000100010001000100010001000D000A00
6C00620041006C006C006F007700650064005300700061006300650001004400
0A006C0062005500730065006400530070006100630065000100440045004600
410055004C0054005F0043004800410052005300450054000100010001000100
0100010001000D000A0042007500740074006F006E0031000100440045004600
410055004C0054005F0043004800410052005300450054000100010001000100
0100010001000D000A00620074006E0053006100760065000100440045004600
410055004C0054005F0043004800410052005300450054000100010001000100
0100010001000D000A00620074006E004C006F00610064000100440045004600
410055004C0054005F0043004800410052005300450054000100010001000100
0100010001000D000A00620074006E00440065006C0065007400650001004400
45004600410055004C0054005F00430048004100520053004500540001000100
010001000100010001000D000A006C0062005500730065006400530070006100
630065000100440045004600410055004C0054005F0043004800410052005300
4500540001000100010001000100010001000D000A00}
end
object DataSource1: TDataSource
DataSet = FileTable
Left = 136
Top = 56
end
object FileTable: TSQLMemTable
CurrentVersion = '9.00 '
StoreDefs = True
DatabaseName = 'MEMORY'
ReadOnly = False
CaseInsensitive = False
IndexDefs = <
item
Name = 'FileTableIndex1'
DescFields = 'FileName'
Fields = 'FileName'
Options = [ixDescending]
end>
FieldDefs = <
item
Name = 'FileName'
DataType = ftString
Size = 255
end
item
Name = 'FileSize'
DataType = ftString
Size = 20
end
item
Name = 'FileDate'
DataType = ftString
Size = 20
end>
TableName = 'Table1997262626_14648'
Exclusive = False
MemoryTableAllocBy = 1000
Left = 256
Top = 64
object FileTableFileName: TStringField
FieldName = 'FileName'
Size = 255
end
object FileTableFileSize: TStringField
FieldName = 'FileSize'
end
object FileTableFileDate: TStringField
FieldName = 'FileDate'
end
end
object ActionList1: TActionList
Images = FSCS_Main.imagePanel
Left = 464
Top = 120
object aRefresh: TAction
Caption = 'Refresh'
Hint = #1054#1073#1085#1086#1074#1080#1090#1100' '#1089#1087#1080#1089#1086#1082' '#1092#1072#1081#1083#1086#1074
ImageIndex = 96
OnExecute = aRefreshExecute
end
object aUpload: TAction
Caption = #1047#1072#1075#1088#1091#1079#1080#1090#1100' '#1092#1072#1081#1083' '#1085#1072' '#1089#1077#1088#1074#1077#1088
Hint = #1047#1072#1075#1088#1091#1079#1080#1090#1100' '#1092#1072#1081#1083' '#1085#1072' '#1089#1077#1088#1074#1077#1088
ImageIndex = 1
OnExecute = aUploadExecute
end
object aLoad: TAction
Caption = #1047#1072#1075#1088#1091#1079#1080#1090#1100' '#1092#1072#1081#1083' '#1089' '#1089#1077#1088#1074#1077#1088#1072
ImageIndex = 2
OnExecute = aLoadExecute
end
object aDelFileFrom: TAction
Caption = #1059#1076#1072#1083#1080#1090#1100' '#1092#1072#1081#1083
Hint = #1059#1076#1072#1083#1080#1090#1100' '#1092#1072#1081#1083
ImageIndex = 50
OnExecute = aDelFileFromExecute
end
object aToPM: TAction
Caption = 'aToPM'
OnExecute = aToPMExecute
end
object aFromPM: TAction
Caption = 'aFromPM'
OnExecute = aFromPMExecute
end
object aExit: TAction
Caption = 'aExit'
Hint = #1042#1099#1093#1086#1076
ImageIndex = 9
ShortCut = 27
OnExecute = aExitExecute
end
end
object PopupMenu1: TPopupMenu
Left = 256
Top = 176
object N1: TMenuItem
Action = aLoad
end
object N2: TMenuItem
Action = aUpload
end
object aDelete1: TMenuItem
Action = aDelFileFrom
end
end
object FileTable1: TkbmMemTable
Active = True
DesignActivation = True
AttachedAutoRefresh = True
AttachMaxCount = 1
FieldDefs = <
item
Name = 'FileName'
DataType = ftString
Size = 256
end
item
Name = 'FileSize'
DataType = ftString
Size = 20
end
item
Name = 'FileData'
DataType = ftString
Size = 20
end>
IndexDefs = <>
SortOptions = []
PersistentBackup = False
ProgressFlags = [mtpcLoad, mtpcSave, mtpcCopy]
LoadedCompletely = False
SavedCompletely = False
FilterOptions = []
Version = '7.74.00 Professional Edition'
LanguageID = 0
SortID = 0
SubLanguageID = 1
LocaleID = 1024
Left = 368
Top = 56
object FileTable1FileName: TStringField
FieldName = 'FileName'
Size = 256
end
object FileTable1FileSize: TStringField
FieldName = 'FileSize'
end
object FileTable1FileData: TStringField
FieldName = 'FileData'
end
end
object Query1: TQuery
Left = 352
Top = 216
end
object MemSQL1: TkbmMemSQL
Left = 400
Top = 192
010001000100010001000D000A00}
end
end

View File

@ -8,74 +8,28 @@ uses
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdExplicitTLSClientServerBase, IdFTP, idUri, idFTPCommon,idFTPLIST, IdAllFTPListParsers,
IdFTPListParseBase,IdFTPListParseAS400, IdFTPListParsePcTcp, IdFTPListTypes,
Wininet, siComp, siLngLnk, Grids, DBGrids, RzDBGrid, DB, SQLMemMain,
cxGraphics, cxControls, cxLookAndFeels, cxLookAndFeelPainters, cxStyles,
cxCustomData, cxFilter, cxData, cxDataStorage, cxEdit, cxNavigator, cxDBData,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridLevel,
cxClasses, cxGridCustomView, cxGrid, ExtCtrls, RzPanel, ActnList,
PlatformDefaultStyleActnCtrls, ActnMan, ToolWin, ActnCtrls, ComCtrls, acDBGrid,
Menus, kbmMemTable, kbmMemSQL, DBTables;
Wininet, siComp, siLngLnk;
type
TF_Reserv = class(TForm)
Button1: TButton;
ListBox1: TListBox;
btnSave: TBitBtn;
btnLoad: TBitBtn;
btnDelete: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
lbAllowedSpace: TLabel;
lbUsedSpace: TLabel;
siLangLinked1: TsiLangLinked;
DataSource1: TDataSource;
FileTable: TSQLMemTable;
FileTableFileSize: TStringField;
FileTableFileDate: TStringField;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ActionList1: TActionList;
aRefresh: TAction;
aUpload: TAction;
aLoad: TAction;
aDelFileFrom: TAction;
aExit: TAction;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
aDelete1: TMenuItem;
FileTable1: TkbmMemTable;
aToPM: TAction;
aFromPM: TAction;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
FileTableFileName: TStringField;
Query1: TQuery;
FileTable1FileName: TStringField;
FileTable1FileSize: TStringField;
FileTable1FileData: TStringField;
MemSQL1: TkbmMemSQL;
cxGrid1DBTableView1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
cxGrid1DBTableView1FileName: TcxGridDBColumn;
cxGrid1DBTableView1FileSize: TcxGridDBColumn;
cxGrid1DBTableView1FileDate: TcxGridDBColumn;
//procedure Button1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
//procedure btnSaveClick(Sender: TObject);
//procedure btnLoadClick(Sender: TObject);
//procedure btnDeleteClick(Sender: TObject);
procedure aRefreshExecute(Sender: TObject);
procedure aUploadExecute(Sender: TObject);
procedure aExitExecute(Sender: TObject);
procedure aLoadExecute(Sender: TObject);
procedure aDelFileFromExecute(Sender: TObject);
procedure aToPMExecute(Sender: TObject);
procedure aFromPMExecute(Sender: TObject);
//procedure RzDBGrid1TitleClick(Column: TColumn);
procedure btnSaveClick(Sender: TObject);
procedure btnLoadClick(Sender: TObject);
procedure btnDeleteClick(Sender: TObject);
private
{ Private declarations }
public
@ -85,11 +39,9 @@ type
function GetFileListFromFtp(aFtpStr: string): TStringList;
function DeleteFileFromFtp(aFtpStr, aFileName: string): boolean;
Procedure RefreshFileList;
//Procedure SetButtons(aSave, aLoad, aDelete: Boolean);
Procedure SetButtons(aSave, aLoad, aDelete: Boolean);
Procedure SelectItem;
Function HexToStr(const HexStr: string): string;
function SaveCurrProjToTemFile: boolean;
//function GetTempDir: string;
end;
var
@ -97,88 +49,13 @@ var
Selected_Item: integer;
FClientLimit: integer; // Ëèìèò êëèåíòà íà äèñêîâîå ïðîñòðàíñòâî íà ñåðâàêå, ÌÁ
FFact: Integer; // Çàíÿòî êëèåíòîì íà ñåðâåðå, ÌÁ
FileDateList: TStringList;
FileSizeList: TStringList;
MyHeaderStyle: TcxStyle;
//FConnStr: string;
implementation
uses USCS_Main, U_Common, U_BaseCommon, U_BaseConstants, U_ProtectionCommon, U_Main, U_SCSComponent;
uses USCS_Main, U_Common, U_BaseCommon, U_BaseConstants;
{$R *.dfm}
(*
function GetTempDir: string;
var
buff: pchar;
s: string;
begin
if length(TempDir) > 0 then
begin
if DirectoryExists(TempDir) then
Result := TempDir
else
begin
TempDir := '';
Result := GetTempDir;
end;
end
else
begin
// Tolik 24/06/* 2019 --
s := GetEnvironmentVariable('tmp');
if ((s = '') or (not DirectoryExists(s))) then
s := GetEnvironmentVariable('temp');
if ((s = '') or (not DirectoryExists(s))) then
s := exedir;
(*
// Tolik 21/06/2019 --
getmem(buff, 256*2);
//
s := '';
if (GetEnvironmentVariable('tmp',buff, 254) >0)
and (DirectoryExists(buff)) then
begin
s := buff;
end
else
if (GetEnvironmentVariable('temp',buff, 254) >0)
and (DirectoryExists(buff)) then
begin
s := buff;
end
else
s := exedir;
freemem(buff);
*)
(* try
if not DirectoryExists(s + OurTempDir) then
MkDir(s + OurTempDir);
TempDir := s + OurTempDir;
result := TempDir;
except
ShowMessage(cTmpDirErr);
{$if Defined(ES_GRAPH_SC)}
Application.Terminate;
{$else}
ExitProcess(1);
{$ifend}
end;
end;
end;
*)
function TF_Reserv.SaveCurrProjToTemFile: boolean;
var TempProj: TSCSProject;
CurrProjNode: TTreeNode;
begin
CurrProjNode := F_ProjMan.GSCSBase.CurrProject.TreeViewNode;
Result := false;
end;
function TF_Reserv.HexToStr(const HexStr: string): string;
var
i: Integer;
@ -195,7 +72,7 @@ end;
Procedure TF_Reserv.SelectItem;
var i: integer;
begin
{if F_Reserv.ListBox1.Count > 0 then
if F_Reserv.ListBox1.Count > 0 then
begin
for i := 0 to F_Reserv.ListBox1.Count - 1 do
begin
@ -210,141 +87,13 @@ begin
end
else
Selected_Item := 0;
}
end;
(*
Procedure TF_Reserv.SetButtons(aSave, aLoad, aDelete: Boolean);
begin
{
F_Reserv.btnSave.Enabled := aSave;
F_Reserv.btnLoad.Enabled := aLoad;
F_Reserv.btnDelete.Enabled := aDelete;
}
end;
*)
procedure TF_Reserv.aUploadExecute(Sender: TObject);
var OpenDlg: TOpenDialog;
FileNameShort, Filename: string;
i: integer;
begin
OpenDlg := TOpenDialog.Create(nil);
OpenDlg.Filter := ' (*.scs)|*.SCS';
if OpenDlg.Execute then
begin
FileName := OpenDlg.FileName;
if SendFileToFtp(HexToStr(GFtpConnectStr), FileName) then
RefreshFileList;
end;
OpenDlg.Free;
end;
procedure TF_Reserv.aDelFileFromExecute(Sender: TObject);
begin
if DeleteFileFromFtp(HexToStr(GFtpConnectStr), f_Reserv.filetable.fieldvalues['filename']) then
begin
RefreshFileList;
end;
end;
procedure TF_Reserv.aExitExecute(Sender: TObject);
begin
F_Reserv.Close;
end;
procedure TF_Reserv.aFromPMExecute(Sender: TObject);
var tdir: string;
canProceed, formHide: Boolean;
fName: String;
begin
if CheckIsOpenProject(false) then
begin
tdir := '';
tdir := GetTempDir;
if tdir <> '' then
begin
FName := tdir + '\'+ F_ProjMan.GSCSBase.CurrProject.Name + '.scs';
if FileExists(FName) then
DeleteFile(FName);
if F_ProjMan.GSCSBase.CurrProject.SaveToStreamOrFile(nil, FName) then
begin
if SendFileToFtp(HexToStr(GFtpConnectStr), FName) then
RefreshFileList;
end;
if FileExists(FName) then
DeleteFile(FName);
end;
end
else
ShowMessage('');
end;
procedure TF_Reserv.aLoadExecute(Sender: TObject);
var SaveDlg: TSaveDialog;
FileName: string;
i: integer;
begin
FileName := '';
FileName := FileTable.fieldvalues['FileName'];
if fileName <> '' then
begin
SaveDlg := TSaveDialog.Create(nil);
SaveDlg.Filter := ' (*.scs)|*.SCS';
SaveDlg.FileName := fileName;
if SaveDlg.Execute then
begin
FileName := SaveDlg.FileName;
GetFileFromFtp(HexToStr(GFtpConnectStr), extractfilename(FileName), SaveDlg.FileName);
end;
SaveDlg.Free;
end;
end;
procedure TF_Reserv.aRefreshExecute(Sender: TObject);
begin
RefreshFileList;
end;
procedure TF_Reserv.aToPMExecute(Sender: TObject);
var tdir: string;
canProceed, formHide: Boolean;
begin
tdir := '';
tdir := GetTempDir;
if tdir <> '' then
begin
CanProceed := False;
formHide := False;
if CheckIsOpenProject(false) then
begin
if MessageBox(F_Reserv.Handle, PChar(cFtpmes7), PChar(cWarningSlowCap), MB_YESNO) = IDYes then
begin
F_Reserv.Hide;
formHide := True;
CanProceed := CloseCurrProject(true) <> IDCancel;
end;
end
else
CanProceed := True;
if CanProceed then
begin
GetFileFromFtp(HexToStr(GFtpConnectStr), FileTable.FieldValues['FileName'], tdir + '\'+ FileTable.FieldValues['FileName']);
if FileExists(tdir + '\'+ FileTable.FieldValues['FileName']) then
begin
F_ProjMan.LoadProjectFromFile(tdir + '\'+ FileTable.FieldValues['FileName']);
DeleteFile(tdir + '\'+ FileTable.FieldValues['FileName']);
F_Reserv.Close;
end;
end
else
begin
if formHide then
F_Reserv.ShowModal;
end;
end;
end;
Procedure TF_Reserv.RefreshFileList;
@ -359,10 +108,7 @@ begin
vLoad := False;
vDelete := False;
//FConnStr := HexToStr(GFtpConnectStr);
//F_Reserv.ListBox1.Clear;
f_Reserv.FileTable.Close;
f_Reserv.FileTable.Open;
F_Reserv.ListBox1.Clear;
tmppath := GetDefaultTempPath;//+'\' + 'USER.CFG';
{ FileList := F_Reserv.GetFileListFromFtp(GFtpConnectStr);
if FileList <> nil then
@ -396,100 +142,39 @@ begin
CloseFile(f);
UserLimit := strtoint(s);
lballowedspace.Caption := s;
//vSave := true;
//vLoad := true;
//vDelete := true;
vSave := true;
vLoad := true;
vDelete := true;
////
FileList := F_Reserv.GetFileListFromFtp(HexToStr(GFtpConnectStr));
if FileList <> nil then
begin
//FileTable.ReadOnly := False;
// F_Reserv.FileTable.EmptyTable;
While F_Reserv.FileTable.RecordCount > 0 do
begin
F_Reserv.FileTable.Delete;
end;
//F_Reserv.ListBox1.Clear;
F_Reserv.ListBox1.Clear;
for i := 0 to fileList.Count - 1 do // Client Config
begin
//F_Reserv.ListBox1.AddItem(filelist[i], nil);
F_Reserv.FileTable.Append;
F_Reserv.FileTable.FieldByName('FileName').AsString := FileList[i];
F_Reserv.FileTable.FieldByName('FileDate').AsString := FileDateList[i];
F_Reserv.FileTable.FieldByName('FileSize').AsString := FileSizeList[i];
F_Reserv.ListBox1.AddItem(filelist[i], nil);
end;
//FileTable.ReadOnly := True;
//if F_Reserv.ListBox1.Items.Count = 0 then
F_Reserv.aDelFileFrom.Enabled := True;
F_Reserv.aLoad.Enabled := True;
F_Reserv.aToPM.Enabled := True;
if F_Reserv.FileTable.RecordCount = 0 then
if F_Reserv.ListBox1.Items.Count = 0 then
begin
F_Reserv.aDelFileFrom.Enabled := False;
F_Reserv.aLoad.Enabled := False;
F_Reserv.aToPM.Enabled := False;
end
else
begin
F_Reserv.FileTable.First;
F_Reserv.cxGrid1DBTableView1.Controller.FocusedRowIndex := 0;
vDelete := False;
vLoad := False;
end;
//F_Reserv.FileTable.First;
//SelectItem;
SelectItem;
fileList.Free;
if UserLimit <= strtoint(lbUsedSpace.Caption) then
begin
F_Reserv.aUpload.Enabled := False;
F_Reserv.aFromPM.Enabled := False;
end
if UserLimit >= strtoint(lbUsedSpace.Caption) then
vSave := True
else
begin
F_Reserv.aUpload.Enabled := True;
//F_Reserv.aFromPM.Enabled := True;
if CheckIsOpenProject(false) then
F_Reserv.aFromPM.Enabled := True
else
F_Reserv.aFromPM.Enabled := False;
end;
end
else
begin
F_Reserv.aDelFileFrom.Enabled := False;
F_Reserv.aLoad.Enabled := False;
F_Reserv.aToPM.Enabled := False;
F_Reserv.aUpload.Enabled := False;
F_Reserv.aFromPM.Enabled := False;
Showmessage('cFtpmes12');
vSave := False;
end;
end
else
begin
F_Reserv.aDelFileFrom.Enabled := False;
F_Reserv.aLoad.Enabled := False;
F_Reserv.aToPM.Enabled := False;
F_Reserv.aUpload.Enabled := False;
F_Reserv.aFromPM.Enabled := False;
Showmessage('cFtpmes12');
end;
//SetButtons(vSave, vLoad, vDelete);
SetButtons(vSave, vLoad, vDelete);
end;
{
procedure TF_Reserv.RzDBGrid1TitleClick(Column: TColumn);
var FldName: string;
begin
FldName := Column.FieldName;
FileTable.IndexName := 'Filename';
end;
}
function TF_Reserv.SendFileToFtp(aFtpStr, aFileName: string): boolean;
var NameShort, NewName: String;
function TF_Reserv.SendFileToFtp(aFtpStr, aFileName: string): boolean;
var NameShort: String;
Ftp_serv: TIdFtp;
Uri: TIdURI;
bm: TBookmark;
FileNameExists: Boolean;
i: integer;
begin
Result := False;
if FileExists(aFileName) then
@ -502,7 +187,7 @@ function TF_Reserv.SendFileToFtp(aFtpStr, aFileName: string): boolean;
ftp_serv.Password := uri.password;
ftp_serv.Port := 21;
ftp_serv.Passive := true;
ftp_serv.TransferType := ftBinary;
try
ftp_serv.Connect;
except
@ -519,59 +204,6 @@ function TF_Reserv.SendFileToFtp(aFtpStr, aFileName: string): boolean;
if ftp_serv.Connected then
begin
NameShort := ExtractFileName(aFileName);
if F_Reserv.FileTable.RecordCount > 0 then //ïðîâåðêà íà íàëè÷èå ôàéëà íà ñåðâåðå
begin
FileNameExists := false;
bm := F_Reserv.FileTable.Bookmark;
F_Reserv.FileTable.DisableControls;
F_Reserv.FileTable.First;
while not F_Reserv.FileTable.Eof do
begin
if NameShort = F_Reserv.FileTable.FieldValues['FileName'] then
begin
FileNameExists := true;
break;
end;
F_Reserv.FileTable.Next;
end;
F_Reserv.FileTable.Bookmark := bm;
F_Reserv.FileTable.EnableControls;
end;
if FileNameExists then // åñëè òàêîå èìÿ íà ñåðâàêå åñòü - çàïðîñèòü ó ïîëüçîâàòåëÿ äåéñòâèå
begin // èëè ïåðåçàïèñàòü èëè çàïèñàòü ñ äðóãèì èìåíåì
if MessageBox(F_Reserv.Handle, PChar(cFtpmes8), PChar(cWarningSlowCap), MB_YESNO) <> IDYes then
begin
NameShort := Trim(InputBox(cFtpmes9, cFtpmes10, ''));
if length(NameShort) > 0 then
begin
NewName := '';
for i := 1 to Length(NameShort) do
begin
if NameShort[i] = '.' then
break
else
NewName := NewName + NameShort[i];
end;
if NewName <> '' then
NameShort := NewName + '.scs'
else
begin
ShowMessage(cFtpmes11);
ftp_serv.Disconnect;
ftp_serv.Free;
URi.Free;
exit;
end;
end;
end
else
DeleteFileFromFtp(aFtpStr, aFileName); //åñëè ïåðåçàïèñàòü, òî óäàëèòü êîïèþ
end;
try
ftp_serv.Put(aFileName, NameShort);
Result := True;
@ -605,7 +237,6 @@ function TF_Reserv.SendFileToFtp(aFtpStr, aFileName: string): boolean;
ftp_serv.Password := uri.password;
ftp_serv.Port := 21;
ftp_serv.Passive := true;
ftp_serv.TransferType := ftBinary;
try
ftp_serv.Connect;
@ -663,7 +294,7 @@ function TF_Reserv.SendFileToFtp(aFtpStr, aFileName: string): boolean;
var
Ftp_serv: TIdFtp;
Uri: TIdURI;
Size, FileSize: Double;
Size: Double;
i, rsize: integer;
begin
Result := TstringList.Create;
@ -700,10 +331,7 @@ function TF_Reserv.SendFileToFtp(aFtpStr, aFileName: string): boolean;
Size := 0;
for i := 0 to ftp_serv.DirectoryListing.Count - 1 do
begin
FileSize := ftp_serv.Size(ftp_serv.DirectoryListing[i].FileName);
Size := Size + FileSize;
FileDateList.Add(DateTostr(ftp_serv.FileDate(ftp_serv.DirectoryListing[i].FileName)));
FileSizeList.Add(FloatToStr(RoundX(FileSize/1048576, 3)));
Size := Size + ftp_serv.Size(ftp_serv.DirectoryListing[i].FileName);
end;
rsize := round(size/1048576);
lbUsedSpace.Caption := inttostr(rsize);
@ -774,13 +402,10 @@ function TF_Reserv.SendFileToFtp(aFtpStr, aFileName: string): boolean;
URi.Free;
end;
(*
procedure TF_Reserv.btnDeleteClick(Sender: TObject);
var i: integer;
begin
i := f_Reserv.RzDBGrid1.SelectedIndex;
i := 0;
{
if ListBox1.Count > 0 then
begin
for i := 0 to ListBox1.Count - 1 do
@ -796,17 +421,14 @@ begin
end;
end;
end;
}
end;
*)
(*
procedure TF_Reserv.btnLoadClick(Sender: TObject);
var SaveDlg: TSaveDialog;
FileName: string;
i: integer;
begin
FileName := '';
{
for i := 0 to ListBox1.Count - 1 do
begin
if ListBox1.Selected[i] = true then
@ -815,7 +437,6 @@ begin
break;
end;
end;
}
if fileName <> '' then
begin
SaveDlg := TSaveDialog.Create(nil);
@ -829,15 +450,13 @@ begin
SaveDlg.Free;
end;
end;
*)
(*
procedure TF_Reserv.btnSaveClick(Sender: TObject);
var OpenDlg: TOpenDialog;
FileNameShort, Filename: string;
i: integer;
begin
{
for i := 0 to ListBox1.Count - 1 do
begin
if ListBox1.Selected[i] = true then
@ -846,7 +465,6 @@ begin
break;
end;
end;
}
OpenDlg := TOpenDialog.Create(nil);
OpenDlg.Filter := ' (*.scs)|*.SCS';
if OpenDlg.Execute then
@ -858,42 +476,37 @@ begin
end;
OpenDlg.Free;
end;
*)
{procedure TF_Reserv.Button1Click(Sender: TObject);
procedure TF_Reserv.Button1Click(Sender: TObject);
begin
F_Reserv.Close;
end;
}
procedure TF_Reserv.FormCreate(Sender: TObject);
begin
FileDateList := TStringList.Create;
FileSizeList := TStringList.Create;
{
btnSave.Caption := 'Çàãðóçèòü ôàéë' + #13#10 + ' íà ñåðâåð';
btnLoad.Caption := 'Çàãðóçèòü ôàéë' + #13#10 + ' ñ ñåðâåðà';
btnDelete.Caption := 'Óäàëèòü ôàéë' + #13#10 + ' íà ñåðâåðå';
}
{btnSave.Caption := cFtpbtnSaveCaption;
btnSave.Caption := cFtpbtnSaveCaption;
btnLoad.Caption := cFtpbtnLoadCaption;
btnDelete.Caption := cFtpbtnDeleteCaption;}
btnDelete.Caption := cFtpbtnDeleteCaption;
Selected_Item := 0;
FClientLimit := 0;
FFact := 0;
lballowedspace.Font.Color := clBlue;
lbUsedSpace.Font.Color := clBlue;
MyHeaderStyle := TcxStyle.Create(nil);
MyHeaderStyle.Font.Style := [fsBold];
cxGrid1DBTableView1.Styles.Header := MyHeaderStyle;
end;
procedure TF_Reserv.FormShow(Sender: TObject);
var FileList: TStringList;
i: integer;
begin
FileDateList.Clear;
FileSizeList.Clear;
RefreshFileList;
//SelectItem;
end;
end.

View File

@ -3,7 +3,7 @@ interface
uses
Windows, Forms, Graphics, Registry, Classes, SysUtils, Messages,{ bz2,} Dialogs,
ComCtrls, ShlObj, ShellAPI, Controls, IcsPlus, Printers,
AbBzip2, AbZBrows, AbUnZper, AbArcTyp, AbMeter, AbBrowse, AbBase, U_BaseConstants;
AbBzip2, AbZBrows, AbUnZper, AbArcTyp, AbMeter, AbBrowse, AbBase;
type
// Ïåðèîä ëèöåíçèè
TPeriod = (pWeek, pMonth, pQuarter);
@ -732,10 +732,7 @@ begin
TempDir := s + OurTempDir;
result := TempDir;
except
//Tolik 31/01/2025 --
//ShowMessage('Îøèáêà âðåìåííîé äèðåêòîðèè!');
ShowMessage(cTmpDirErr);
//
ShowMessage('Îøèáêà âðåìåííîé äèðåêòîðèè!');
{$if Defined(ES_GRAPH_SC)}
Application.Terminate;
{$else}

View File

@ -2478,6 +2478,8 @@ object F_AddComponent: TF_AddComponent
object tsApplyInPM: TRzTabSheet
TabVisible = False
Caption = 'tsApplyInPM'
ExplicitWidth = 0
ExplicitHeight = 0
object GroupBox_ApplyForAllComponents: TRzGroupBox
Left = 0
Top = 0

View File

@ -488,8 +488,6 @@ const //*** Component Types
ctsnUZO = 'UZO_EL'; // Óñòðîéñòâî çàùèòíîãî îòêëþ÷åíèÿ
ctsnElCounter = 'EL_COUNTER'; // Ñ÷åò÷èê ýëåêòðè÷åñêèé
ctsnSwitchInput = 'EL_INPUTSHITCH'; // ââîäíîé àâòîìàò
ctsnWireTray = 'WIRETRAY'; // Tolik 10/04/2025 -- Лоток проволочный
//
//*** ReportTypes

View File

@ -1764,7 +1764,6 @@ const
cMakeEditComponentType_Msg7 = 'Описание';
cMakeEditComponentType_Msg8 = 'Перед тем как задать шаблон, необходимо определить системное имя.';
cMakeEditComponentType_Msg9 = 'Высота размещения компонентов';
cMakeEditComponentType_Msg10 = 'Лоток проволочный';
//------------------------------
cMakeEditCrossConnection_Msg1_1 = 'По кабелям';
@ -3236,16 +3235,6 @@ const
cFtpmes4 = 'Не удалось удалить файл на сервере!';
cFtpmes5 = 'Не удалось получить список файлов с сервера!';
cFtpmes6 = 'Не удалось определить лимит пользователя!';
cFtpmes7 = 'Закрыть текущий проект?';
cFtpmes8 = 'Файл с таким именем уже существует ' + #13#10 + 'на сервере. Перезаписать?';
cFtpmes9 = 'Резервное копирование';
cFtpmes10 = 'Введите новое имя файла:';
cFtpmes11 = 'Указано неверное имя файла!';
cFtpmes12 = 'Не удалось определить настройки пользователя!' + #13#10 +'Попробуйте обновить список файлов или обратитесь' + #13#10 +
'в службу технической поддержки.';
cTmpDirErr = 'Ошибка определения временной директории!'; //Tolik 31/01/2025 --
{$IFEND}

View File

@ -3267,12 +3267,3 @@
cFtpmes4 = 'Failed to delete file on the server!';
cFtpmes5 = 'Failed to get list of files from the server!';
cFtpmes6 = 'Unable to determine user limit!';
cFtpmes7 = 'Do You want to close current project?';
cFtpmes8 = 'A file with this name already exists ' + #13#10 + ' on the server. Overwrite?';
cFtpmes9 = 'Backup';
cFtpmes10 = 'Enter new file name:';
cFtpmes11 = 'There is wrong file name!';
cFtpmes12 = 'Failed to get user settings!' + #13#10 +'Try to refresh files list or contact' + #13#10 +
'the technical support service.';
cTmpDirErr = 'Error defining temporary directory!'; //Tolik 31/01/2025 --

View File

@ -3223,12 +3223,3 @@
cFtpmes4 = 'Не вдалося видалити файл на сервері!';
cFtpmes5 = 'Не вдалося отримати список файлів з сервера!';
cFtpmes6 = 'Не вдалося визначити ліміт користувача!';
cFtpmes7 = 'Закрити поточний проект?';
cFtpmes8 = 'Файл з таким іменем вже існує ' + #13#10 + 'на сервері. Перезаписати?';
cFtpmes9 = 'Резервне копіювання';
cFtpmes10 = 'Введіть нове ім' + ''''+ 'я файла:';
cFtpmes11 = 'Вказано невірне ім' + ''''+ 'я файла!';
cFtpmes12 = 'Не вдалося визначити нагодження користувача!' + #13#10 +'Спробуйте поновити список файлів або зверніться' + #13#10 +
'в службу технічної підтримки.';
cTmpDirErr = 'Помилка визначення тимчасової папки!'; // Tolik 31/01/2025 --

View File

@ -52,6 +52,7 @@ object F_MAIN: TF_MAIN
ParentFont = False
TabOrder = 0
Visible = False
ExplicitTop = 650
object Label_Kolvo: TLabel
Left = 16
Top = 8
@ -110,6 +111,7 @@ object F_MAIN: TF_MAIN
OnDblClick = Panel_Main1Click
OnResize = Panel_MainResize
OnUnDock = Panel_MainUnDock
ExplicitHeight = 650
object Panel_Addition: TRzSizePanel
Left = 0
Top = 434
@ -123,6 +125,7 @@ object F_MAIN: TF_MAIN
SizeBarWidth = 7
TabOrder = 0
VisualStyle = vsClassic
ExplicitTop = 449
object ToolBar_CompData: TToolBar
Left = 0
Top = 47
@ -1321,16 +1324,18 @@ object F_MAIN: TF_MAIN
TabStyle = tsSquareCorners
OnChange = pcObjectsChange
OnMouseMove = pcObjectsMouseMove
ExplicitHeight = 449
FixedDimension = 22
object tsTemplates: TRzTabSheet
Hint = #1054#1073#1098#1077#1082#1090#1099
ImageIndex = 1
Caption = #1054#1073#1098#1077#1082#1090#1099
ExplicitHeight = 449
object lvTemplates: TRzListView
Left = 160
Top = 30
Width = 172
Height = 404
Height = 419
Align = alClient
Columns = <>
ColumnClick = False
@ -1358,7 +1363,6 @@ object F_MAIN: TF_MAIN
OnResize = lvTemplatesResize
OnStartDrag = lvTemplatesStartDrag
OnSelectItem = lvTemplatesSelectItem
ExplicitHeight = 419
end
object cbTemplates: TControlBar
Left = 0
@ -1433,7 +1437,7 @@ object F_MAIN: TF_MAIN
object gbTemplateGroups: TRzGroupBar
Left = 0
Top = 30
Height = 404
Height = 419
ExclusiveMode = True
GradientColorStart = clBtnFace
GradientColorStop = clBtnShadow
@ -1454,6 +1458,7 @@ object F_MAIN: TF_MAIN
ImageIndex = 2
Caption = #1050#1086#1084#1087#1086#1085#1077#1085#1090#1099
OnResize = tsComponentsResize
ExplicitHeight = 449
object Panel_Tree: TPanel
Left = 0
Top = 0
@ -1476,6 +1481,7 @@ object F_MAIN: TF_MAIN
OnEndDock = Panel_TreeEndDock
OnMouseMove = Panel_TreeMouseMove
OnStartDock = Panel_TreeStartDock
ExplicitHeight = 449
object splFindInTree: TSplitter
Left = 0
Top = 201
@ -1619,6 +1625,7 @@ object F_MAIN: TF_MAIN
OnMouseMove = Tree_CatalogMouseMove
OnMouseUp = Tree_CatalogMouseUp
OnStartDrag = Tree_CatalogStartDrag
ExplicitHeight = 226
end
object Panel_New: TPanel
Left = -169
@ -1710,10 +1717,6 @@ object F_MAIN: TF_MAIN
FixedDimension = 13
object tsFind: TRzTabSheet
Caption = #1055#1086#1080#1089#1082
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
object Panel2: TPanel
Left = 0
Top = 0
@ -2174,6 +2177,7 @@ object F_MAIN: TF_MAIN
BorderInner = fsFlat
BorderOuter = fsNone
TabOrder = 4
ExplicitTop = 430
object lbFilterIsOn: TRzLabel
Left = 8
Top = 2
@ -2216,6 +2220,7 @@ object F_MAIN: TF_MAIN
Caption = #1043#1088#1091#1087#1087#1099
ParentShowHint = False
ShowHint = False
ExplicitHeight = 449
object Splitter1: TSplitter
Left = 0
Top = 105
@ -8298,7 +8303,7 @@ object F_MAIN: TF_MAIN
Left = 200
Top = 152
Bitmap = {
494C010104005001240310001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
494C010104005001200310001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000002000000001002000000000000020
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000

View File

@ -11190,7 +11190,7 @@ begin
Act_ReplaceCableCanals.Visible := true;
Act_SetCableCanalConnectors.Visible := true;
Act_SetCableCanalConnectorsToSelected.Visible := true;
Act_SetTubesElements.Visible := True;
//Act_SetTubesElements.Visible := True;
end;
end;
@ -26132,7 +26132,7 @@ var i: integer;
for j := 0 to TubeCompon.CableCanalConnectors.Count - 1 do
begin
PtrTubeConnector := PCableCanalConnector(TubeCompon.CableCanalConnectors[j]);
TubeConn := TSCSComponent(TubeCompon.CableCanalConnectors[j]);
//TubeConn := TSCSComponent(TubeCompon.CableCanalConnectors[j]);
//TubeConn :=
//PtrTubeConnector.GuidNBConnector
@ -34056,10 +34056,7 @@ end;
i: Integer;
begin
if Assigned(ACableCanalCompon) and
//Tolik 07/03/2025 --
//(ACableCanalCompon.ComponentType.SysName = ctsnCableChannel) and (ASide > 0) then
((ACableCanalCompon.ComponentType.SysName = ctsnCableChannel) or
(ACableCanalCompon.ComponentType.SysName = ctsnTube)) and (ASide > 0) then
(ACableCanalCompon.ComponentType.SysName = ctsnCableChannel) and (ASide > 0) then
begin
CanalObject := ACableCanalCompon.GetFirstParentCatalog;
if Assigned(CanalObject) then
@ -34130,10 +34127,7 @@ end;
CableCanalObject := GSCSBase.CurrProject.GetCatalogFromReferencesBySCSID(ConnectorLinesID[i]);
if Assigned(CableCanalObject) then
if assigned(CableCanalObject.ComponentReferences) then
//Tolik 07/03/2025
// if CableCanalObject.ComponentReferences.GetComponentByType(ctsnCableChannel) <> nil then
if CableCanalObject.ComponentReferences.GetComponentByType(ACableCanalCompon.Componenttype.SysName) <> nil then
//
if CableCanalObject.ComponentReferences.GetComponentByType(ctsnCableChannel) <> nil then
ConnectedLines.Add(CableCanalObject);
end;
GetMem(ptrConnectorWithLines, SizeOf(TConnectorWithLines));
@ -35630,18 +35624,7 @@ end;
//SavedNBComponent: TSCSComponent;
//
SavedGConnecntOnlyOneLineCompon: boolean;
ComponSName, ElementSName: string;
begin
if aInstallTubesElements then
begin
ComponSName := ctsnTube;
ElementSName := ctsnTubeElement;
end
else
begin
ComponSName := ctsnCableChannel;
ElementSName := ctsnCableChannelElement;
end;
try
SavedGConnecntOnlyOneLineCompon := GConnecntOnlyOneLineCompon;
GConnecntOnlyOneLineCompon := True;
@ -35673,10 +35656,7 @@ end;
begin
ConnectorComponent := AConnectorWithLines.ConnectorObject.SCSComponents[i];
if ConnectorComponent.ComeFrom = cftAuto then
//Tolik 07/03/2025 --
//if ConnectorComponent.ComponentType.SysName = ctsnCableChannelElement then
if ConnectorComponent.ComponentType.SysName = ElementSName then
//
if ConnectorComponent.ComponentType.SysName = ctsnCableChannelElement then
begin
CCESideCount := GetCCESideCount(ConnectorComponent);
JoinedCountToConnector := GetJoinedCountToComponWithChilds(ConnectorComponent);
@ -35685,10 +35665,7 @@ end;
(AConnectorWithLines.ConnectedLines.Count <> CCESideCount) then
begin
// Åñëè ýòî íå äîïîëíèòåëüíûé ýêê
//Tolik 07/03/2025 --
//JoinedComponent := GetJoinedComponWithType(ConnectorComponent, ctsnCableChannelElement);
JoinedComponent := GetJoinedComponWithType(ConnectorComponent, ElementSName);
//
JoinedComponent := GetJoinedComponWithType(ConnectorComponent, ctsnCableChannelElement);
if (JoinedComponent = nil) or (CCESideCount > GetCCESideCount(JoinedComponent)) then
CCEToDel.Add(ConnectorComponent); //DelCompon(ConnectorComponent, nil, true, true, true, false);
end;
@ -35704,10 +35681,7 @@ end;
while i <= ConnectorComponent.JoinedComponents.Count - 1 do
begin
JoinedComponent := ConnectorComponent.JoinedComponents[i];
//Tolik 07/03/2025 --
//if JoinedComponent.ComponentType.SysName = ctsnCableChannelElement then
if JoinedComponent.ComponentType.SysName = ElementSName then
//
if JoinedComponent.ComponentType.SysName = ctsnCableChannelElement then
begin
CCEToDel.Remove(JoinedComponent);
DelCompon(JoinedComponent, nil, true, true, true, false)
@ -35743,10 +35717,7 @@ end;
if assigned(LineObject.ComponentReferences) then
for j := 0 to LineObject.ComponentReferences.Count - 1 do
if Assigned(LineObject.ComponentReferences[j]) then
//Tolik 07/03/2025 -- ComponSName
//if LineObject.ComponentReferences[j].ComponentType.SysName = ctsnCableChannel then
if LineObject.ComponentReferences[j].ComponentType.SysName = ComponSName then
//
if LineObject.ComponentReferences[j].ComponentType.SysName = ctsnCableChannel then
if LineObject.ComponentReferences[j].GetInterfcesCountByTypeIsBusySide(itFunctional, biTrue, CurrLineSide) = 0 then
begin
CanalComponent := LineObject.ComponentReferences[j];

View File

@ -715,8 +715,7 @@ begin
AddSysNameTYoTable(ctsnConnectingModule, cMakeEditComponentType_Msg5_37);
AddSysNameTYoTable(ctsnTestingAccessory, cMakeEditComponentType_Msg5_38);
AddSysNameTYoTable(ctsnTube, cMakeEditComponentType_Msg5_39);
AddSysNameTYoTable(ctsnTubeElement,cMakeEditComponentType_Msg5_39_1);// Tolik 13/10/2018 --
AddSysNameTYoTable(ctsnWireTray,cMakeEditComponentType_Msg10); // Tolik 10/04/2025 -- Ëîòîê Ïðîâîëî÷íûé
AddSysNameTYoTable(ctsnTubeElement,cMakeEditComponentType_Msg5_39_1);// Tolik 13/10/2018 --
AddSysNameTYoTable(ctsnInstallBox, cMakeEditComponentType_Msg5_40);
AddSysNameTYoTable(ctsnCupboard, cMakeEditComponentType_Msg5_41);
AddSysNameTYoTable(ctsnJackPlug, cMakeEditComponentType_Msg5_42);

View File

@ -1708,7 +1708,7 @@ object F_MakeEditCrossConnection: TF_MakeEditCrossConnection
Left = 8
Top = 136
Bitmap = {
494C01010B002800B80010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
494C01010B002800700010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000003000000001002000000000000030
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000EF6B
@ -2140,7 +2140,7 @@ object F_MakeEditCrossConnection: TF_MakeEditCrossConnection
Left = 40
Top = 136
Bitmap = {
494C010105002800AC0010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
494C010105002800640010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000002000000001002000000000000020
0000000000000000000000000000000000000000000000000000000000004D4F
4F004D4F4F0000000000000000000000000000000000000000004D4F4F004D4F
@ -2415,7 +2415,7 @@ object F_MakeEditCrossConnection: TF_MakeEditCrossConnection
Left = 72
Top = 136
Bitmap = {
494C010105002800AC0010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
494C010105002800640010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000002000000001002000000000000020
0000000000000000000000000000000000000000000000000000000000004D4F
4F004D4F4F0000000000000000000000000000000000000000004D4F4F004D4F
@ -2728,7 +2728,7 @@ object F_MakeEditCrossConnection: TF_MakeEditCrossConnection
Left = 88
Top = 200
Bitmap = {
494C010105002800AC0010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
494C010105002800640010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000002000000001002000000000000020
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@ -3521,7 +3521,7 @@ object F_MakeEditCrossConnection: TF_MakeEditCrossConnection
Left = 576
Top = 344
Bitmap = {
494C010105002800A00010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
494C010105002800580010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000002000000001002000000000000020
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000949494005A5A5A00B5B5B500CECECE000000
@ -3796,7 +3796,7 @@ object F_MakeEditCrossConnection: TF_MakeEditCrossConnection
Left = 544
Top = 344
Bitmap = {
494C010105002800A00010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
494C010105002800580010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000002000000001002000000000000020
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000018F70000008400106BA5001094D6000000
@ -4071,7 +4071,7 @@ object F_MakeEditCrossConnection: TF_MakeEditCrossConnection
Left = 512
Top = 344
Bitmap = {
494C01010B002800A00010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
494C01010B002800580010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000003000000001002000000000000030
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000A5BDAD0094B5A50094ADA50094ADA500000000000000

View File

@ -159,7 +159,6 @@ object F_MakeNorm: TF_MakeNorm
Top = 16
Width = 81
Height = 21
AutoComplete = False
Ctl3D = False
FrameHotTrack = True
FrameVisible = True

View File

@ -694,10 +694,8 @@ end;
procedure TF_MakeNorm.CorrectCypher(var AMainCyper, ARestCypher: String);
var
//Tolik 20/02/2025
//WholeCypher: String;
WholeCypher: AnsiString;
//
WholeCypher: String;
KolvoZnak: array [0..5] of integer;
TempShifr: string;
@ -1052,110 +1050,6 @@ begin
FNormCypherTitles.Add('ÒÐ');
FNormCypherTitles.Add('ØÄ');
FNormCypherTitles.Add('Ó');
//Tolik 19/02/2025 --
FNormCypherTitles.Add('ÊÐ');
FNormCypherTitles.Add('ÊÌ');
FNormCypherTitles.Add('ÊÁ');
//
FNormCypherTitles.Add('ÊÂ');
FNormCypherTitles.Add('ÕÕ');
FNormCypherTitles.Add('ÂÌ');
FNormCypherTitles.Add('ÏÆ');
FNormCypherTitles.Add('ÒÅ');
FNormCypherTitles.Add('ËÓ');
FNormCypherTitles.Add('ÑË');
FNormCypherTitles.Add('ÆÊ');
FNormCypherTitles.Add('ÂÅ');
FNormCypherTitles.Add('ÒÃ');
FNormCypherTitles.Add('ÆÑ');
FNormCypherTitles.Add('ÒÏ');
FNormCypherTitles.Add('ÑÃ');
FNormCypherTitles.Add('ÅÂ');
FNormCypherTitles.Add('ÃÊ');
FNormCypherTitles.Add('ÄÅ');
FNormCypherTitles.Add('ÁÐ');
FNormCypherTitles.Add('ÐÌ');
FNormCypherTitles.Add('ÐÓ');
FNormCypherTitles.Add('ÑÐ');
FNormCypherTitles.Add('ÄÏ');
FNormCypherTitles.Add('ÃÁ');
FNormCypherTitles.Add('ÊÏ');
FNormCypherTitles.Add('ÊÃ');
FNormCypherTitles.Add('ÅÑ');
FNormCypherTitles.Add('ÅÌ');
FNormCypherTitles.Add('ÌÃ');
FNormCypherTitles.Add('ÑÀ');
FNormCypherTitles.Add('ÌÐ');
FNormCypherTitles.Add('ÕÁ');
FNormCypherTitles.Add('ÏÒ');
FNormCypherTitles.Add('ÖÃ');
FNormCypherTitles.Add('ÏÂ');
FNormCypherTitles.Add('ÕÔ');
FNormCypherTitles.Add('ÊÄ');
FNormCypherTitles.Add('ÊÅ');
FNormCypherTitles.Add('ÐÇ');
FNormCypherTitles.Add('ÌÑ');
FNormCypherTitles.Add('ÏÑ');
FNormCypherTitles.Add('ÄÐ');
FNormCypherTitles.Add('ÑÏ');
FNormCypherTitles.Add('ÂÂ');
FNormCypherTitles.Add('ÐÐ');
FNormCypherTitles.Add('ØÐ');
FNormCypherTitles.Add('ÎÍ');
FNormCypherTitles.Add('ÕÑ');
FNormCypherTitles.Add('ÔÔ');
FNormCypherTitles.Add('ÔÐ');
FNormCypherTitles.Add('ÀÏ');
FNormCypherTitles.Add('ÐÑ');
FNormCypherTitles.Add('ÁÒ');
FNormCypherTitles.Add('ÄÍ');
FNormCypherTitles.Add('ÑÄ');
FNormCypherTitles.Add('ÁÏ');
FNormCypherTitles.Add('×Â');
FNormCypherTitles.Add('ÐÀ');
FNormCypherTitles.Add('ÍÏ');
FNormCypherTitles.Add('ÓÂ');
FNormCypherTitles.Add('ÒÂ');
FNormCypherTitles.Add('ÑÓ');
FNormCypherTitles.Add('ÑÒ');
FNormCypherTitles.Add('ÎÃ');
FNormCypherTitles.Add('ÁÌ');
FNormCypherTitles.Add('ÀÌ');
FNormCypherTitles.Add('ÓÖ');
FNormCypherTitles.Add('ÓÁ');
FNormCypherTitles.Add('ÇÁ');
FNormCypherTitles.Add('ߨ');
FNormCypherTitles.Add('ÊÊ');
FNormCypherTitles.Add('ÌÒ');
FNormCypherTitles.Add('ÂÊ');
FNormCypherTitles.Add('ÔÍ');
FNormCypherTitles.Add('ÀÑ');
FNormCypherTitles.Add('ÑÂ');
FNormCypherTitles.Add('ÌÁ');
FNormCypherTitles.Add('ÌÓ');
FNormCypherTitles.Add('ËÄ');
FNormCypherTitles.Add('ÂÐ');
FNormCypherTitles.Add('ÓØ');
FNormCypherTitles.Add('ÁÄ');
FNormCypherTitles.Add('ÌÏ');
FNormCypherTitles.Add('ÃÌ');
FNormCypherTitles.Add('ËÁ');
FNormCypherTitles.Add('ÊË');
FNormCypherTitles.Add('ÄÁ');
FNormCypherTitles.Add('ÄÓ');
FNormCypherTitles.Add('ÏÐË');
FNormCypherTitles.Add('ÐÇË');
FNormCypherTitles.Add('ÒÌÌ');
FNormCypherTitles.Add('ÏÐÔ');
FNormCypherTitles.Add('ÂÁÐ');
FNormCypherTitles.Add('ÂÊÒ');
FNormCypherTitles.Add('ØÐÁ');
FNormCypherTitles.Add('ËÁÐ');
FNormCypherTitles.Add('ÖÃÏ');
//
FResMatCypherTitles := TStringList.Create;
FResMatCypherTitles.Add('Ñ1');

View File

@ -1,5 +1,6 @@
unit U_PECommon;
interface
uses
@ -217,10 +218,8 @@ begin
ListOfAllTraces := GetAllTraceInCADByMarked_New1(CurrentServer, CurrentWS)
else
ListOfAllTraces := GetAllTraceInCADByMarked(CurrentServer, CurrentWS);
//Tolik 21/01/2025 -- òóò âïîëíå ìîæåò âåðíóòüñÿ íóëåâîé ðåçóëüòàò (òèïà, nil)
//if ListOfAllTraces.Count > 0 then
if ((ListOfAllTraces <> nil) and (ListOfAllTraces.Count > 0)) then
//
if ListOfAllTraces.Count > 0 then
begin
//if GCadForm.FTracingListIndex > ListOfAllTraces.Count - 1 then
GCadForm.FTracingListIndex := 0;
@ -290,10 +289,8 @@ begin
end;
//ListOfAllTraces := GetAllTraceInCADByMarked(ConnTo, ConnFrom{ConnFrom, ConnTo});
ListOfAllTraces := GetAllTraceInCADByMarked(ConnFrom, ConnTo);
// Tolik 21/01/2025 --
//if ListOfAllTraces.Count > 0 then
if ((ListOfAllTraces <> nil) and (ListOfAllTraces.Count > 0)) then
//
if ListOfAllTraces.Count > 0 then
begin
//if GCadForm.FTracingListIndex > ListOfAllTraces.Count - 1 then
// GCadForm.FTracingListIndex := 0;
@ -678,9 +675,6 @@ begin
ListFolder := nil;
ListObject := nil;
isLastShield := False;
ListAllComponent := nil; // Tolik 21/01/2025 --
LastPoint := nil; // Tolik -- 16/09/2021 --
@ -1597,8 +1591,6 @@ begin
if EndPointComponList <> nil then
FreeAndNil(EndPointComponList);
//
if ListAllComponent <> nil then
FreeAndNil(ListAllComponent); //Tolik 21/01/2025 --
end;
//GCanRefreshCad := True;
GCadForm.PCad.Refresh;
@ -1607,7 +1599,7 @@ end;
procedure PE_AutoTrace(ATypeAutoTrace: integer; AEndList, AWorkList: TList);
var
ListShield: tList;
//vLists: TList;
vLists: TList;
begin
if F_NormBase.GSCSBase.SCSComponent.ComponentType.SysName = ctsnCable then
begin
@ -1627,7 +1619,6 @@ begin
tatIndivid: LIstShield := AutoTraseToShield(AWorkList, AEndList, True);
end;
FreeAndNil(ListShield); //Tolik 20/1/2025 --
end;
// EndAutoTrace;
end;
@ -2784,17 +2775,9 @@ end;
inc(k);
SetLength(TraceList, k);
TraceList[k - 1] := TracesLength;
//Tolik 21/01/2025 -+
//FreeAndNil(CurrPathList);
//FreeAndNil(currPath);
//
FreeAndNil(CurrPathList);
FreeAndNil(currPath);
end;
//Tolik 21/01/2025
for j := 0 to CurrPathList.Count - 1 do
TList(CurrPathList[j]).Free;
FreeAndNil(CurrPathList);
currPath := nil;
//
end
end;
end;
@ -2923,15 +2906,15 @@ end;
end;
end;
Begin
//ComponList := TList.Create; // Tolik 21/01/2025 --ýòè 2 ñïèñêà âðîäå êàê íå þçàþòñÿ çäåñü
//ComponList1 := TList.Create;
currPath:= nil; //Tolik 21/01/2025 --
ComponList := TList.Create;
ComponList1 := TList.Create;
IdCable := F_NormBase.GSCSBase.SCSComponent.ID;
if AFigList.Count > 0 then
begin
SortFigList(AFigList, LengthsList);
end;
//PassList := TList.Create; // Tolik 21/01/2025 -- íå þçàåòñÿ çäåñü
PassList := TList.Create;
SetLength(LenList, 0);
//connect First Figure To Server
Figure := TFigure(AFigList[0]);
@ -2979,10 +2962,7 @@ end;
for i := 0 to AFigList.Count - 1 do
begin
currPathList := GetAllTraceInCADByMarked(Figure, TFigure(aFigList[i]));
//Tolik 21/01/2025 --
//if currPathList.Count > 0 then
if ((currPathList <> nil) and (currPathList.Count > 0)) then
//
if currPathList.Count > 0 then
begin
SortPathListByLength(CurrPathList);
currPathsToFigure.Add(currPathList[0]);
@ -3029,7 +3009,6 @@ end;
currPath:= nil;
currPathsToFigure.Clear;
end;
FreeAndNil(currPathsToFigure); // Tolik 21/01/2025 --
if not F_PEAutoTraceDialog.CheckPassedTraces.Checked then
// Tolik 20/02/2021 --
{
@ -3054,24 +3033,15 @@ end;
currPath := GetPathByMode(CurrPathList); //currPathList[0];
// âîçâðàò ê íà÷àëüíîé òî÷êå ïîäêëþ÷åíèÿ
//Tolik 21/05/2025 --
{
if F_PEAutoTraceDialog.TypeConnection.ItemIndex = 1 then
CanConnect := ConnectFigures(TConnectorObject(Figure), CurrentServer, currPath, IDCable);
}
if F_NormBase.GSCSBase.SCSComponent.IDNetType <> 3 then //çäåñü äëÿ ýëåêòðèêè îáðàòíûé êàáåëü íå ëîæèì (íî ëàçåéêó äëÿ òðàññèðîâêè îñòàâëÿåì)
begin
if F_PEAutoTraceDialog.TypeConnection.ItemIndex = 1 then
CanConnect := ConnectFigures(TConnectorObject(Figure), CurrentServer, currPath, IDCable);
end;
//
CanConnect := ConnectFigures(TConnectorObject(Figure), CurrentServer, currPath, IDCable);
if F_PEAutoTraceDialog.CheckPassedTraces.Checked then
CheckPassedPath(currPath);
if currPathList <> nil then
FreeAndNil(currPathList);
if currPath <> nil then
FreeAndNil(currPath);
SetLength(LenList, 0); // Tolik 21/01/2025 --
End;
{ procedure GetServerCompons(aNode : TFlyNode);
@ -3386,7 +3356,6 @@ begin
// èáî íåõ
{ if WSSideCompons.IndexOf(CurrentServer.ID) = -1 then
begin}
CurrFiguresList := TraceFiguresToServer(CurrentServer);
if ((CurrFiguresList <> nil) and (CurrFiguresList.Count > 0)) then
@ -3428,12 +3397,7 @@ begin
FreeAndNil(AllPassedTraces);
if ConnectedComponList <> nil then
FreeAndNil(ConnectedComponList);
// GDragOnCAD := false;
//Tolik 20/01/2025 --
FreeAndNil(CurrFiguresList);
FreeAndNil(currPathList);
FreeAndNil(CurrPath);
//
// GDragOnCAD := false;
end;
end;
//
@ -3880,7 +3844,7 @@ begin
try
Result := False;
AllTrace := Nil;
//CurrTraceList := Nil; //20/01/2025
CurrTraceList := Nil;
CurrTraceList := TList.Create;
//if ACurrPoint.ConnectorType = ct_Clear then
// begin
@ -7884,9 +7848,6 @@ var
begin
try
if WayList <> nil then
FreeAndNil(WayList);//Tolik 20/01/2025 --
DistanceList := TList.Create;
For i := 0 to AStartIndex - 1 do
DistanceList.Add(Nil);
@ -7899,19 +7860,11 @@ var
OperFigure := TConnectorObject(AWorkFigures[i]);
for Count := 0 to OperFigure.JoinedConnectorsList.Count - 1 do
begin
//Tolik 20/01/2025 --
{
WayList := Nil;
}
WayList := GetAllTracePEInCADforLamp(AEndObjects, Operfigure, true);
if WayList <> nil then
begin
//
operdist := TotalLength(WayList);
if ((operdist <> -1) and(operdist < distance)) or (distance = -1) then
distance := operdist;
FreeAndNil(WayList); // Tolik 20/01/2025 --
end;
operdist := TotalLength(WayList);
if ((operdist <> -1) and(operdist < distance)) or (distance = -1) then
distance := operdist;
end;
if i = 0 + AStartIndex then
begin

Binary file not shown.