*-------------------------------------------------------------------------------------------------------------------------------------------------------- * (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! *-------------------------------------------------------------------------------------------------------------------------------------------------------- *< FOXBIN2PRG: Version="1.21" SourceFile="importdata.vcx" CPID="1250" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) * * DEFINE CLASS frm_import AS _frmbase OF "_frm_base.vcx" *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder *< OBJECTDATA: ObjPath="clb_tx_fisier" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="grdOriginal" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="grdOriginal.cColumn.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="grdOriginal.cColumn.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="grdImport" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="grdImport.cColumn.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="grdImport.cColumn.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="grdImport.cColumnImport.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="grdImport.cColumnImport._cbbase1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_precedent1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_urmator1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="grdTabel" UniqueID="" Timestamp="" /> * *p: cfile * * cfile = DoCreate = .T. Height = 455 Name = "frm_import" Width = 626 WindowState = 2 _SHAPE1.Anchor = 10 _SHAPE1.Height = 29 _SHAPE1.Left = 0 _SHAPE1.Name = "_SHAPE1" _SHAPE1.Top = 0 _SHAPE1.Width = 630 _SHAPE2.Left = 276 _SHAPE2.Name = "_SHAPE2" _SHAPE2.Top = 0 _SHAPE2.Visible = .F. LB_TITLU_ALB_B121.Caption = "Import" LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" LB_TITLU_ALB_B121.TabIndex = 10 BUT_TERMIN1.Anchor = 8 BUT_TERMIN1.Left = 596 BUT_TERMIN1.Name = "BUT_TERMIN1" BUT_TERMIN1.TabIndex = 8 BUT_TERMIN1.Top = 1 Gridsort1.Name = "Gridsort1" * ADD OBJECT 'But_precedent1' AS but_precedent WITH ; Left = 232, ; Name = "But_precedent1", ; Picture = ..\grafice\precedent1.bmp, ; TabIndex = 6, ; Top = 180 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'But_renunt1' AS but_renunt WITH ; Anchor = 8, ; Left = 566, ; Name = "But_renunt1", ; TabIndex = 9, ; Top = 1 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'But_urmator1' AS but_urmator WITH ; Left = 232, ; Name = "But_urmator1", ; TabIndex = 5, ; Top = 150 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'clb_tx_fisier' AS clb_tx_simplu WITH ; Height = 29, ; Left = 12, ; Name = "clb_tx_fisier", ; TabIndex = 1, ; Top = 48, ; Width = 395, ; TEXT_SIMPLU1.ControlSource = "thisform.cFile", ; TEXT_SIMPLU1.Height = 23, ; TEXT_SIMPLU1.Left = 50, ; TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; TEXT_SIMPLU1.Top = 3, ; TEXT_SIMPLU1.Width = 340, ; LB_SIMPLU1.Caption = "Fisier", ; LB_SIMPLU1.Name = "LB_SIMPLU1" *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; Caption = "...", ; Height = 27, ; Left = 413, ; Name = "Cmd_cauta1", ; TabIndex = 2, ; Top = 48, ; Width = 39 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; Left = 468, ; Name = "Cmd_executa1", ; TabIndex = 3, ; Top = 48 *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> ADD OBJECT 'grdImport' AS _grdrow WITH ; ColumnCount = 2, ; DeleteMark = .F., ; Height = 201, ; Left = 264, ; Name = "grdImport", ; Panel = 1, ; RecordSource = "crsTabelaImport", ; TabIndex = 7, ; Top = 87, ; Width = 354, ; Column1.ControlSource = "column_name", ; Column1.Name = "cColumn", ; Column1.Width = 187, ; Column2.ControlSource = "column_import", ; Column2.Name = "cColumnImport", ; Column2.Sparse = .F., ; Column2.Width = 134 *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> ADD OBJECT 'grdImport.cColumn.Header1' AS header WITH ; Alignment = 2, ; Caption = "Coloana", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'grdImport.cColumn.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'grdImport.cColumnImport._cbbase1' AS _cbbase WITH ; BorderStyle = 0, ; ControlSource = "column_import", ; Left = 41, ; Name = "_cbbase1", ; RowSource = "crsCols.Column_Name", ; RowSourceType = 2, ; Top = 23 *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> ADD OBJECT 'grdImport.cColumnImport.Header1' AS header WITH ; Alignment = 2, ; Caption = "Coloana Import", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'grdOriginal' AS _grdrow WITH ; ColumnCount = 1, ; DeleteMark = .F., ; Height = 201, ; Left = 12, ; Name = "grdOriginal", ; Panel = 1, ; RecordSource = "crsTabelaOriginala", ; TabIndex = 4, ; Top = 87, ; Width = 219, ; Column1.ControlSource = "column_name", ; Column1.Name = "cColumn", ; Column1.Width = 187 *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> ADD OBJECT 'grdOriginal.cColumn.Header1' AS header WITH ; Alignment = 2, ; Caption = "Coloana", ; Name = "Header1" *< END OBJECT: BaseClass="header" /> ADD OBJECT 'grdOriginal.cColumn.Text1' AS textbox WITH ; BackColor = 255,255,255, ; BorderStyle = 0, ; ForeColor = 0,0,0, ; Margin = 0, ; Name = "Text1" *< END OBJECT: BaseClass="textbox" /> ADD OBJECT 'grdTabel' AS _grdrow WITH ; Anchor = 15, ; Height = 144, ; Left = 17, ; Name = "grdTabel", ; Panel = 1, ; ReadOnly = .F., ; RecordSource = "", ; TabIndex = 7, ; Top = 303, ; Width = 602 *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> PROCEDURE Destroy IF USED('crsTabelaOriginala') USE IN crsTabelaOriginala ENDIF IF USED('crsTabelaImport') USE IN crsTabelaImport ENDIF IF USED('crsCols') USE IN crsCols ENDIF IF USED('fisImport') USE IN fisImport ENDIF ENDPROC PROCEDURE do_cauta CD c:\ this.cFile = GETFILE('dbf','Selectati','Fisier',0,'Selectati fisierul de import') this.clb_tx_fisier.Refresh() ENDPROC PROCEDURE do_executa LOCAL lcFile lcFile = ALLTRIM(this.cFile) IF EMPTY(lcFile) RETURN ENDIF IF !FILE(lcFile) aMESSAGEBOX('Nu exista fisierul ' +_lcFile,0+48,_screen.Caption) RETURN ENDIF IF USED('fisImport') USE IN fisImport ENDIF USE (lcFile) IN 0 SHARED ALIAS fisImport DELETE FROM crsTabelaImport DELETE FROM crsTabelaOriginala SELECT fisImport lnColumns = FCOUNT('fisImport') FOR i = 1 TO lnColumns lcColumn = FIELD(i) INSERT INTO crsTabelaOriginala (column_name) VALUES (lcColumn) ENDFOR SELECT crsTabelaOriginala GO TOP this.LockScreen = .T. this.grdTabel.RecordSource="" this.grdTabel.ColumnCount = -1 this.grdTabel.RecordSource="fisimport" this.LockScreen = .F. this.grdTabel.Refresh() this.grdImport.Refresh() this.grdOriginal.Refresh() this.grdOriginal.SetFocus() ENDPROC PROCEDURE do_precedent llSucces = .T. lcColumn = UPPER(ALLTRIM(crsTabelaImport.column_name)) IF EMPTY(lcColumn) llSucces = .F. ENDIF DELETE FROM crsTabelaImport WHERE UPPER(ALLTRIM(column_name)) = lcColumn this.grdImport.SetFocus() ENDPROC PROCEDURE do_urmator llSucces = .T. lcColumn = UPPER(ALLTRIM(crsTabelaOriginala.column_name)) IF EMPTY(lcColumn) llSucces = .F. ENDIF IF llSucces SELECT column_name FROM crsTabelaImport WHERE UPPER(ALLTRIM(column_name)) = lcColumn INTO CURSOR crsTemp IF _tally = 1 llSucces = .F. ENDIF IF USED('crsTemp') USE IN crsTemp ENDIF ENDIF IF llSucces INSERT INTO crsTabelaImport (column_name) VALUES (lcColumn) ENDIF this.grdImport.SetFocus() ENDPROC PROCEDURE inainte_de_do_termin LOCAL llSucces llSucces = .F. SELECT column_import, COUNT(*) as nr FROM crsTabelaImport GROUP BY column_import HAVING nr > 1 INTO CURSOR crsTemp IF _tally > 0 SELECT crsTemp GO TOP lcColoana = ALLTRIM(column_import) aMESSAGEBOX('Alegeti alta coloana de import pentru ' + lcColoana) ELSE llSucces = .T. ENDIF USE IN crsTemp *!* lcCreateCursor = [SELECT ] lcSelect = [] SELECT crsTabelaImport SCAN lcColumn = UPPER(ALLTRIM(column_name)) *!* SELECT crsCols *!* LOCATE FOR UPPER(ALLTRIM(column_name)) = lcColumn *!* IF !FOUND() *!* LOOP *!* ENDIF lcColumnName = UPPER(ALLTRIM(column_IMPORT)) *!* lcColumnType = UPPER(ALLTRIM(column_type)) *!* lnColumnSize1 = column_size1 *!* lnColumnSize2 = column_size2 *!* lcCreateCursor = lcCreateCursor + lcColum + [ ] + lcColumnType + ; *!* IIF(!EMPTY(lnColumnSize1),[(] + ALLTRIM(STR(lnColumnSize1)) + IIF(!EMPTY(lnColumnSize2),[,]+ALLTRIM(STR(lnColumnSize2))+[)],[]) + [)],[]) + [,] lcSelect = lcSelect + lcColumn + [ as ] + lcColumnName + [,] ENDSCAN IF RIGHT(lcSelect,1) = [,] lcSelect = LEFT(lcSelect, LEN(lcSelect) - 1) ENDIF llUsed = .T. IF !USED('fisImport') llUsed = .F. lcFile = ALLTRIM(this.cFile) USE (lcFile) IN 0 SHARED ALIAS fisImport ENDIF IF EMPTY(lcSelect) lcSelect = [ * ] ENDIF lcSelect = [SELECT ] + lcSelect + [ from fisImport into cursor crsReturn] &lcSelect IF !llUsed IF USED('fisImport') USE IN fisImport ENDIF ENDIF RETURN llSucces ENDPROC PROCEDURE Load CREATE CURSOR crsTabelaOriginala (column_name c(100)) SELECT column_name,SPACE(100) as column_import FROM crsTabelaOriginala INTO CURSOR crsTabelaImport READWRITE CREATE CURSOR crsCols (column_name c(100), column_type c(1), column_size1 n(10), column_size2 n(10)) INSERT INTO crsCols (column_name, column_type, column_size1, column_size2) VALUES ('SCD', 'C', 4, 0) INSERT INTO crsCols (column_name, column_type, column_size1, column_size2) VALUES ('ASCD', 'C', 4, 0) INSERT INTO crsCols (column_name, column_type, column_size1, column_size2) VALUES ('SCC', 'C', 4, 0) INSERT INTO crsCols (column_name, column_type, column_size1, column_size2) VALUES ('ASCC', 'C', 4, 0) INSERT INTO crsCols (column_name, column_type, column_size1, column_size2) VALUES ('SUMA', 'N', 20, 4) INSERT INTO crsCols (column_name, column_type, column_size1, column_size2) VALUES ('EXPLICATIA', 'C', 30, 0) ENDPROC ENDDEFINE