Copy Source | Copy HTML<br/>procedure TForm2.SetSpc (Nk:Integer; SSpec: String );<br/> var <br/> spc: ksSpecification;<br/> iter: ksIterator;<br/> obj, columnType, ispoln, blok: LongInt;<br/> count: Integer;<br/> spcColPar: ksSpcColumnParam;<br/> buf: string ;<br/>begin<br/> <br/> spc := ksSpecification(doc3d.GetSpecification); // . <br/> if spc = nil then exit;<br/> <br/> iter := ksIterator( kompas.GetIterator() ); // <br/> iter.ksCreateSpcIterator( '' , 0 , 0 ); // <br/> if iter.Reference <> 0 then begin // <br/> obj := iter.ksMoveIterator( 'F' ); // <br/> // <br/> count := spc.ksGetSpcTableColumn( '' , 0 , 0 );<br/> //kompas.ksMessage( Format( '- = %d', [ count ] ) ); // <br/> <br/> spcColPar := ksSpcColumnParam( kompas.GetParamStruct(ko_SpcColumnParam) );<br/> if spcColPar<>nil then<br/> if spc.ksGetSpcColumnType( obj, // <br/> 4 , // , 1, <br/> spcColPar ) <> 0 then begin <br/> // , "" <br/> columnType := spcColPar.columnType; <br/> ispoln := spcColPar.ispoln;<br/> blok := spcColPar.block;<br/> // ( , ) <br/> buf := spc.ksGetSpcObjectColumnText( obj, columnType , ispoln, blok );<br/> <br/> //kompas.ksMessage( buf ); //, ( ) <br/> spc.ksSpcObjectEdit(obj); // . <br/> if spc.ksSetSpcObjectColumnText(columnType,ispoln, blok , SSpec)<> 1 then<br/> ShowMessage( ' ' ); // <br/> spc.ksSpcObjectEnd(); // <br/> //buf := spc.ksGetSpcObjectColumnText( obj, columnType , ispoln, blok ); <br/> //kompas.ksMessage( buf ); // ( ) <br/> end;<br/> <br/> //obj := iter.ksMoveIterator( 'N' ); // <br/> // <br/> end;<br/>end;<br/> <br/>
Copy Source | Copy HTML<br/> if Kompas = nil then begin<br/> {$IFDEF __LIGHT_VERSION__}<br/> Kompas:= KompasObject( CreateOleObject( 'KompasLT.Application.5' ) );<br/> {$ELSE}<br/> Kompas:= KompasObject( CreateOleObject( 'Kompas.Application.5' ) );<br/> {$ENDIF}<br/> if Kompas <> nil then Kompas.Visible := true ;<br/>end;<br/> <br/>doc2d:= ksDocument2D( kompas.Document2D );<br/> if FileIsThere(Path+ '\'+FileName) then <br/> doc2d.ksOpenDocument(Path+' \ '+FileName,false) // <br/> else Kompas.ksMessage(' - '+FileName); <br/>
Copy Source | Copy HTML<br/>function TForm2.DrawWD: Boolean ;<br/> var Iter: ksIterator;<br/> param:ksDimTextParam;<br/> iDimParams : ksLDimParam; // <br/> arr:ksDynamicArray;<br/> textLine : ksTextLineParam;<br/> textItem : ksTextItemParam;<br/> i, ref :Integer;<br/> kStr:ksChar255; // )) <br/>begin<br/> Result:=False;<br/> Iter:=ksIterator(Kompas.GetIterator); // <br/> If Iter.ksCreateIterator(LDIMENSION_OBJ, 0 )=False then exit;<br/> // <br/> <br/> ref :=Iter.ksMoveIterator( 'F' );<br/> if Doc2.ksExistObj( ref )= 1 then<br/> repeat // <br/> <br/> iDimParams := ksLDimParam(Kompas.GetParamStruct(ko_LDimParam));<br/> textLine := ksTextLineParam( kompas.GetParamStruct( ko_TextLineParam) );<br/> textItem := ksTextItemParam( kompas.GetParamStruct(ko_TextItemParam) );<br/> if ( (iDimParams = nil) Or (textLine = nil) Or (textItem = nil) ) then Exit;<br/> Doc2.ksGetObjParam( ref , iDimParams, ALLPARAM); // <br/> param := ksDimTextParam( iDimParams.GetTPar ); // <br/> if param = nil then Exit;<br/> arr := ksDynamicArray( param.GetTextArr ); // <br/> if arr = nil then Exit;<br/> <br/> kStr:=ksChar255(kompas.GetParamStruct(ko_Char255));<br/> for I := 0 to arr.ksGetArrayCount - 1 do begin // <br/> arr.ksGetArrayItem(i,kStr);<br/> <br/> if '<L1>' =kStr.str then kStr.str:=Format( '%1.1f' ,[L1]);<br/> if '<L2>' =kStr.str then kStr.str:=Format( '%1.1f' ,[L2]);<br/> if '<L3>' =kStr.str then kStr.str:=Format( '%1.0f' ,[L3]);<br/> <br/> if '<D1>' =kStr.str then kStr.str:=Format( '%1.0f' ,[D1]);<br/> if '<D2>' =kStr.str then kStr.str:=Format( '%1.0f' ,[D2]);<br/> if '<D3>' =kStr.str then kStr.str:=Format( '%1.1f' ,[D3]);<br/> // (/) Format() <br/> <br/> arr.ksSetArrayItem(i,kStr); // <br/> end;<br/> <br/> param.SetTextArr(arr); // <br/> iDimParams.SetTPar(param); // <br/> <br/> doc2.ksSetObjParam( ref ,iDimParams,ALLPARAM); // . <br/> <br/> ref :=Iter.ksMoveIterator( 'N' );<br/> until Doc2.ksExistObj( ref )= 0 ;<br/> Iter.ksDeleteIterator;<br/> <br/> doc2.ksRebuildDocument;<br/> Result:=True;<br/>end;<br/> <br/>
Copy Source | Copy HTML<br/>uses ShellApi;<br/> <br/>function CopyDir( const fromDir, toDir: string ): Boolean ;<br/> var <br/> fos: TSHFileOpStruct;<br/>begin<br/> ZeroMemory(@fos, SizeOf(fos));<br/> with fos do <br/> begin<br/> wFunc := FO_COPY;<br/> fFlags := FOF_FILESONLY;<br/> pFrom := PChar(fromDir + # 0 );<br/> pTo := PChar(toDir)<br/> end;<br/> Result := ( 0 = ShFileOperation(fos));<br/>end; <br/>
Source: https://habr.com/ru/post/92361/
All Articles