Re: [U2] Quick Poll - N-tier Architecture
We just got started with Adobe ColdFusion and Adobe FlashBuilder 4. ColdFusion is Java-based, has JEE built-in and now includes Hibernate ORM. It is easy to connect to UniVerse and to the other SQL databases that we have here. FlashBuilder-- CF9 -- UniVerse Browser + -- -- UniObjects DeskTop (Adobe Air) -- MS-SQL I am rather excited about CF9. --Bill -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Baker Hughes Sent: Thursday, April 08, 2010 1:16 PM To: 'U2 Users List' Subject: [U2] Quick poll - how many use 3-tier or N-tier Architecture Would those of you mind responding that use 3-Tier or N-Tier architecture - I'm trying to gather some quick numbers for some decision makers (somewhat urgent). Please respond if your site, or sites who you service have UniData, UniVerse, or any other MV db on the backend, and any fully graphical user interface: a. How many have a middle-tier application server? b. How many use IBM Websphere? c. How many use some other? Please give product name if you can. d. How many have a Java front end User Interface? e. How many have a C# front end User Interface? f. How many have other UI? Please give name. For anyone - what Multi-Value aware / friendly middleware products are there? (That don't require data normalization before sending to the middleware.) Thank you so much, -Baker This communication, its contents and any file attachments transmitted with it are intended solely for the addressee(s) and may contain confidential proprietary information. Access by any other party without the express written permission of the sender is STRICTLY PROHIBITED. If you have received this communication in error you may not copy, distribute or use the contents, attachments or information in any way. Please destroy it and contact the sender. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] import data to excel sheet...
Can anyone tell me what is wrong with the following code for importing data from txt file to an excel sheet, when its launch Excel it giving some error message, but when I open the downloaded file from my disc, all the data is in one line with some especial Chars. Any help will be appreciated. 034: ** 035: * OPEN FILES * 036: ** 037: ERRMSG = '' 038: OPEN TEXT.FILE.NAME TO TEXT.FILE ELSE 039: ERRMSG = 'CANNOT OPEN THE ' : TEXT.FILE.NAME : ' FILE!' 040: END 041: IF ERRMSG THEN 042: GOSUB 91000 043: RETURN 044: END *--: P 045: ** 046: * INITIALIZE * 047: ** 048: PAGE.FEED = CHAR(12) 049: LINE.FEED = CHAR(13) 050: ;* 051: ;* Read the text file to convert 052: ;* 053: READ TEXT.REC FROM TEXT.FILE, TEXT.REC.NAME ELSE 054: ERRMSG = ITEM : TEXT.REC.NAME : DOES NOT EXIST IN : TEXT.FILE.NA ME 055: GOSUB 91000 056: RETURN 057: END 058: ;* 059: ;* Set default values (none are used now) 060: ;* 061: VALUE = DEFAULT 062: LOCATE PROPERTY IN FORMATSTR1 SETTING PTR THEN 063: VALUE = FORMATSTR2,PTR 064: END 065: ;* 066: ;* Remove the first line if it contains a PAGE.FEED *--: P 067: ;* 068: LOOP WHILE TEXT.REC1 = PAGE.FEED DO 069: TEXT.REC = DELETE(TEXT.REC,1) 070: REPEAT 071: IF TEXT.REC1[1,1] = PAGE.FEED THEN 072: TEXT.REC1 = TEXT.REC1[2,LEN(TEXT.REC)] 073: END 074: ;* 075: ;* Find the header for each page 076: ;* 077: SLK.REC = '' 078: SLK.ROWS = 0 079: SLK.HEADER.LINES = 0 080: IF TEXT.REC1[1,10] = RUN D - T: THEN 081: SLK.REC-1 = F;SD;R3 082: SLK.REC-1 = F;SD;R4 083: SLK.REC-1 = C;Y1;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC1[1,30],';',';; '))) 084: SLK.REC-1 = C;Y2;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC2[1,30],';',';; '))) 085: SLK.REC-1 = C;Y3;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC1[31,90],';','; ;'))) 086: SLK.REC-1 = C;Y4;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC2[31,90],';','; ;'))) 087: SLK.ROWS = 4 088: SLK.HEADER.LINES = 2 *--: P 089: END 090: ;* 091: ;* Find the number of lines in the header 092: ;* 093: LINES = DCOUNT(TEXT.REC,@AM) 094: SLK.HEADER.CNT = 0 095: FOR IDX = SLK.HEADER.LINES+1 TO LINES 096: IF INDEX(TEXT.RECIDX,---,1) THEN 097: SLK.HEADER.CNT = IDX 098: EXIT 099: END 100: NEXT IDX 101: ;* 102: ;* Find the column locations 103: ;* 104: COL.LIST = '' 105: IF SLK.HEADER.CNT THEN 106: DASHES.LINE = : TEXT.RECSLK.HEADER.CNT : 107: DASHES.LINE = TRIM(DASHES.LINE,'-') 108: DASHES.CNT = COUNT(DASHES.LINE,'-') 109: DASHES.LINE = TEXT.RECSLK.HEADER.CNT 110: FOR DASHES.IDX = 1 TO DASHES.CNT *--: P 111: COL.START = INDEX(DASHES.LINE,'-',1) 112: DASHES.REMAIN = LEN(DASHES.LINE) - COL.START + 1 113: COL.LEN = INDEX(DASHES.LINE[DASHES.REMAIN],' ',1)-1 114: IF COL.LEN 1 THEN COL.LEN = LEN(DASHES.LINE) 115: COL.LISTDASHES.IDX,1 = COL.START 116: COL.LISTDASHES.IDX,2 = COL.LEN 117: DASHES.LINE[COL.START,COL.LEN] = SPACE(COL.LEN) 118: NEXT DASHES.IDX 119: END 120: ;* 121: ;* Extract the column titles 122: ;* 123: COL.CNT = DCOUNT(COL.LIST,@AM) 124: FOR HDR.IDX = SLK.HEADER.LINES+1 TO SLK.HEADER.CNT-1 125: SLK.ROWS = SLK.ROWS + 1 126: SLK.Y = Y : SLK.ROWS : ; 127: ;* 128: ;* Make sure the header properly fits into the column 129: ;* If it does not, then add it to the spreadsheet's first column 130: ;* 131: CHECK.LINE = TEXT.RECHDR.IDX 132: GOSUB CHECK.COLUMNS *--: P 133: IF NOT(CHECK.LINE) THEN 134: SLK.TEXT = TRIM(CHANGE(TEXT.RECHDR.IDX,';',';;')) 135: SLK.REC-1 = C; : SLK.Y : X1;K : QUOTE(SLK.TEXT) 136: CONTINUE 137: END 138: ;* 139: ;* The header fits, so add it to the column names 140: ;* 141: IF HDR.IDX = SLK.HEADER.CNT-1 THEN 142: SLK.REC-1 = F;SBD;R : SLK.ROWS 143: END ELSE 144: SLK.REC-1 = F;SD;R : SLK.ROWS 145: END 146: FOR COL.IDX = 1 TO COL.CNT 147: COL.START = COL.LISTCOL.IDX,1 148: COL.LEN = COL.LISTCOL.IDX,2 149: SLK.X = X : COL.IDX : ; 150: SLK.TEXT = TEXT.RECHDR.IDX[COL.START,COL.LEN] 151: SLK.TEXT = TRIM(CHANGE(SLK.TEXT,';',';;')) 152: IF SLK.TEXT # '' THEN 153: SLK.REC-1 = C; : SLK.Y : SLK.X : K : QUOTE(SLK.TEXT) 154: SLK.Y = '' *--: P 155: END 156: NEXT COL.IDX 157: NEXT HDR.IDX 158: ;* 159: ;* Begin conversion 160: ;* 161: LINES = DCOUNT(TEXT.REC,@AM) 162: FOR IDX = SLK.HEADER.CNT+1 TO LINES 163: ;* 164: ;* Check for a pagefeed, otherwise insert the next row of data 165: ;* 166: FINDSTR PAGE.FEED IN TEXT.RECIDX SETTING NEW.PAGE.MARKER THEN 167: IDX = IDX + SLK.HEADER.CNT 168: CONTINUE 169: END 170: SLK.ROWS = SLK.ROWS + 1 171: SLK.Y = Y :
[U2] Looking for a Job.....
Hi everyone, I have around 9yrs of experience on Unidata, Pick Basic, Unibasic, Redback and other technologies like ASP.Net, C# and XML. I am currently leading a offshore team in India and now looking for a change. I am looking a job near Dallas, Texas. Thanks Jaweed ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] import data to excel sheet...
Hi Jaweed, I haven't looked too closely at your code, but I did notice on thing that I would consider the most likely candidate: CHAR(13) is a carriage return, not a line feed. Try using CHAR(10) instead for your LINE.FEED variable. You might have to use CHAR(13):CHAR(10), but I think CHAR(10) should do it. Good luck! -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jaweed Sent: Monday, April 12, 2010 7:53 AM To: u2-users@listserver.u2ug.org Subject: [U2] import data to excel sheet... Can anyone tell me what is wrong with the following code for importing data from txt file to an excel sheet, when its launch Excel it giving some error message, but when I open the downloaded file from my disc, all the data is in one line with some especial Chars. Any help will be appreciated. 034: ** 035: * OPEN FILES * 036: ** 037: ERRMSG = '' 038: OPEN TEXT.FILE.NAME TO TEXT.FILE ELSE 039: ERRMSG = 'CANNOT OPEN THE ' : TEXT.FILE.NAME : ' FILE!' 040: END 041: IF ERRMSG THEN 042: GOSUB 91000 043: RETURN 044: END *--: P 045: ** 046: * INITIALIZE * 047: ** 048: PAGE.FEED = CHAR(12) 049: LINE.FEED = CHAR(13) 050: ;* 051: ;* Read the text file to convert 052: ;* 053: READ TEXT.REC FROM TEXT.FILE, TEXT.REC.NAME ELSE 054: ERRMSG = ITEM : TEXT.REC.NAME : DOES NOT EXIST IN : TEXT.FILE.NA ME 055: GOSUB 91000 056: RETURN 057: END 058: ;* 059: ;* Set default values (none are used now) 060: ;* 061: VALUE = DEFAULT 062: LOCATE PROPERTY IN FORMATSTR1 SETTING PTR THEN 063: VALUE = FORMATSTR2,PTR 064: END 065: ;* 066: ;* Remove the first line if it contains a PAGE.FEED *--: P 067: ;* 068: LOOP WHILE TEXT.REC1 = PAGE.FEED DO 069: TEXT.REC = DELETE(TEXT.REC,1) 070: REPEAT 071: IF TEXT.REC1[1,1] = PAGE.FEED THEN 072: TEXT.REC1 = TEXT.REC1[2,LEN(TEXT.REC)] 073: END 074: ;* 075: ;* Find the header for each page 076: ;* 077: SLK.REC = '' 078: SLK.ROWS = 0 079: SLK.HEADER.LINES = 0 080: IF TEXT.REC1[1,10] = RUN D - T: THEN 081: SLK.REC-1 = F;SD;R3 082: SLK.REC-1 = F;SD;R4 083: SLK.REC-1 = C;Y1;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC1[1,30],';',';; '))) 084: SLK.REC-1 = C;Y2;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC2[1,30],';',';; '))) 085: SLK.REC-1 = C;Y3;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC1[31,90],';','; ;'))) 086: SLK.REC-1 = C;Y4;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC2[31,90],';','; ;'))) 087: SLK.ROWS = 4 088: SLK.HEADER.LINES = 2 *--: P 089: END 090: ;* 091: ;* Find the number of lines in the header 092: ;* 093: LINES = DCOUNT(TEXT.REC,@AM) 094: SLK.HEADER.CNT = 0 095: FOR IDX = SLK.HEADER.LINES+1 TO LINES 096: IF INDEX(TEXT.RECIDX,---,1) THEN 097: SLK.HEADER.CNT = IDX 098: EXIT 099: END 100: NEXT IDX 101: ;* 102: ;* Find the column locations 103: ;* 104: COL.LIST = '' 105: IF SLK.HEADER.CNT THEN 106: DASHES.LINE = : TEXT.RECSLK.HEADER.CNT : 107: DASHES.LINE = TRIM(DASHES.LINE,'-') 108: DASHES.CNT = COUNT(DASHES.LINE,'-') 109: DASHES.LINE = TEXT.RECSLK.HEADER.CNT 110: FOR DASHES.IDX = 1 TO DASHES.CNT *--: P 111: COL.START = INDEX(DASHES.LINE,'-',1) 112: DASHES.REMAIN = LEN(DASHES.LINE) - COL.START + 1 113: COL.LEN = INDEX(DASHES.LINE[DASHES.REMAIN],' ',1)-1 114: IF COL.LEN 1 THEN COL.LEN = LEN(DASHES.LINE) 115: COL.LISTDASHES.IDX,1 = COL.START 116: COL.LISTDASHES.IDX,2 = COL.LEN 117: DASHES.LINE[COL.START,COL.LEN] = SPACE(COL.LEN) 118: NEXT DASHES.IDX 119: END 120: ;* 121: ;* Extract the column titles 122: ;* 123: COL.CNT = DCOUNT(COL.LIST,@AM) 124: FOR HDR.IDX = SLK.HEADER.LINES+1 TO SLK.HEADER.CNT-1 125: SLK.ROWS = SLK.ROWS + 1 126: SLK.Y = Y : SLK.ROWS : ; 127: ;* 128: ;* Make sure the header properly fits into the column 129: ;* If it does not, then add it to the spreadsheet's first column 130: ;* 131: CHECK.LINE = TEXT.RECHDR.IDX 132: GOSUB CHECK.COLUMNS *--: P 133: IF NOT(CHECK.LINE) THEN 134: SLK.TEXT = TRIM(CHANGE(TEXT.RECHDR.IDX,';',';;')) 135: SLK.REC-1 = C; : SLK.Y : X1;K : QUOTE(SLK.TEXT) 136: CONTINUE 137: END 138: ;* 139: ;* The header fits, so add it to the column names 140: ;* 141: IF HDR.IDX = SLK.HEADER.CNT-1 THEN 142: SLK.REC-1 = F;SBD;R : SLK.ROWS 143: END ELSE 144: SLK.REC-1 = F;SD;R : SLK.ROWS 145: END 146: FOR COL.IDX = 1 TO COL.CNT 147: COL.START = COL.LISTCOL.IDX,1 148: COL.LEN = COL.LISTCOL.IDX,2 149: SLK.X = X : COL.IDX : ; 150: SLK.TEXT = TEXT.RECHDR.IDX[COL.START,COL.LEN] 151: SLK.TEXT = TRIM(CHANGE(SLK.TEXT,';',';;')) 152: IF SLK.TEXT # '' THEN 153:
Re: [U2] import data to excel sheet...
CSV.FILE.NAME = 'c:\path\testCSV.csv' OPENSEQ CSV.FILE.NAME TO CSV.FILE THEN WEOFSEQ CSV.FILE CSV.REC := 'data1, data2, data3':CHAR(13) WRITESEQ CSV.REC TO CSV.FILE THEN NULL The above is a really easy way to write to a CSV file. Maybe you want to get a simple read from the txt and write to the CSV going and add in the other layers as you go. From: robert.hou...@fwic.net To: u2-users@listserver.u2ug.org Date: Mon, 12 Apr 2010 09:01:03 -0700 Subject: Re: [U2] import data to excel sheet... Hi Jaweed, I haven't looked too closely at your code, but I did notice on thing that I would consider the most likely candidate: CHAR(13) is a carriage return, not a line feed. Try using CHAR(10) instead for your LINE.FEED variable. You might have to use CHAR(13):CHAR(10), but I think CHAR(10) should do it. Good luck! -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jaweed Sent: Monday, April 12, 2010 7:53 AM To: u2-users@listserver.u2ug.org Subject: [U2] import data to excel sheet... Can anyone tell me what is wrong with the following code for importing data from txt file to an excel sheet, when its launch Excel it giving some error message, but when I open the downloaded file from my disc, all the data is in one line with some especial Chars. Any help will be appreciated. 034: ** 035: * OPEN FILES * 036: ** 037: ERRMSG = '' 038: OPEN TEXT.FILE.NAME TO TEXT.FILE ELSE 039: ERRMSG = 'CANNOT OPEN THE ' : TEXT.FILE.NAME : ' FILE!' 040: END 041: IF ERRMSG THEN 042: GOSUB 91000 043: RETURN 044: END *--: P 045: ** 046: * INITIALIZE * 047: ** 048: PAGE.FEED = CHAR(12) 049: LINE.FEED = CHAR(13) 050: ;* 051: ;* Read the text file to convert 052: ;* 053: READ TEXT.REC FROM TEXT.FILE, TEXT.REC.NAME ELSE 054: ERRMSG = ITEM : TEXT.REC.NAME : DOES NOT EXIST IN : TEXT.FILE.NA ME 055: GOSUB 91000 056: RETURN 057: END 058: ;* 059: ;* Set default values (none are used now) 060: ;* 061: VALUE = DEFAULT 062: LOCATE PROPERTY IN FORMATSTR1 SETTING PTR THEN 063: VALUE = FORMATSTR2,PTR 064: END 065: ;* 066: ;* Remove the first line if it contains a PAGE.FEED *--: P 067: ;* 068: LOOP WHILE TEXT.REC1 = PAGE.FEED DO 069: TEXT.REC = DELETE(TEXT.REC,1) 070: REPEAT 071: IF TEXT.REC1[1,1] = PAGE.FEED THEN 072: TEXT.REC1 = TEXT.REC1[2,LEN(TEXT.REC)] 073: END 074: ;* 075: ;* Find the header for each page 076: ;* 077: SLK.REC = '' 078: SLK.ROWS = 0 079: SLK.HEADER.LINES = 0 080: IF TEXT.REC1[1,10] = RUN D - T: THEN 081: SLK.REC-1 = F;SD;R3 082: SLK.REC-1 = F;SD;R4 083: SLK.REC-1 = C;Y1;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC1[1,30],';',';; '))) 084: SLK.REC-1 = C;Y2;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC2[1,30],';',';; '))) 085: SLK.REC-1 = C;Y3;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC1[31,90],';','; ;'))) 086: SLK.REC-1 = C;Y4;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC2[31,90],';','; ;'))) 087: SLK.ROWS = 4 088: SLK.HEADER.LINES = 2 *--: P 089: END 090: ;* 091: ;* Find the number of lines in the header 092: ;* 093: LINES = DCOUNT(TEXT.REC,@AM) 094: SLK.HEADER.CNT = 0 095: FOR IDX = SLK.HEADER.LINES+1 TO LINES 096: IF INDEX(TEXT.RECIDX,---,1) THEN 097: SLK.HEADER.CNT = IDX 098: EXIT 099: END 100: NEXT IDX 101: ;* 102: ;* Find the column locations 103: ;* 104: COL.LIST = '' 105: IF SLK.HEADER.CNT THEN 106: DASHES.LINE = : TEXT.RECSLK.HEADER.CNT : 107: DASHES.LINE = TRIM(DASHES.LINE,'-') 108: DASHES.CNT = COUNT(DASHES.LINE,'-') 109: DASHES.LINE = TEXT.RECSLK.HEADER.CNT 110: FOR DASHES.IDX = 1 TO DASHES.CNT *--: P 111: COL.START = INDEX(DASHES.LINE,'-',1) 112: DASHES.REMAIN = LEN(DASHES.LINE) - COL.START + 1 113: COL.LEN = INDEX(DASHES.LINE[DASHES.REMAIN],' ',1)-1 114: IF COL.LEN 1 THEN COL.LEN = LEN(DASHES.LINE) 115: COL.LISTDASHES.IDX,1 = COL.START 116: COL.LISTDASHES.IDX,2 = COL.LEN 117: DASHES.LINE[COL.START,COL.LEN] = SPACE(COL.LEN) 118: NEXT DASHES.IDX 119: END 120: ;* 121: ;* Extract the column titles 122: ;* 123: COL.CNT = DCOUNT(COL.LIST,@AM) 124: FOR HDR.IDX = SLK.HEADER.LINES+1 TO SLK.HEADER.CNT-1 125: SLK.ROWS = SLK.ROWS + 1 126: SLK.Y = Y : SLK.ROWS : ; 127: ;* 128: ;* Make sure the header properly fits into the column 129: ;* If it does not, then add it to the spreadsheet's first column 130: ;* 131: CHECK.LINE = TEXT.RECHDR.IDX 132: GOSUB CHECK.COLUMNS *--: P 133:
Re: [U2] import data to excel sheet...
Hey Robert Houben, It worked!!! You are the man, thanks for the help. Jaweed -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Robert Houben Sent: Monday, April 12, 2010 11:01 AM To: U2 Users List Subject: Re: [U2] import data to excel sheet... Hi Jaweed, I haven't looked too closely at your code, but I did notice on thing that I would consider the most likely candidate: CHAR(13) is a carriage return, not a line feed. Try using CHAR(10) instead for your LINE.FEED variable. You might have to use CHAR(13):CHAR(10), but I think CHAR(10) should do it. Good luck! -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jaweed Sent: Monday, April 12, 2010 7:53 AM To: u2-users@listserver.u2ug.org Subject: [U2] import data to excel sheet... Can anyone tell me what is wrong with the following code for importing data from txt file to an excel sheet, when its launch Excel it giving some error message, but when I open the downloaded file from my disc, all the data is in one line with some especial Chars. Any help will be appreciated. 034: ** 035: * OPEN FILES * 036: ** 037: ERRMSG = '' 038: OPEN TEXT.FILE.NAME TO TEXT.FILE ELSE 039: ERRMSG = 'CANNOT OPEN THE ' : TEXT.FILE.NAME : ' FILE!' 040: END 041: IF ERRMSG THEN 042: GOSUB 91000 043: RETURN 044: END *--: P 045: ** 046: * INITIALIZE * 047: ** 048: PAGE.FEED = CHAR(12) 049: LINE.FEED = CHAR(13) 050: ;* 051: ;* Read the text file to convert 052: ;* 053: READ TEXT.REC FROM TEXT.FILE, TEXT.REC.NAME ELSE 054: ERRMSG = ITEM : TEXT.REC.NAME : DOES NOT EXIST IN : TEXT.FILE.NA ME 055: GOSUB 91000 056: RETURN 057: END 058: ;* 059: ;* Set default values (none are used now) 060: ;* 061: VALUE = DEFAULT 062: LOCATE PROPERTY IN FORMATSTR1 SETTING PTR THEN 063: VALUE = FORMATSTR2,PTR 064: END 065: ;* 066: ;* Remove the first line if it contains a PAGE.FEED *--: P 067: ;* 068: LOOP WHILE TEXT.REC1 = PAGE.FEED DO 069: TEXT.REC = DELETE(TEXT.REC,1) 070: REPEAT 071: IF TEXT.REC1[1,1] = PAGE.FEED THEN 072: TEXT.REC1 = TEXT.REC1[2,LEN(TEXT.REC)] 073: END 074: ;* 075: ;* Find the header for each page 076: ;* 077: SLK.REC = '' 078: SLK.ROWS = 0 079: SLK.HEADER.LINES = 0 080: IF TEXT.REC1[1,10] = RUN D - T: THEN 081: SLK.REC-1 = F;SD;R3 082: SLK.REC-1 = F;SD;R4 083: SLK.REC-1 = C;Y1;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC1[1,30],';',';; '))) 084: SLK.REC-1 = C;Y2;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC2[1,30],';',';; '))) 085: SLK.REC-1 = C;Y3;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC1[31,90],';','; ;'))) 086: SLK.REC-1 = C;Y4;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC2[31,90],';','; ;'))) 087: SLK.ROWS = 4 088: SLK.HEADER.LINES = 2 *--: P 089: END 090: ;* 091: ;* Find the number of lines in the header 092: ;* 093: LINES = DCOUNT(TEXT.REC,@AM) 094: SLK.HEADER.CNT = 0 095: FOR IDX = SLK.HEADER.LINES+1 TO LINES 096: IF INDEX(TEXT.RECIDX,---,1) THEN 097: SLK.HEADER.CNT = IDX 098: EXIT 099: END 100: NEXT IDX 101: ;* 102: ;* Find the column locations 103: ;* 104: COL.LIST = '' 105: IF SLK.HEADER.CNT THEN 106: DASHES.LINE = : TEXT.RECSLK.HEADER.CNT : 107: DASHES.LINE = TRIM(DASHES.LINE,'-') 108: DASHES.CNT = COUNT(DASHES.LINE,'-') 109: DASHES.LINE = TEXT.RECSLK.HEADER.CNT 110: FOR DASHES.IDX = 1 TO DASHES.CNT *--: P 111: COL.START = INDEX(DASHES.LINE,'-',1) 112: DASHES.REMAIN = LEN(DASHES.LINE) - COL.START + 1 113: COL.LEN = INDEX(DASHES.LINE[DASHES.REMAIN],' ',1)-1 114: IF COL.LEN 1 THEN COL.LEN = LEN(DASHES.LINE) 115: COL.LISTDASHES.IDX,1 = COL.START 116: COL.LISTDASHES.IDX,2 = COL.LEN 117: DASHES.LINE[COL.START,COL.LEN] = SPACE(COL.LEN) 118: NEXT DASHES.IDX 119: END 120: ;* 121: ;* Extract the column titles 122: ;* 123: COL.CNT = DCOUNT(COL.LIST,@AM) 124: FOR HDR.IDX = SLK.HEADER.LINES+1 TO SLK.HEADER.CNT-1 125: SLK.ROWS = SLK.ROWS + 1 126: SLK.Y = Y : SLK.ROWS : ; 127: ;* 128: ;* Make sure the header properly fits into the column 129: ;* If it does not, then add it to the spreadsheet's first column 130: ;* 131: CHECK.LINE = TEXT.RECHDR.IDX 132: GOSUB CHECK.COLUMNS *--: P 133: IF NOT(CHECK.LINE) THEN 134: SLK.TEXT = TRIM(CHANGE(TEXT.RECHDR.IDX,';',';;')) 135: SLK.REC-1 = C; : SLK.Y : X1;K : QUOTE(SLK.TEXT) 136: CONTINUE 137: END 138: ;* 139: ;* The header fits, so add it to the column names 140: ;* 141: IF HDR.IDX = SLK.HEADER.CNT-1 THEN 142: SLK.REC-1 = F;SBD;R : SLK.ROWS 143: END ELSE 144: SLK.REC-1 = F;SD;R : SLK.ROWS 145: END
Re: [U2] import data to excel sheet...
Always glad to help! :) -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jaweed Sent: Monday, April 12, 2010 9:23 AM To: 'U2 Users List' Subject: Re: [U2] import data to excel sheet... Hey Robert Houben, It worked!!! You are the man, thanks for the help. Jaweed -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Robert Houben Sent: Monday, April 12, 2010 11:01 AM To: U2 Users List Subject: Re: [U2] import data to excel sheet... Hi Jaweed, I haven't looked too closely at your code, but I did notice on thing that I would consider the most likely candidate: CHAR(13) is a carriage return, not a line feed. Try using CHAR(10) instead for your LINE.FEED variable. You might have to use CHAR(13):CHAR(10), but I think CHAR(10) should do it. Good luck! -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jaweed Sent: Monday, April 12, 2010 7:53 AM To: u2-users@listserver.u2ug.org Subject: [U2] import data to excel sheet... Can anyone tell me what is wrong with the following code for importing data from txt file to an excel sheet, when its launch Excel it giving some error message, but when I open the downloaded file from my disc, all the data is in one line with some especial Chars. Any help will be appreciated. 034: ** 035: * OPEN FILES * 036: ** 037: ERRMSG = '' 038: OPEN TEXT.FILE.NAME TO TEXT.FILE ELSE 039: ERRMSG = 'CANNOT OPEN THE ' : TEXT.FILE.NAME : ' FILE!' 040: END 041: IF ERRMSG THEN 042: GOSUB 91000 043: RETURN 044: END *--: P 045: ** 046: * INITIALIZE * 047: ** 048: PAGE.FEED = CHAR(12) 049: LINE.FEED = CHAR(13) 050: ;* 051: ;* Read the text file to convert 052: ;* 053: READ TEXT.REC FROM TEXT.FILE, TEXT.REC.NAME ELSE 054: ERRMSG = ITEM : TEXT.REC.NAME : DOES NOT EXIST IN : TEXT.FILE.NA ME 055: GOSUB 91000 056: RETURN 057: END 058: ;* 059: ;* Set default values (none are used now) 060: ;* 061: VALUE = DEFAULT 062: LOCATE PROPERTY IN FORMATSTR1 SETTING PTR THEN 063: VALUE = FORMATSTR2,PTR 064: END 065: ;* 066: ;* Remove the first line if it contains a PAGE.FEED *--: P 067: ;* 068: LOOP WHILE TEXT.REC1 = PAGE.FEED DO 069: TEXT.REC = DELETE(TEXT.REC,1) 070: REPEAT 071: IF TEXT.REC1[1,1] = PAGE.FEED THEN 072: TEXT.REC1 = TEXT.REC1[2,LEN(TEXT.REC)] 073: END 074: ;* 075: ;* Find the header for each page 076: ;* 077: SLK.REC = '' 078: SLK.ROWS = 0 079: SLK.HEADER.LINES = 0 080: IF TEXT.REC1[1,10] = RUN D - T: THEN 081: SLK.REC-1 = F;SD;R3 082: SLK.REC-1 = F;SD;R4 083: SLK.REC-1 = C;Y1;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC1[1,30],';',';; '))) 084: SLK.REC-1 = C;Y2;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC2[1,30],';',';; '))) 085: SLK.REC-1 = C;Y3;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC1[31,90],';','; ;'))) 086: SLK.REC-1 = C;Y4;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC2[31,90],';','; ;'))) 087: SLK.ROWS = 4 088: SLK.HEADER.LINES = 2 *--: P 089: END 090: ;* 091: ;* Find the number of lines in the header 092: ;* 093: LINES = DCOUNT(TEXT.REC,@AM) 094: SLK.HEADER.CNT = 0 095: FOR IDX = SLK.HEADER.LINES+1 TO LINES 096: IF INDEX(TEXT.RECIDX,---,1) THEN 097: SLK.HEADER.CNT = IDX 098: EXIT 099: END 100: NEXT IDX 101: ;* 102: ;* Find the column locations 103: ;* 104: COL.LIST = '' 105: IF SLK.HEADER.CNT THEN 106: DASHES.LINE = : TEXT.RECSLK.HEADER.CNT : 107: DASHES.LINE = TRIM(DASHES.LINE,'-') 108: DASHES.CNT = COUNT(DASHES.LINE,'-') 109: DASHES.LINE = TEXT.RECSLK.HEADER.CNT 110: FOR DASHES.IDX = 1 TO DASHES.CNT *--: P 111: COL.START = INDEX(DASHES.LINE,'-',1) 112: DASHES.REMAIN = LEN(DASHES.LINE) - COL.START + 1 113: COL.LEN = INDEX(DASHES.LINE[DASHES.REMAIN],' ',1)-1 114: IF COL.LEN 1 THEN COL.LEN = LEN(DASHES.LINE) 115: COL.LISTDASHES.IDX,1 = COL.START 116: COL.LISTDASHES.IDX,2 = COL.LEN 117: DASHES.LINE[COL.START,COL.LEN] = SPACE(COL.LEN) 118: NEXT DASHES.IDX 119: END 120: ;* 121: ;* Extract the column titles 122: ;* 123: COL.CNT = DCOUNT(COL.LIST,@AM) 124: FOR HDR.IDX = SLK.HEADER.LINES+1 TO SLK.HEADER.CNT-1 125: SLK.ROWS = SLK.ROWS + 1 126: SLK.Y = Y : SLK.ROWS : ; 127: ;* 128: ;* Make sure the header properly fits into the column 129: ;* If it does not, then add it to the spreadsheet's first column 130: ;* 131: CHECK.LINE = TEXT.RECHDR.IDX 132: GOSUB CHECK.COLUMNS *--: P 133: IF NOT(CHECK.LINE) THEN 134: SLK.TEXT = TRIM(CHANGE(TEXT.RECHDR.IDX,';',';;')) 135: SLK.REC-1 = C; : SLK.Y : X1;K : QUOTE(SLK.TEXT) 136:
Re: [U2] Quick poll - how many use 3-tier or N-tier Architecture
a. yes b. yes (judging by other responses, we may be the only ones) c. n/a d. If you mean a java GUI running on the client, then no. Everything we've done so far has used a browser as the UI. e. n/a f. n/a -John -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Baker Hughes Sent: Thursday, April 08, 2010 10:16 AM To: 'U2 Users List' Subject: [U2] Quick poll - how many use 3-tier or N-tier Architecture Would those of you mind responding that use 3-Tier or N-Tier architecture - I'm trying to gather some quick numbers for some decision makers (somewhat urgent). Please respond if your site, or sites who you service have UniData, UniVerse, or any other MV db on the backend, and any fully graphical user interface: a. How many have a middle-tier application server? b. How many use IBM Websphere? c. How many use some other? Please give product name if you can. d. How many have a Java front end User Interface? e. How many have a C# front end User Interface? f. How many have other UI? Please give name. For anyone - what Multi-Value aware / friendly middleware products are there? (That don't require data normalization before sending to the middleware.) Thank you so much, -Baker ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] Hosting UniVerse
Does anyone use an outside company to host their UniVerse or UniData database? If so, have you been happy with the results? I am looking at the feasibility of having another company host our hardware (HPUX) and UniVerse install. Thanks, Bryan Evans ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] import data to excel sheet...
Hi Jaweed, If you already produced a number of files with the CHAR(13) as the end of line separator, you probably still handle them with excel, if you change the file extension from .csv to .txt and when you are in Excel import wizard, specify that the origin of the file is Macintosh.Since the Mac uses CHAR(13) as an EOL separator, the import should work. - Original Message From: Robert Houben robert.hou...@fwic.net To: U2 Users List u2-users@listserver.u2ug.org Sent: Mon, April 12, 2010 12:01:03 PM Subject: Re: [U2] import data to excel sheet... Hi Jaweed, I haven't looked too closely at your code, but I did notice on thing that I would consider the most likely candidate: CHAR(13) is a carriage return, not a line feed. Try using CHAR(10) instead for your LINE.FEED variable. You might have to use CHAR(13):CHAR(10), but I think CHAR(10) should do it. Good luck! -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jaweed Sent: Monday, April 12, 2010 7:53 AM To: u2-users@listserver.u2ug.org Subject: [U2] import data to excel sheet... Can anyone tell me what is wrong with the following code for importing data from txt file to an excel sheet, when its launch Excel it giving some error message, but when I open the downloaded file from my disc, all the data is in one line with some especial Chars. Any help will be appreciated. 034: ** 035: * OPEN FILES * 036: ** 037: ERRMSG = '' 038: OPEN TEXT.FILE.NAME TO TEXT.FILE ELSE 039: ERRMSG = 'CANNOT OPEN THE ' : TEXT.FILE.NAME : ' FILE!' 040: END 041: IF ERRMSG THEN 042: GOSUB 91000 043: RETURN 044: END *--: P 045: ** 046: * INITIALIZE * 047: ** 048: PAGE.FEED = CHAR(12) 049: LINE.FEED = CHAR(13) 050: ;* 051: ;* Read the text file to convert 052: ;* 053: READ TEXT.REC FROM TEXT.FILE, TEXT.REC.NAME ELSE 054: ERRMSG = ITEM : TEXT.REC.NAME : DOES NOT EXIST IN : TEXT.FILE.NA ME 055: GOSUB 91000 056: RETURN 057: END 058: ;* 059: ;* Set default values (none are used now) 060: ;* 061: VALUE = DEFAULT 062: LOCATE PROPERTY IN FORMATSTR1 SETTING PTR THEN 063: VALUE = FORMATSTR2,PTR 064: END 065: ;* 066: ;* Remove the first line if it contains a PAGE.FEED *--: P 067: ;* 068: LOOP WHILE TEXT.REC1 = PAGE.FEED DO 069: TEXT.REC = DELETE(TEXT.REC,1) 070: REPEAT 071: IF TEXT.REC1[1,1] = PAGE.FEED THEN 072: TEXT.REC1 = TEXT.REC1[2,LEN(TEXT.REC)] 073: END 074: ;* 075: ;* Find the header for each page 076: ;* 077: SLK.REC = '' 078: SLK.ROWS = 0 079: SLK.HEADER.LINES = 0 080: IF TEXT.REC1[1,10] = RUN D - T: THEN 081: SLK.REC-1 = F;SD;R3 082: SLK.REC-1 = F;SD;R4 083: SLK.REC-1 = C;Y1;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC1[1,30],';',';; '))) 084: SLK.REC-1 = C;Y2;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC2[1,30],';',';; '))) 085: SLK.REC-1 = C;Y3;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC1[31,90],';','; ;'))) 086: SLK.REC-1 = C;Y4;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC2[31,90],';','; ;'))) 087: SLK.ROWS = 4 088: SLK.HEADER.LINES = 2 *--: P 089: END 090: ;* 091: ;* Find the number of lines in the header 092: ;* 093: LINES = DCOUNT(TEXT.REC,@AM) 094: SLK.HEADER.CNT = 0 095: FOR IDX = SLK.HEADER.LINES+1 TO LINES 096: IF INDEX(TEXT.RECIDX,---,1) THEN 097: SLK.HEADER.CNT = IDX 098: EXIT 099: END 100: NEXT IDX 101: ;* 102: ;* Find the column locations 103: ;* 104: COL.LIST = '' 105: IF SLK.HEADER.CNT THEN 106: DASHES.LINE = : TEXT.RECSLK.HEADER.CNT : 107: DASHES.LINE = TRIM(DASHES.LINE,'-') 108: DASHES.CNT = COUNT(DASHES.LINE,'-') 109: DASHES.LINE = TEXT.RECSLK.HEADER.CNT 110: FOR DASHES.IDX = 1 TO DASHES.CNT *--: P 111: COL.START = INDEX(DASHES.LINE,'-',1) 112: DASHES.REMAIN = LEN(DASHES.LINE) - COL.START + 1 113: COL.LEN = INDEX(DASHES.LINE[DASHES.REMAIN],' ',1)-1 114: IF COL.LEN 1 THEN COL.LEN = LEN(DASHES.LINE) 115: COL.LISTDASHES.IDX,1 = COL.START 116: COL.LISTDASHES.IDX,2 = COL.LEN 117: DASHES.LINE[COL.START,COL.LEN] = SPACE(COL.LEN) 118: NEXT DASHES.IDX 119: END 120: ;* 121: ;* Extract the column titles 122: ;* 123: COL.CNT = DCOUNT(COL.LIST,@AM) 124: FOR HDR.IDX = SLK.HEADER.LINES+1 TO SLK.HEADER.CNT-1 125: SLK.ROWS = SLK.ROWS + 1 126: SLK.Y = Y : SLK.ROWS : ; 127: ;* 128: ;* Make sure the header properly fits into the column 129: ;* If it does not, then add it to the spreadsheet's first column 130: ;* 131: CHECK.LINE = TEXT.RECHDR.IDX 132: GOSUB CHECK.COLUMNS *--: P 133: IF NOT(CHECK.LINE) THEN 134: SLK.TEXT = TRIM(CHANGE(TEXT.RECHDR.IDX,';',';;')) 135: SLK.REC-1 = C; : SLK.Y : X1;K : QUOTE(SLK.TEXT) 136: CONTINUE 137: END
Re: [U2] Hosting UniVerse
Consider www.SierraBravo.com. --Bill ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Quick poll - how many use 3-tier or N-tier Architecture
On Apr 12, 2010, at 12:48 PM, John Hester wrote: a. How many have a middle-tier application server? Yes b. How many use IBM Websphere? No c. How many use some other? Please give product name if you can. We use Tomcat http://tomcat.apache.org It's free as in choice and as in beer d. How many have a Java front end User Interface? No, our front end is HTML/Javascript/CSS e. How many have a C# front end User Interface? No f. How many have other UI? Please give name. We're exploring using Adobe Flex. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Quick poll - how many use 3-tier or N-tier Architecture
Just saw this... A. It'll be in the next release (3rd 1/4 of the year) B. No C. No D. Currently a custom written Delphi app (thin client sorta thing) Moving to .NET client (again 3rd 1/4 of the year) that is slightly 'thicker' E. See 'D' above - mostly C# for .NET with some VB for .NET purchased components. F. All of this started life as a product called WinFAST from Visual Legacy Systems who gave us a huge 'leg up' in moving from a legacy character oriented systme to a real client server system - less than 1 year from inception to roll out with a 3 month beta period in there somewhere. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Ben Souther Sent: Monday, April 12, 2010 3:59 PM To: U2 Users List Subject: Re: [U2] Quick poll - how many use 3-tier or N-tier Architecture On Apr 12, 2010, at 12:48 PM, John Hester wrote: a. How many have a middle-tier application server? Yes b. How many use IBM Websphere? No c. How many use some other? Please give product name if you can. We use Tomcat http://tomcat.apache.org It's free as in choice and as in beer d. How many have a Java front end User Interface? No, our front end is HTML/Javascript/CSS e. How many have a C# front end User Interface? No f. How many have other UI? Please give name. We're exploring using Adobe Flex. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Quick Poll - N-tier Architecture
Bill, I'd think ColdFusion is an unnecessary tier between Flash and U2. Why not just use web service calls to a middle tier and broker those to Universe? That's what people do with MySQL and other databases. With that you can use whatever comms mechanism you wish, including UO.NET or UOJ. Since you're fond of Java and Hibernate, you can go from Flash to your Java tier for all business rules, then to Universe for the data - this is a nice MVC design pattern. ColdFusion isn't required here - and (IIRC) considering it can be quite expensive I'd guess most sites would want to avoid it where possible. In your diagram did you mean this? : CF9 wraps Flash connects-to Universe Now _that_ I'd understand. I've blogged about Flash a few times but never got much response on the topic. I'm glad you're seeing some value in that popular technology. Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells mv.NET and other Pick/MultiValue products worldwide, and provides related development services remove.pleaseNebula-RnD.com/blog Visit PickWiki.com! Contribute! http://Twitter.com/TonyGravagno From: Brutzman, Bill We just got started with Adobe ColdFusion and Adobe FlashBuilder 4. ColdFusion is Java-based, has JEE built-in and now includes Hibernate ORM. It is easy to connect to UniVerse and to the other SQL databases that we have here. FlashBuilder-- CF9 -- UniVerse Browser + -- -- UniObjects DeskTop (Adobe Air) -- MS-SQL I am rather excited about CF9. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] import data to excel sheet...
This is a function of the operating system. On Unix systems only a linefeed character is added to the end of a line whereas on Windows both carriage return and linefeed characters are added to the end of a line. If you open a file created on a Unix system with the notepad app it will have one line with strange characters in it. A quick fix, if you open the same file with word pad it will be converted and you can save it. If you created a file on a Unix system for use on a Windows system you have to add a carriage return character to the end of the line. Jerry Banker -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Robert Houben Sent: Monday, April 12, 2010 11:01 AM To: U2 Users List Subject: Re: [U2] import data to excel sheet... Hi Jaweed, I haven't looked too closely at your code, but I did notice on thing that I would consider the most likely candidate: CHAR(13) is a carriage return, not a line feed. Try using CHAR(10) instead for your LINE.FEED variable. You might have to use CHAR(13):CHAR(10), but I think CHAR(10) should do it. Good luck! -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jaweed Sent: Monday, April 12, 2010 7:53 AM To: u2-users@listserver.u2ug.org Subject: [U2] import data to excel sheet... Can anyone tell me what is wrong with the following code for importing data from txt file to an excel sheet, when its launch Excel it giving some error message, but when I open the downloaded file from my disc, all the data is in one line with some especial Chars. Any help will be appreciated. 034: ** 035: * OPEN FILES * 036: ** 037: ERRMSG = '' 038: OPEN TEXT.FILE.NAME TO TEXT.FILE ELSE 039: ERRMSG = 'CANNOT OPEN THE ' : TEXT.FILE.NAME : ' FILE!' 040: END 041: IF ERRMSG THEN 042: GOSUB 91000 043: RETURN 044: END *--: P 045: ** 046: * INITIALIZE * 047: ** 048: PAGE.FEED = CHAR(12) 049: LINE.FEED = CHAR(13) 050: ;* 051: ;* Read the text file to convert 052: ;* 053: READ TEXT.REC FROM TEXT.FILE, TEXT.REC.NAME ELSE 054: ERRMSG = ITEM : TEXT.REC.NAME : DOES NOT EXIST IN : TEXT.FILE.NA ME 055: GOSUB 91000 056: RETURN 057: END 058: ;* 059: ;* Set default values (none are used now) 060: ;* 061: VALUE = DEFAULT 062: LOCATE PROPERTY IN FORMATSTR1 SETTING PTR THEN 063: VALUE = FORMATSTR2,PTR 064: END 065: ;* 066: ;* Remove the first line if it contains a PAGE.FEED *--: P 067: ;* 068: LOOP WHILE TEXT.REC1 = PAGE.FEED DO 069: TEXT.REC = DELETE(TEXT.REC,1) 070: REPEAT 071: IF TEXT.REC1[1,1] = PAGE.FEED THEN 072: TEXT.REC1 = TEXT.REC1[2,LEN(TEXT.REC)] 073: END 074: ;* 075: ;* Find the header for each page 076: ;* 077: SLK.REC = '' 078: SLK.ROWS = 0 079: SLK.HEADER.LINES = 0 080: IF TEXT.REC1[1,10] = RUN D - T: THEN 081: SLK.REC-1 = F;SD;R3 082: SLK.REC-1 = F;SD;R4 083: SLK.REC-1 = C;Y1;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC1[1,30],';',';; '))) 084: SLK.REC-1 = C;Y2;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC2[1,30],';',';; '))) 085: SLK.REC-1 = C;Y3;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC1[31,90],';','; ;'))) 086: SLK.REC-1 = C;Y4;X1;K : QUOTE(TRIM(CHANGE(TEXT.REC2[31,90],';','; ;'))) 087: SLK.ROWS = 4 088: SLK.HEADER.LINES = 2 *--: P 089: END 090: ;* 091: ;* Find the number of lines in the header 092: ;* 093: LINES = DCOUNT(TEXT.REC,@AM) 094: SLK.HEADER.CNT = 0 095: FOR IDX = SLK.HEADER.LINES+1 TO LINES 096: IF INDEX(TEXT.RECIDX,---,1) THEN 097: SLK.HEADER.CNT = IDX 098: EXIT 099: END 100: NEXT IDX 101: ;* 102: ;* Find the column locations 103: ;* 104: COL.LIST = '' 105: IF SLK.HEADER.CNT THEN 106: DASHES.LINE = : TEXT.RECSLK.HEADER.CNT : 107: DASHES.LINE = TRIM(DASHES.LINE,'-') 108: DASHES.CNT = COUNT(DASHES.LINE,'-') 109: DASHES.LINE = TEXT.RECSLK.HEADER.CNT 110: FOR DASHES.IDX = 1 TO DASHES.CNT *--: P 111: COL.START = INDEX(DASHES.LINE,'-',1) 112: DASHES.REMAIN = LEN(DASHES.LINE) - COL.START + 1 113: COL.LEN = INDEX(DASHES.LINE[DASHES.REMAIN],' ',1)-1 114: IF COL.LEN 1 THEN COL.LEN = LEN(DASHES.LINE) 115: COL.LISTDASHES.IDX,1 = COL.START 116: COL.LISTDASHES.IDX,2 = COL.LEN 117: DASHES.LINE[COL.START,COL.LEN] = SPACE(COL.LEN) 118: NEXT DASHES.IDX 119: END 120: ;* 121: ;* Extract the column titles 122: ;* 123: COL.CNT = DCOUNT(COL.LIST,@AM) 124: FOR HDR.IDX = SLK.HEADER.LINES+1 TO SLK.HEADER.CNT-1 125: SLK.ROWS = SLK.ROWS + 1 126: SLK.Y = Y : SLK.ROWS : ; 127: ;* 128: ;* Make sure the header properly fits into the column 129: ;* If it does not, then add it to the spreadsheet's first column 130: ;* 131: CHECK.LINE =