How to stick the ends of line shapes together?

Hi, as shown in the picture I mannualy moved three lines to form the shape like this.
Anybody knows is there a way to stick these three line together? THX

pangeng wrote:
Hi, as shown in the picture I mannualy moved three lines to form the shape like this.
Anybody knows is there a way to stick these three line together? THX
Pages User Guide knows the answer !
Yvan KOENIG (VALLAURIS, France) jeudi 22 septembre 2011 15:52:29
iMac 21”5, i7, 2.8 GHz, 4 Gbytes, 1 Tbytes, mac OS X 10.6.8 and 10.7.0
My iDisk is : <http://public.me.com/koenigyvan>
Please : Search for questions similar to your own before submitting them to the community

Similar Messages

  • How to delete the ends of line ["\n"] in a String before parsing

    hi, i'd want to parse a String with Regex/Pattern.
    This String contains ends of line i want to delete before applying my parsing treatment.
    I've tried to do that by replacing the character "\n" with "" :
        // the original text
        String orgTextToParse = new String(buffer);
        //we create a pattern to recognize the ends of line
        String regExpEol = "\n";
        Pattern patternEol = Pattern.compile(regExpEol);
        Matcher matcherEol = patternEol.matcher(orgTextToParse);
        // the new text without end of line
        StringBuffer newTextToParse = new StringBuffer();
        // we replace the "\n" by ""
        while(matcherEol.find()) {
          String REPLACE = "";
          matcherEol.appendReplacement(newTextToParse,REPLACE);
        matcherEol.appendTail(newTextToParse);
        System.out.println("[new string start] " + (newTextToParse.toString()) + " [end of new string]");Is there an appropriate way to delete "\n" ?
    (perhaps a method of the Pattern or Matcher classes... ?)
    thanx
    Edited by: jfact on Dec 29, 2007 11:05 AM
    Edited by: jfact on Dec 29, 2007 11:06 AM

    The second (optional) argument to Pattern is a set of flags. Take a look at the Javadoc.
    The 'genomic' implication is that the EOL is an arbitrary line break for human consumption so it does look like you need to remove the EOL. I would just use replaceAll() since it can be done with one line of code (or just a couple if you pre-compile the regex) without the need for any looping.
    line = line.replaceAll("\n","");Edited by: sabre150 on Dec 29, 2007 10:27 AM

  • How to count the number of lines dynamically,

    In the below code am trying to read the lines which are selected using a check box, also am categorizing the contents depending on the follow up material.
    after displaying one category contents am displaying a line
    which also counts to a line in the internal table.
    My question is how to count the number of lines(ULINE) displayed dynamically.
    FORM GET_LINES .
      DATA: LV_LINES TYPE I,
            LV_TIMES TYPE I,
            LV_TABIX TYPE SY-TABIX.
      DESCRIBE TABLE IT_REC LINES LV_LINES.
      DO LV_LINES TIMES.
        LV_TIMES = SY-INDEX .
        READ LINE LV_TIMES FIELD VALUE IT_REC-CHECK INTO GV_CHECK.
        IF SY-SUBRC EQ 0 AND GV_CHECK IS NOT INITIAL.
          LV_TABIX =  LV_TIMES.
          READ TABLE IT_REC INDEX LV_TABIX INTO GWA_UPDATE.
          IF SY-SUBRC EQ 0.
            APPEND GWA_UPDATE TO GT_UPDATE.
          ENDIF.
        ENDIF.
      ENDDO.
    ENDFORM.                    " GET_LINES

    In the below code am trying to read the lines which are selected using a check box, also am categorizing the contents depending on the follow up material.
    after displaying one category contents am displaying a line
    which also counts to a line in the internal table.
    My question is how to count the number of lines(ULINE) displayed dynamically.
    FORM GET_LINES .
      DATA: LV_LINES TYPE I,
            LV_TIMES TYPE I,
            LV_TABIX TYPE SY-TABIX.
      DESCRIBE TABLE IT_REC LINES LV_LINES.
      DO LV_LINES TIMES.
        LV_TIMES = SY-INDEX .
        READ LINE LV_TIMES FIELD VALUE IT_REC-CHECK INTO GV_CHECK.
        IF SY-SUBRC EQ 0 AND GV_CHECK IS NOT INITIAL.
          LV_TABIX =  LV_TIMES.
          READ TABLE IT_REC INDEX LV_TABIX INTO GWA_UPDATE.
          IF SY-SUBRC EQ 0.
            APPEND GWA_UPDATE TO GT_UPDATE.
          ENDIF.
        ENDIF.
      ENDDO.
    ENDFORM.                    " GET_LINES
    The display function is:
    FORM DISPLAY_DATA .
      ULINE.
      WRITE :  /1 SY-VLINE, 'check',
                10 SY-VLINE, 'Plant',
               20 SY-VLINE, 'Material number',
               50 SY-VLINE, 'Follow up material',
               70 SY-VLINE, 'Safety stock',
              100 SY-VLINE, 'Partc'.
      ULINE.
      LOOP AT IT_MARC.
        MOVE: IT_MARC-WERKS TO IT_REC-WERKS,
              IT_MARC-MATNR TO IT_REC-MATNR,
              IT_MARC-NFMAT TO IT_REC-NFMAT,
              IT_MARC-EISBE TO IT_REC-EISBE,
              IT_MARC-PARTC TO IT_REC-PARTC .
        APPEND IT_REC.
        CLEAR IT_MARC.
      ENDLOOP.
      DATA: GV_TABIX TYPE SY-TABIX.
      LOOP AT IT_REC.
        GV_TABIX = SY-TABIX.
        READ TABLE GT_TOTAL WITH KEY WERKS = IT_REC-WERKS
                                     NFMAT = IT_REC-NFMAT.
        IF SY-SUBRC EQ 0.
          IT_REC-PARTC = GT_TOTAL-PARTC.
          MODIFY IT_REC INDEX GV_TABIX TRANSPORTING PARTC.
        ENDIF.
      ENDLOOP.
      LOOP AT IT_REC.
        WRITE : /1 SY-VLINE, IT_REC-CHECK AS CHECKBOX,
                10 SY-VLINE, IT_REC-WERKS,
                20 SY-VLINE, IT_REC-MATNR,
                50 SY-VLINE, IT_REC-NFMAT,
                70 SY-VLINE, IT_REC-EISBE,
               100 SY-VLINE, IT_REC-PARTC.
        AT END OF NFMAT.
          ULINE.
        ENDAT.
      ENDLOOP.
      ULINE.
    ENDFORM.                    " DISPLAY_DATA
    Solved

  • At the end of line # is coming in output file at application directory

    Hi experts,
    I am doing a file to file tunneling in which from a file server I am picking the file and putting it into SAP application server nothing is done in IR .However when the file is reaching in application server its end seprator is coming as # .I am surprised from where the #is coming at the end of every line.When  i am dowloading the same file to my local directory in that file # is not there.
    Please help me as my client is not accepting the file with endsepeartor as # .
    Might be # is coming as the apllication server is in uniq env . But how to get rid of it .Please guide me with whatever input you have in this regard.
    Regards,
    Neha

    Hi Neha,
    I think you do not have to do anything because see you said on saving the file locally, you are not able to see the # character at the end of line..........but when you are seeing in SAP window, then this # character is displayed..............so your SAP server can be a UNIX server and it is displaying the End of Line and Carriage Return ASCII characters as # because these are non-displayable characters.....
    But still if you do not want this # character to be displayed, then you can try Binary and no character encoding........then see if your file is displayed without # character.
    Regards,
    Rajeev Gupta

  • How to give the no of lines per a page in alv report

    hi
    could u plz inform me
    how to give the no of lines per page in alv report
    in ordinary report we can give line-count na
    how can we give in alvs.
    thanx
    kals.

    Hi Kalyan,
    There is another Forum(Abap Development) where u can post abap related stuffs and u can also get quick answers there..
    Cheers...
    Santosh

  • How to delete the Cost center line item data

    How to delete the cost center line item data of particular cost center and only one cost center is exisiting for that company code.
    Is there any way to delete the line items in that cost center.
    Can data archiving & deleting can help us..........
    does it have any effect over other cost center data....
    any input needed.........
    regards
    rajesh

    Hi,
    i found 2 reports for you:
    1) CO_TOTAL_WRI - Archiving CO Totals Records   
    2) RKCOITW1     - Archiving CO Line Items: Write Program        
    from 2) is a linlk to customize archiv-parameters
    -> start it with transaction se38 / sa38
    A.

  • How to delete the old schedule line release?

    Hello,
    How to delete the old schedule line release in apo?
    Generally GR has to be carry out  schedule line release  in r/3 which reduces the Schdule line release.
    But i do want do GR against old schdule line release instead i want to delete the old schdule line release.
    Please suggest.
    Regards,
    Sunil Patil

    Sunil ,
    /sapapo/cmds_del  is the tcode to deleted sales scheduling agreement confirmations and releases
    /sapapo/display_conf  is the tcode for displaying sls. sch.agr confirmations and releases
    The above two are in the supply chain collaboration menu
    /sappao/cmds_sc02 is the tcode to delete sales scheduling agreements . This tcode is in the application specific master data menu
    Thanks
    Saradha

  • How to delete the old schedule line release in apo

    How to delete the old schedule line release (from current date) in apo which is having schedule  firmed?
    Please suugest.
    Sunil

    How is it possible to delete old purchasing schedule lines in APO (that do not exist in R/3)?
    Though used successfully before, /SAPAPO/CCR will not reconcile our discrepancy in this case.
    Thanks in advance,
    Jim

  • How to get the end time of an Interface?

    How to get the end time of an Interface?

    Hi,
    As per your reuirement. I will suggest to use IKM SQL to SQL append. and Before Insert statement in IKM u need to add one more step i.e update. Your update should be like this
    command on sourse.
    <%for (int i=0; i < odiRef.getDataSetCount(); i++){%>
    <%=odiRef.getDataSet(i, "Operator")%>
    select      <%=odiRef.getPop("DISTINCT_ROWS")%>
         <%=odiRef.getColList(i,"", "[EXPRESSION]\t[ALIAS_SEP] [CX_COL_NAME]", ",\n\t", "", "((INS and !TRG) and REW)")%>
    from     <%=odiRef.getFrom(i)%>
    where     <% if (odiRef.getDataSet(i, "HAS_JRN").equals("1")) { %>
         JRN_FLAG <> 'D'
         <%} else {%>
         (1=1)     
         <% } %>
    <%=odiRef.getJoin(i)%>
    <%=odiRef.getFilter(i)%>
    <%=odiRef.getJrnFilter(i)%>
    <%=odiRef.getGrpBy(i)%>
    <%=odiRef.getHaving(i)%>
    <%}%>
    Command on target..
    UPDATE <%=odiRef.getTable("L", "TARG_NAME", "A")%> T
    set <%=odiRef.getColList("", "T.[COL_NAME]", ",\n\t", "", "(UD2)")%> ='N',
    <%=odiRef.getColList("", "T.[COL_NAME]", ",\n\t", "", "(UD1)")%> =SYSDATE
    where (<%=odiRef.getColList("","T.[COL_NAME]", ", ", "", "UK")%>)
    in(<%=snpRef.getColList("", ":[CX_COL_NAME]", ", ", "", "UK")%>) and <%=odiRef.getColList("", "T.[COL_NAME]", ",\n\t", "", "(UD2)")%> <> 'N'
    check UD1 and UD2 columns.
    Hope this will help you.
    Regards
    Saurabh

  • How to detect the end of a loaded swf file

    Hello Guys
    This is my first time on this forum, come here with a great
    hope
    I have loaded a picture file (jpeg) and a video file (swf)
    into the main flash file using xml
    on frame 3, I load the picture and on frame 7, I load the
    video, there is a stop action on frame 6
    Now when the flash is executed the picture is displayed ( it
    says "Click here to view the video")
    when the user click the picture , the video is loaded and
    starts to play ---- so far everything is working fine
    now what I want to do is, once the video finishes playing (
    not stoped) I want to display the picture again
    can you tell me how to detect the end of an external loaded
    swf files,
    Please help me
    Thanking You
    Shriram

  • How to remove the Blue Fuzzy Line in Spry Collapsible Panels

    Do anyone know exactly how to remove the blue fuzzy line that appears when a tab is focussed on in the Collapsible Panels feature?
    I heard there was some code that could be implemented into one of the style sheets which could solve this but I am yet to find a solution
    Thanks

    .CollapsiblePanelTab { outline:none; }
    Try that.

  • How to solve the middle dark line when I use officejet all in one the copy function?

    The printer function is good, but only has problem in copy functioln.  How to clear the middle dark line?
    This question was solved.
    View Solution.

    Hello tseng0719,
    I think it would be useful to have some more information in this case. For example:
    Which printer do you have? Do this happen when you copy from the flatbed or from the adf? Do this also happen when you scan a picture?
    A quick tip would be to clean the scanner glass as it migh very well be that it's just down to dirt on the glass (especially if this happens when you scan via the adf).

  • How to move the ends of skewed lines to the bleed bounds

    Hi all,
    I am developing a script that trims page items to the bleed. To achieve this I collect all page items (except text frames) located partially on the pasteboard, create a temporary mask and 'crop' them with Pathfinder's Subtract feature. However this approach doesn't work with graphic lines so I am attempting to move ends of lines to the bounds of bleed box. (I'm assuming that these are simple straight lines consisting of two end points.)
    I've figured out how to deal with orthogonal lines -- it's quite easy:
    if (theItem.constructor.name == "GraphicLine" && theItem.paths.length === 1) {
         path = theItem.paths[0];
         if (path.pathPoints.length === 2) {
              ep = path.entirePath;
              w = ep[1][0]-ep[0][0];
              h = ep[1][1]-ep[0 ][1];
              if (w > h) {
                   newEp = [ [ spreadWithBleedBounds[1], ep[0][1] ], [ spreadWithBleedBounds[3], ep[1][1] ] ];
                   path.entirePath = newEp;
              else if (h > w) {
                   newEp = [ [ ep[0][0], spreadWithBleedBounds[0] ], [ ep[1][0], spreadWithBleedBounds[2] ] ];
                   path.entirePath = newEp;
    This moves A1 to A2, B1 to B2, C1 to C2, D1 to D2.
    But how to deal with skewed lines? How to calculate coordinates for points E2 and F2? Is there some magic formula? Or can anybody point me to the right direction: e.g. some book to read?
    I guess this has something to do with geometry/trigonometry, but I haven't studied this stuff at school. (I graduated an art school -- studied to draw nude models instead.)
    If someone is going to answer to my question, please do it on elementary level since I am a total noob in this.
    Below is the whole script:
    if (Number(String(app.version).split(".")[0]) == 7) ErrorExit("This script can't work with InDesign CS5 so far.", true);
    var doc = app.activeDocument;
    var spreadBounds, spreadWithBleedBounds, gPartiallyOutOfSpreadItems;
    var ungroupErrors = 0;
    var originalHorUnits =  doc.viewPreferences.horizontalMeasurementUnits;
    var originalVerUnits =  doc.viewPreferences.verticalMeasurementUnits;
    doc.viewPreferences.horizontalMeasurementUnits = doc.viewPreferences.verticalMeasurementUnits = MeasurementUnits.INCHES;
    doc.viewPreferences.rulerOrigin = RulerOrigin.spreadOrigin;
    doc.zeroPoint = [0, 0];
    if (doc.layers.itemByName("Temporary Layer") == null ) {
         var tempLayer = doc.layers.add({name:"Temporary Layer"});
    else {
         var tempLayer = doc.layers.itemByName("Temporary Layer");
    UngroupAllGroups(doc.groups);
    DeleteObjectsOnPasteboard();
    ProcessSpreads(doc.spreads);
    ProcessSpreads(doc.masterSpreads);
    tempLayer.remove();
    doc.viewPreferences.horizontalMeasurementUnits = originalHorUnits;
    doc.viewPreferences.verticalMeasurementUnits = originalVerUnits;
    var msg = (ungroupErrors > 0) ? " Failed to ungroup " + ungroupErrors + " groups since they are too large." : "";
    alert("Done." + msg, "Trim Pages Script");
    //================================== FUNCTONS ===========================================
    function ProcessSpreads(spreads) {
         var spread, path, ep, w, h;
         for (var s = 0; s < spreads.length; s++) {
              spread = spreads[s];
              spreadBounds = GetSpreadBound(spread, false);
              spreadWithBleedBounds = GetSpreadBound(spread, true);
              gPartiallyOutOfSpreadItems = GetPartiallyOutOfSpreadItems(spread);
              var theItem, theMask, newItem;
              for (var i = gPartiallyOutOfSpreadItems.length-1; i >= 0; i--) {
                   theItem = gPartiallyOutOfSpreadItems[i];
                   if (theItem.constructor.name == "GraphicLine" && theItem.paths.length === 1) {
                        path = theItem.paths[0];
                        if (path.pathPoints.length === 2) {
                             ep = path.entirePath;
                             w = ep[1][0]-ep[0][0];
                             h = ep[1][1]-ep[0 ][1];
                             if (w > h) {
                                  newEp = [ [ spreadWithBleedBounds[1], ep[0][1] ], [ spreadWithBleedBounds[3], ep[1][1] ] ];
                                  path.entirePath = newEp;
                             else if (h > w) {
                                  newEp = [ [ ep[0][0], spreadWithBleedBounds[0] ], [ ep[1][0], spreadWithBleedBounds[2] ] ];
                                  path.entirePath = newEp;
                   else {
                        theMask = CreateMask(spread);
                        try {
                             newItem = theMask.subtractPath(theItem);
                        catch (err) {
                             $.writeln("2 - " + err);
                             theMask.remove();
    function IsPartiallyOutOfSpread(pageItem) {
         var result = false;
         if (pageItem.constructor.name == "TextFrame" ||
              pageItem.constructor.name == "Group" ||
              pageItem.parent.constructor.name == "Group")
              return result;
         var visBounds = pageItem.visibleBounds;
         if (visBounds[0] < spreadBounds[0] && visBounds[2] > spreadBounds[0] ||
              visBounds[1] < spreadBounds[1] && visBounds[3] > spreadBounds[1] ||
              visBounds[2] > spreadBounds[2] && visBounds[0] < spreadBounds[2] ||
              visBounds[3] > spreadBounds[3] && visBounds[1] < spreadBounds[3]  ) {
              result = true;
         return result;
    function GetSpreadBound(spread, bleed) { // including bleed -boolean
         if (bleed == undefined) bleed = false;
         with (doc.documentPreferences) {
              var topBleed = documentBleedTopOffset
              var leftBleed = documentBleedInsideOrLeftOffset;
              var bottomBleed = documentBleedBottomOffset;
              var rightBleed = documentBleedOutsideOrRightOffset;
         var bFirst = spread.pages.item(0).bounds; // bounds of the first page
         var bLast = spread.pages.item(-1).bounds; // bounds of the last page
         return [     ((bleed) ? bFirst[0]-topBleed : bFirst[0]),
                        ((bleed) ? bFirst[1]-leftBleed : bFirst[1]),
                        ((bleed) ? bLast[2]+bottomBleed : bFirst[2]),
                        ((bleed) ? bLast[3]+rightBleed : bLast[3])
    function CreateMask(spread) {
         var unitValue = new UnitValue (app.pasteboardPreferences.minimumSpaceAboveAndBelow, "mm");
         var unitValueAsInch = unitValue.as("in");
         var outerRectangleBounds = [spreadWithBleedBounds[0]-unitValueAsInch,
                                                                spreadWithBleedBounds[1]-8.07,
                                                                spreadWithBleedBounds[2]+unitValueAsInch,
                                                                spreadWithBleedBounds[3]+8.07
         var outerRectangle = spread.rectangles.add(tempLayer, undefined, undefined, {geometricBounds:outerRectangleBounds});
         var innerRectangle = spread.rectangles.add(tempLayer, undefined, undefined, {geometricBounds:spreadWithBleedBounds, fillColor:doc.swatches.item("Black"), fillTint:30});
         var mask = outerRectangle.excludeOverlapPath(innerRectangle);
         return mask;
    function GetPartiallyOutOfSpreadItems(spread) {
         var allPageItems = spread.allPageItems;
         var partiallyOutOfSpreadItems = [];
         var currentItem;
         for (var i = 0; i < allPageItems.length; i++) {
              currentItem = allPageItems[i];
              if (IsPartiallyOutOfSpread(currentItem)) partiallyOutOfSpreadItems.push(currentItem);
         return partiallyOutOfSpreadItems;
    function DeleteObjectsOnPasteboard() {
         var objs = app.documents[0].pageItems.everyItem().getElements();
         while (obj=objs.pop()) {
              try {
                   if(obj.parent instanceof Spread || obj.parent instanceof MasterSpread){ obj.remove() }
              catch(err) {
                   //$.writeln("2 - " + err);
    function ErrorExit(myMessage, myIcon) {
         alert(myMessage, "Trim Pages Script", myIcon);
         exit();
    function UngroupAllGroups(groups) {
         for (var i = groups.length-1; i >= 0; i--) {
              var gr = groups[i];
              if (gr.groups.length > 0) {
                   var subGroups = [];
                   for (var j = gr.groups.length-1; j >= 0; j--) {
                        subGroups.push(gr.groups[j].id);
                   try {
                        gr.ungroup();
                   catch(err) {
                        //$.writeln("1 - " + err);
                        ungroupErrors++;
                   for (var k = subGroups.length-1; k >= 0; k--) {
                        try {
                             doc.groups.itemByID(subGroups[k]).ungroup();
                        catch(err) {
                             //$.writeln("2 - " + err);
                             ungroupErrors++;
              else {
                   try {
                        gr.ungroup();
                   catch(err) {
                        //$.writeln("1 - " + err);
                        ungroupErrors++;
    Thanks in advance.
    Kasyan

    Hi Kasyan!
    I didn't try to integrate this into your script, so you might have to adjust it a little bit. The trick is to define a function that finds the intersection point of two lines --- and, obviously, you should only call it for the lines that are sure to cross the page border! (Otherwise, it would simply extend *any* line up and over the border.)
    I think it would be wise to allow for a tiny error for lines that appear to run "up to" the page edge -- I tested a line for "x <= 0" on a line that appeared to start on 0; the control panel told me so. However, I didn't type that 0 in; I dragged the line to the edge. Apparently, it was *NOT* at precisely "0mm", but something like "0.001mm", because the script simply didn't "see" the line.
    My function comes from this page: http://local.wasp.uwa.edu.au/~pbourke/geometry/lineline2d/ and I didn't test what it does to orthogonal lines
    (but of course you could add this as an exception), and this is my line-extending script, with a little wrapper to set things up.
    The function tests *any* line against *any* other line, so if one crosses the page bounding box, I get the intersection with the bleed box on the side where it crosses the page bbox.
    line = app.selection[0];
    // pg size in "regular" [y1,x1, y2,x2] format
    pagebbox = [0,0, app.activeDocument.documentPreferences.pageHeight,app.activeDocument.documentPreferences.pageWidth ];
    bleedDist = 5; //
    bleedbbox = [ pagebbox[0] - bleedDist, pagebbox[1] - bleedDist, pagebbox[2] + bleedDist, pagebbox[3] + bleedDist ];
    pt1 = line.paths[0].pathPoints[0].anchor;
    pt2 = line.paths[0].pathPoints.lastItem().anchor;
    // Start point:
    if (pt1[0] <= pagebbox[1] || pt1[0] >= pagebbox[3] ||
    pt1[1] <= pagebbox[0] || pt1[1] >= pagebbox[2])
    if (pt1[0] <= pagebbox[1])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[1], bleedbbox[0]], [bleedbbox[1], bleedbbox[2] ] ] );
    if (pt1[0] >= pagebbox[3])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[3], bleedbbox[0]], [bleedbbox[3], bleedbbox[2] ] ] );
    if (pt1[1] <= pagebbox[0])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[1], bleedbbox[0]], [bleedbbox[3], bleedbbox[0] ] ] );
    if (pt1[1] >= pagebbox[2])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[1], bleedbbox[2]], [bleedbbox[3], bleedbbox[2] ] ] );
    line.paths[0].pathPoints[0].anchor = intersectPt;
    // End point:
    if (pt2[0] <= pagebbox[1] || pt2[0] >= pagebbox[3] ||
    pt2[1] <= pagebbox[0] || pt2[1] >= pagebbox[2])
    if (pt2[0] <= pagebbox[1])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[1], bleedbbox[0]], [bleedbbox[1], bleedbbox[2] ] ] );
    if (pt2[0] >= pagebbox[3])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[3], bleedbbox[0]], [bleedbbox[3], bleedbbox[2] ] ] );
    if (pt2[1] <= pagebbox[0])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[1], bleedbbox[0]], [bleedbbox[3], bleedbbox[0] ] ] );
    if (pt2[1] >= pagebbox[2])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[1], bleedbbox[2]], [bleedbbox[3], bleedbbox[2] ] ] );
    line.paths[0].pathPoints.lastItem().anchor = intersectPt;
    function IntersectionPt (ln1, ln2)
    var ua;
    var x1 = ln1[0][0], x2 = ln1[1][0], x3 = ln2[0][0], x4 = ln2[1][0];
    var y1 = ln1[0][1], y2 = ln1[1][1], y3 = ln2[0][1], y4 = ln2[1][1];
    ua = ((x4 - x3)*(y1 - y3) - (y4 - y3)*(x1 - x3))/((y4 - y3)*(x2 - x1) - (x4 - x3)*(y2 - y1));
    return [ x1 + ua*(x2-x1), y1 + ua*(y2-y1) ];

  • How I fixed the colored vertical lines on my Mac Powerbook G4 17"

    Hello all,
    I know that many people with a Powerbook G4 17" are suffering from the colored vertical line problem on their displays.  This is were a pixel wide vertical line of color (yellow, green, purple, red, and/or blue) randomly appears on the laptop's display, usually between 24-36 months after purchase.  This is also known on various internet forums as the "bridget riley effect" -- named after a painter whose art looks very similar to this effect.  Many, if not all, of the laptops that suffer from this defect are 17" displays and have a serial number that starts with W8.  Mine starts with W85; you can check yours by looking underneath the battery.  It usually starts off as just one line, then two, then a few months pass and before you know it your screen looks like this:
    This is my screen two years after the first line showed up, which was two and half years after getting it in December of 2005.  Not so pretty. And completely useless without an external display, kind of killing the purpose of a Laptop.  As a film editor I needed my screen to see the images and more importantly I needed it to be mobile.  There's not always a screen to plug into. 
    I tried getting Apple to fix the problem, but apparently they're just ignoring the fact that almost all the laptops that came from this certain factory in Thailand (indicated by the serial number starting with W8) have failing displays.  They delete threads and forums on their website, and try to censor and ignore the problem as much as they can.  Unless some huge media blitz happens, or there is some kind of legitimate lawsuit, I highly doubt they ever will do anything about it, and you can't really blame them.  They are a big business and addressing this problem with cost them potentially millions in repairs and tarnish their reputation as a quality manufacturer, and Apple's biggest commodity is its reputation.  It ***** that Apple allowed this kind of thing to happen, but as things stand right now, it would be a poor business decision to fix it.
    So, fellow vertical line sufferers, AKA the W8 club, my advice to you is stop holding out hope that they will pay for your screen to be fixed and get it done yourself!  If you do it right you can get it done for between $60-$99.  Here's how I did it. 
    First off, know that this is a hardware problem.  There is no setting in system preferences you can change that will make the lines go away.  There are failing physical parts in your computer to blame and they need to be replaced. 
    Second, in order to keep things as cheap as possible, you are going to replace the parts.  It's actually pretty easy.
    Thirdly, you are going to need a whole new display.  I thought maybe if I replaced the display data cable (the cable that runs from the computer under the key board to the back of the screen) it might solve the problem very cheaply, since a brand new one only costs about $9 online.  I took the computer apart, replaced the cable, but the display did not change at all.  So the problem is the screen, not the cable.  I needed a whole new screen, however, a brand spanking new one can cost between $350-$600.  So I went on eBay, typed in my computer, and looked for computers that were being sold for "parts" or "repair."  These are usually much cheaper because they are not working computers, but you don't need the computer to work, you just need the display to work.  If you do this, make sure you read the descriptions.  If there's any mention of display problems, move on and keep looking.  You don't want to replace the display only to have the lines show up all over again a few months down the line.  They wont always give you the serial number, but obviously try to stay away from serial numbers that start with W8.  I found a used Powerbook being sold for parts for $63.  It didn't have RAM, or a Hard-drive, or screws to keep the keyboard on, but the display apparently had no issues.  With shipping and handling it cost me $94 total and three days to get it.  The serial number started with V7.  I'm sure with a little patience and vigilance, you can find something just as cheap or even cheaper. 
    NOTE: Some powerbooks have High-Res display screens, so make sure you know which screen yours has so you know which to look for. 
    Now, how to actually replace the display.  I used an awesome website called ifixit.com.  They give you detailed easy-to-follow instructions with photographs.  I'll let them give you the nitty gritty of how to replace the display.  Here is the actual How-to guide I used:
    http://www.ifixit.com/Guide/Installing-PowerBook-G4-Aluminum-17-Inch-1-1-67-GHz- Display/258/1
    The only tools you really need are a small phillips head screwdriver and a T6 and T8 Torx screwdriver (they are starred on the end, as oppose to crossed like the end of a phillips head).  They say you need a "spudger" but I didn't.  You can get these at any hardware or auto-parts store.  Return them when your done if you are really on a budget, but you might want to take more part from this new computer in the future, so your call.  You'll need to print out the instructions first, or use another computer to follow them since you obviously can't use your Powerbook.  Find a flat, well-lit work space, preferably near a TV so you don't get bored while working, and use the how-to guide to switch the old display with the new one.  It only took me a couple of hours to finish the whole thing, and I didn't have to pay a repair man hundreds.  My display works perfectly now!  It's so nice to be have the mobility of a laptop again (especially since the computer i got off of eBay came with a battery that can actually hold a charge).
    NOTE: There are a bunch of screws and a few small parts that will need to be taken out while replacing the display, and its important they all go back in their proper spots.  So I highly recommend you take a long piece of tape, loop it, and stick it flat onto the side of your work space.  As you take out each screw or small part, stick them in order to the tape.  This way nothing gets lost and when you work backwards to put your computer back together you'll always know which screw or small part is next in line and which one the how-to guide is referring to.
    I really hope this helps people with this problem.  This seems to be the only solution.  And for less than $100 bucks, I think its worth it, especially since you now have back up parts for any other part of your computer that might fail in the future.  My disc drive stopped working recently so I'm replacing it with the one that came with the computer I got off eBay; a $90 part.  I tried to make this as easy-to-follow, practical, and comprehensive as I could -- for as cheap as I could.  GOOD LUCK!!!
    -R

    I suspect not. There are long threads with hundreds of reports, most with PowerBooks whose serial numbers began with W8 (or W85). Still there is no Repair Extension Program for this issue.
    At this point, your only recourse is to discuss the issue with Apple Consumer Relations at 1-800-767-2775, if you are in North America.

  • Preserve a single space at the end of line using spool command

    Hi,
    Can you please help me to write the result of an sql query into a file with the last column of the row ending with a single space?
    For example:
    COL1DATA|COL2DATA|COL3DATA<space1>
    As mentioned in the example the col3 value in the file should end with a single space. And there should not be any delimiters at the end of the row.
    I tried with set trimspool on/off. But, it didn't work. When I say trimspool on - it is trimming all the trailing spaces.
    When I say trimspool off - it is retaining all the trailing spaces to the size of the line.
    But, I do not wish to modify the file through shell commands once it is written thru spool. I mean I do not wish to append spaces to the end of a line using shell script or any other method.
    I do not wish to use other methods like UTL_FILE also.
    Please help me how to do it using spool command?
    Thank you.
    Ramana

    My requirement is that all the trailing spaces should be truncated except the last one in the row.Why?
    As you have discovered a single column in sqlplus, is always a fixed length regardless of the size of the data, if the length of the data varies the output is padded to the maximum or line size with spaces. The trim and trimpsool commands are there to remove all the spaces from the end of a line if there are any. There are no commands to trim all the spaces except one, or even to trim all the spaces except two, or three even.
    If you want such custom processing you should post process the file in the OS using sed, awk or perl or something designed for such things.

Maybe you are looking for

  • A network related or instance specific error when I run VS2005 application

    I am new to programming, I am a system and network engineer so not much understanding in coding. I have an application which has been created in VS2005 .net which has an sql database. The SQL server version is 2000 which is running on Windows 2003 se

  • Screen color is off on mac mini and recalibrating doesn't seem to help

    the colors on my screen are off and I've tried recalibrating it at least 10 times and there is very little change to no change. is there an easier way like just resetting them to default or something?

  • Infinity and MSN

    Has anyone come up with a definitive answer to why msn disconnects all the time when using BT Infinity?  i would love to know as it is really annoying me Andy

  • How to add button on heading just like this page in template?

    Hi, I'd like to create template that have many buttons on heading just like this page. But in the wizard to create template, it can only add three button: one for application,another for home,and the other for help. What should I do? Do I create temp

  • Mail Feature Request: "Change spellcheck language" button

    Hello I am writing Emails in three different languages and find it very tedious in Mail to change the language of the spellcheck. For people living in the English speaking part of the world it is probably a feature not so often used, but in other par