Too slow to generate QRCode. There are alternative methods?

Hi, I write a code to make a QR code.

First, I write using selection... it's the relevant part:

for (var iy = 0; iy < riga; iy ++) {//riga is the number of modules in a row of the QR

for (ix var = 0; ix < riga; ix ++) {//QR is a square modules, even in columns

If (qrcode [ix] [iy] == true) {//qrcode is an array of arrays... a matrix whose value is true if the place in this position is black}

var _x = ix * s;     s is the size of the qr code squares little unit, in this case, its value is 8 pixel

FLF var = iy * s;

selectedRegion =

[

[_x + 0 + x, FLF + 0 + y],

[_x + 0 + x, FLF + s + y],

[_x + s + x, FLF + s + y],

[_x + s + x, FLF + 0 + y]

];

Add to selection

MyDoc.Selection.Select (selectedRegion, SelectionType.EXTEND);

}

}

}

Fill the selection with a solid color

var squareColor = new RGBColor;

squareColor.hexValue = '000000 ';

MyDoc.Selection.Fill (squareColor);

MyDoc.Selection.Deselect ();

This work, but is very slow because it must create a selection square for more than 3000 times.

Now, I am using path and all the way of the Fund before this drawing in the document.

This is the code, but none work

/*
lineArray var = [];
arrn var = 0

for (iy = 0; iy < riga; iy ++) {}

for (ix var = 0; ix < riga; ix ++) {}
If (qrcode [ix] [iy] == true) {}
var _x = ix * s;
FLF var = iy * s;
for (i = 0; i < 4; i ++) {}
Alert (IX)
Alert (i)
lineArray [arrn + i] = new PathPointInfo;
[arrn + i] .kind lineArray = PointKind.CORNERPOINT;
{Switch (i)}
case 0: lineArray [arrn + i] .anchor = [parseInt (x + _x), parseInt (y + FLF)];
break;
case 1: lineArray [arrn + i] .anchor = [parseInt (x + _x), parseInt (FLF, y + s)];
break;
case 2: lineArray [arrn + i] .anchor = [parseInt (x + _x + s), parseInt (FLF, y + s)];
break;
box 3: lineArray [arrn + i] .anchor = [parseInt (x + _x + s), parseInt (y + FLF)];
break;
}
Alert (lineArray [arrn + i]. Anchor)
lineArray [arrn + i] .leftDirection = .anchor lineArray [arrn + i];
lineArray [arrn + i] .rightDirection = .anchor lineArray [arrn + i];
}
Alert (arrn)
arrn = arrn + 4;
}
}
}

var lineSubPathArray = new SubPathInfo();

lineSubPathArray.closed = true;

lineSubPathArray.operation = ShapeOperation.SHAPEADD;

lineSubPathArray.entireSubPath = lineArray;

var myPathItem = mydoc.pathItems.add ("myPath", [lineSubPathArray]) ;*/

the error is invalid parameter in the last line. I know that it is incomplete because the diagonal lines of one square to the other...

I just want to know if it is possible, or if you have an idea to make this generation of qr code faster... whit any method

Sorry for my bad English!

I answer myself.

This work very well

//Script by [email protected]
//This script draw a QR code whit path
//QR code matrix is generated by "qrcode.js" included script, search it whit google
#include "includes/qrcode.js"
var mydoc = app.documents.add( 600, 600, 72, "tmp", NewDocumentMode.RGB, DocumentFill.WHITE );
var bianco = new SolidColor;
bianco.rgb.red = 255;
bianco.rgb.green = 255;
bianco.rgb.blue = 255;
bianco.rgbcol = new RGBColor;
bianco.rgbcol.hexValue = "FFFFFF";
var nero = new SolidColor;
nero.rgb.red = 0;
nero.rgb.green = 0;
nero.rgb.blue = 0;
nero.rgbcol = new RGBColor;
nero.rgbcol.hexValue = "000000";
//  FOR TESTING CLEAR DOCUMENT EVERY TEST
/*    mydoc.pathItems.removeAll();
    mydoc.selection.selectAll();
    mydoc.selection.fill(bianco.rgbcol,ColorBlendMode.NORMAL);
    mydoc.selection.deselect();*/

function disegnaQR(x,y,dim,contenuto){                //DRAW QR FUNCTION

    var qr = new QRCode(-1, QRErrorCorrectLevel.L)
    qr.addData(contenuto);
    qr.make();
    var qrcode = qr.modules; //qrcode is the matrix array of modules (squares) of QR. Values of modules can be false if white, true if black.
    var rs = parseInt(qrcode.length*qrcode.length); //Total number of modules
    var riga = Math.floor(qrcode.length) //modules in a row
    var s = Math.floor((mydoc.width/riga));   //s is the value of every square of the qr in points unit. Path works only in points
    var PPI = new Array(); //array of all qr paths point. Is an Array of closed paths.
    var puntiFatti = new Array(); //array of points already done by the script
    var punt = 0 //counter for PPI points, it reset every time a path is closed
    var numPath = 0; //counter for PPI closed paths
    var lineSubPathArray = new Array() //the array formatted for create every single subpath
    for (iy = 0; iy < riga+1; iy++) { //for loop for assign false value to every element of "puntifatti". It become a void clone of qrcode.
        puntiFatti[iy] = new Array
        for (var ix = 0; ix < riga+1; ix++){
            puntiFatti[iy][ix] = false
        }
    }
    for (var iy = 0; iy < riga; iy++) { //Loop trought all value of qr code column
        for (var ix = 0; ix < riga; ix++){ //Loop trought all value of qr code row

            bordo = calcolaBordo(ix,iy,riga); //"calcolabordo" function return where every square [ix,iy] is situated: if is at one border or at an angle.
                                            //It need for assign "false" value to square near the points that is not into the qrcode matrix. Example, first point in the top left
                                            //of the qr code,  is surrounded by only 1 square, the first top left. The function "combinazione" need to know the pattern of
                                            //all 4 square that surrounding every point; by the result of calcolabordo, function "combinazione" assign false to the "virtual" squares
                                            //bottom left, top left and top right because qrcode has not that value (qrcode[-1,0],qrcode[-1,-1],qrcode[-1,0]).
            controlloPrimo = combinazione (ix, 0, iy, 0, bordo, qrcode, false); //combinazione function returns the direction of the path calculated from the pattern of 4 modules (squares)
                                                                            //around the point iy,ix
            if (qrcode[ix][iy] == true && puntiFatti[ix][iy] == false//if the module value is true (black square), if it is not done (var puntiFatti),
            && controlloPrimo != "bianco" && controlloPrimo != "no"){//if around the point there are not 4 black square or 4 white square. (sorry for "no" instead "nero" :)
                PPI[numPath] = new Array(); //declares that PPI[numPath] is an array
                var _x = (ix * s) + x; //move the start point of this module from the left
                var _y = (iy * s) + y; //move the start point of this module from the right

                var partenzax = _x; //save the first point x (is used for determinate when path is closed)
                var partenzay = _y; //save the first point y (is used for determinate when path is closed)
                PPI[numPath][punt] = new PathPointInfo;                     //create first point of the "numPath" path in the PPI array
                PPI[numPath][punt].kind = PointKind.CORNERPOINT;            //create first point of the "numPath" path in the PPI array
                PPI[numPath][punt].anchor = [_x,_y];                        //create first point of the "numPath" path in the PPI array
                PPI[numPath][punt].leftDirection = PPI[numPath][punt].anchor;//create first point of the "numPath" path in the PPI array
                PPI[numPath][punt].rightDirection = PPI[numPath][punt].anchor;//create first point of the "numPath" path in the PPI array
                puntiFatti[ix][iy] = true;    //save the first point as done
                punt++; //increase point counter of PPI
                var xt = 0;    //used in the while loop that follow the path around all black square. increase if direction is right, decrease if direction is left
                var yt = 0;    //used in the while loop that follow the path around all black square. Increase if direction is down, decrease if direction is up
                var direzione = null;
                var chiuso = false;
                while(chiuso == false){ //while the path is not closed
                    bordo = calcolaBordo(ix+xt,iy+yt,riga);
                    direzione = combinazione(ix,xt,iy,yt,bordo,qrcode,false)
                    switch(direzione){ //this switch make every point of the path only if there is an angle. In this mode path has a lot less points
                        case "no": puntiFatti[ix+xt][iy+yt] = true; //This situation never occurs, but i add just for the devil :D
                                   chiuso = true;    //end the while loop
                                   PPI.splice(punt-1, 1); //remove last point (the first path point)
                        break;
                        case "su":  //case direction is up
                            var ultimaDirezione = "su"; //ultimaDirezione (lastdirection) is used in particular cases.
                            bordo = calcolaBordo(ix+xt,iy+yt-1,riga);
                            prossimaDirezione = combinazione(ix,xt,iy,yt,bordo,qrcode,direzione); //this go look the next direction to decide if make a point or not
                            if(prossimaDirezione == "su"){ //if the next direction is up again
                                puntiFatti[ix+xt][iy+yt-1] = true;//save the point as don but dont make it
                                yt = yt -1; //move the point to analyze
                            }
                            else{
                                PPI[numPath][punt] = new PathPointInfo; //create the point
                                PPI[numPath][punt].kind = PointKind.CORNERPOINT;
                                PPI[numPath][punt].anchor = [_x+(xt*s),_y+(yt*s)-s]; //position x,y-1
                                PPI[numPath][punt].leftDirection = PPI[numPath][punt].anchor;
                                PPI[numPath][punt].rightDirection = PPI[numPath][punt].anchor;
                                punt++;
                                puntiFatti[ix+xt][iy+yt-1] = true;//save the point as done
                                yt = yt - 1;
                            }
                        break;
                        case "dx":    //case direction is right
                            var ultimaDirezione = "dx";
                            bordo = calcolaBordo(ix+xt+1,iy+yt,riga);
                            prossimaDirezione = combinazione(ix,xt,iy,yt,bordo,qrcode,direzione);
                            if(prossimaDirezione == "dx"){
                                puntiFatti[ix+xt+1][iy+yt] = true;
                                xt = xt + 1;
                            }
                            else{
                                PPI[numPath][punt] = new PathPointInfo;
                                PPI[numPath][punt].kind = PointKind.CORNERPOINT;
                                PPI[numPath][punt].anchor = [_x+(xt*s)+s,_y+(yt*s)];
                                PPI[numPath][punt].leftDirection = PPI[numPath][punt].anchor;
                                PPI[numPath][punt].rightDirection = PPI[numPath][punt].anchor;
                                punt++;
                                puntiFatti[ix+xt+1][iy+yt] = true;
                                xt = xt + 1;
                            }
                        break;
                        case "sx":    //case direction is left
                            var ultimaDirezione = "sx";
                            bordo = calcolaBordo(ix+xt-1,iy+yt,riga);
                            prossimaDirezione = combinazione(ix,xt,iy,yt,bordo,qrcode,direzione);
                            if(prossimaDirezione == "sx"){
                                puntiFatti[ix+xt-1][iy+yt] = true;
                                xt = xt - 1;
                            }
                            else{
                                PPI[numPath][punt] = new PathPointInfo;
                                PPI[numPath][punt].kind = PointKind.CORNERPOINT;
                                PPI[numPath][punt].anchor = [_x+(xt*s)-s,_y+(yt*s)];
                                PPI[numPath][punt].leftDirection = PPI[numPath][punt].anchor;
                                PPI[numPath][punt].rightDirection = PPI[numPath][punt].anchor;
                                punt++;
                                puntiFatti[ix+xt-1][iy+yt] = true;
                                xt = xt - 1;
                            }
                        break;
                        case "giu":    //case direction is down
                            var ultimaDirezione = "giu";
                            bordo = calcolaBordo(ix+xt,iy+yt+1,riga);
                            prossimaDirezione = combinazione(ix,xt,iy,yt,bordo,qrcode,direzione);
                            if(prossimaDirezione == "giu"){
                                puntiFatti[ix+xt][iy+yt+1] = true;
                                yt = yt + 1;
                            }
                            else{
                                PPI[numPath][punt] = new PathPointInfo;
                                PPI[numPath][punt].kind = PointKind.CORNERPOINT;
                                PPI[numPath][punt].anchor = [_x+(xt*s),_y+(yt*s)+s];
                                PPI[numPath][punt].leftDirection = PPI[numPath][punt].anchor;
                                PPI[numPath][punt].rightDirection = PPI[numPath][punt].anchor;
                                punt++;
                                puntiFatti[ix+xt][iy+yt+1] = true;
                                yt = yt + 1;
                            }
                        break;
                        case "sugiu":    //case direction is up/down... hard to explain. Often the pattern has, in clockwise order, black white black white square.
                                        //in this cases "ultimaDirezione" is used to know the next direction.
                            switch(ultimaDirezione){
                                case "dx":
                                    var ultimaDirezione = "giu";
                                    bordo = calcolaBordo(ix+xt,iy+yt+1,riga);
                                    prossimaDirezione = combinazione(ix,xt,iy,yt,bordo,qrcode,ultimaDirezione);
                                    if(prossimaDirezione == "giu"){
                                        puntiFatti[ix+xt][iy+yt+1] = true;
                                        yt = yt + 1;
                                    }
                                    else{
                                        PPI[numPath][punt] = new PathPointInfo;
                                        PPI[numPath][punt].kind = PointKind.CORNERPOINT;
                                        PPI[numPath][punt].anchor = [_x+(xt*s),_y+(yt*s)+s];
                                        PPI[numPath][punt].leftDirection = PPI[numPath][punt].anchor;
                                        PPI[numPath][punt].rightDirection = PPI[numPath][punt].anchor;
                                        punt++;
                                        puntiFatti[ix+xt][iy+yt+1] = true;
                                        yt = yt + 1;
                                    }
                                break;
                                case "sx":
                                    var ultimaDirezione = "su";
                                    bordo = calcolaBordo(ix+xt,iy+yt-1,riga);
                                    prossimaDirezione = combinazione(ix,xt,iy,yt,bordo,qrcode,ultimaDirezione);
                                    if(prossimaDirezione == "su"){
                                        puntiFatti[ix+xt][iy+yt-1] = true;
                                        yt = yt -1;
                                    }
                                    else{
                                        PPI[numPath][punt] = new PathPointInfo;
                                        PPI[numPath][punt].kind = PointKind.CORNERPOINT;
                                        PPI[numPath][punt].anchor = [_x+(xt*s),_y+(yt*s)-s];
                                        PPI[numPath][punt].leftDirection = PPI[numPath][punt].anchor;
                                        PPI[numPath][punt].rightDirection = PPI[numPath][punt].anchor;
                                        punt++;
                                        puntiFatti[ix+xt][iy+yt-1] = true;
                                        yt = yt - 1;
                                    }
                                break;
                            }
                        break;
                        case "sxdx":
                            switch(ultimaDirezione){
                                case "su":
                                    var ultimaDirezione = "dx";
                                    bordo = calcolaBordo(ix+xt+1,iy+yt,riga);
                                    prossimaDirezione = combinazione(ix,xt,iy,yt,bordo,qrcode,ultimaDirezione); //va a vedere la prossima direzione
                                    if(prossimaDirezione == "dx"){ //se la direzione prevista per il prossimo punto è sempre dx
                                        puntiFatti[ix+xt+1][iy+yt] = true;//salva il punto come fatto e non lo scrive
                                        xt = xt + 1;
                                    }
                                    else{
                                        PPI[numPath][punt] = new PathPointInfo; //fa il puntio
                                        PPI[numPath][punt].kind = PointKind.CORNERPOINT;
                                        PPI[numPath][punt].anchor = [_x+(xt*s)+s,_y+(yt*s)]; //posizione x+1,y
                                        PPI[numPath][punt].leftDirection = PPI[numPath][punt].anchor;
                                        PPI[numPath][punt].rightDirection = PPI[numPath][punt].anchor;
                                        punt++;
                                        puntiFatti[ix+xt+1][iy+yt] = true;//salva il punto come fatto
                                        xt = xt + 1;
                                    }
                                break;
                                case "giu":
                                    var ultimaDirezione = "sx";
                                    bordo = calcolaBordo(ix+xt-1,iy+yt,riga);
                                    prossimaDirezione = combinazione(ix,xt,iy,yt,bordo,qrcode,ultimaDirezione);
                                    if(prossimaDirezione == "sx"){
                                        bordo = calcolaBordo(ix+xt+1,iy+yt+1,riga);
                                        switch(bordo){ //this is a special case.... very very hard to explain. it happend whe there are a single black square
                                                      //bottom right where the path go down then go left. Without this switch the single square topleft point
                                                      //become done and then, when the iy,ix value is thath square, the script jump it because its done....
                                                      //sorry is difficult to explain in english!! Leave this switch and see what append :D
                                            case "dx":
                                                if(qrcode[ix+xt][iy+yt] == true && qrcode[ix+xt][iy+yt+1] == false){
                                                    puntiFatti[ix+xt][iy+yt] = false;
                                                }
                                            break;
                                            case "giu":
                                                if(qrcode[ix+xt][iy+yt] == true && qrcode[ix+xt+1][iy+yt] == false){
                                                    puntiFatti[ix+xt][iy+yt] = false;
                                                }
                                            break;
                                            case "dxgiu":
                                                if(qrcode[ix+xt][iy+yt] == true){
                                                    puntiFatti[ix+xt][iy+yt] = false;
                                                }
                                            break;
                                            default:
                                                if(qrcode[ix+xt][iy+yt] == true && qrcode[ix+xt][iy+yt+1] == false && qrcode[ix+xt+1][iy+yt] == false){
                                                    puntiFatti[ix+xt][iy+yt] = false;
                                                }
                                            break;
                                        }
                                        puntiFatti[ix+xt-1][iy+yt] = true;
                                        xt = xt - 1;
                                    }
                                    else{
                                        PPI[numPath][punt] = new PathPointInfo;
                                        PPI[numPath][punt].kind = PointKind.CORNERPOINT;
                                        PPI[numPath][punt].anchor = [_x+(xt*s)-s,_y+(yt*s)];
                                        PPI[numPath][punt].leftDirection = PPI[numPath][punt].anchor;
                                        PPI[numPath][punt].rightDirection = PPI[numPath][punt].anchor;
                                        punt++;
                                        bordo = calcolaBordo(ix+xt+1,iy+yt+1,riga);
                                        switch(bordo){
                                            case "dx":
                                                if(qrcode[ix+xt][iy+yt] == true && qrcode[ix+xt][iy+yt+1] == false){
                                                    puntiFatti[ix+xt][iy+yt] = false;
                                                }
                                            break;
                                            case "giu":
                                                if(qrcode[ix+xt][iy+yt] == true && qrcode[ix+xt+1][iy+yt] == false){
                                                    puntiFatti[ix+xt][iy+yt] = false;
                                                }
                                            break;
                                            case "dxgiu":
                                                if(qrcode[ix+xt][iy+yt] == true){
                                                    puntiFatti[ix+xt][iy+yt] = false;
                                                }
                                            break;
                                            default:
                                                if(qrcode[ix+xt][iy+yt] == true && qrcode[ix+xt][iy+yt+1] == false && qrcode[ix+xt+1][iy+yt] == false){
                                                    puntiFatti[ix+xt][iy+yt] = false;
                                                }
                                            break;
                                        }
                                        puntiFatti[ix+xt-1][iy+yt] = true;
                                        xt = xt - 1;
                                    }
                                break;
                            }
                        break;
                    }
                    if(xt==0 && yt==0){chiuso = true; ultimaDirezione = "su";} //when xt and yt return to 0 the path is closed. "ultimaDirezione" is set to up
                }

                lineSubPathArray[numPath] = new SubPathInfo(); //create subpathinfo
                lineSubPathArray[numPath].closed = true;
                lineSubPathArray[numPath].operation = ShapeOperation.SHAPEXOR;
                lineSubPathArray[numPath].entireSubPath = PPI[numPath];
                numPath++; //increase numPath counter
                punt = 0; //reset point counter
            }
        }
    }
    var myPathItem = mydoc.pathItems.add("pathname", lineSubPathArray); //when all the paths of qr code are drawed it add the path to photoshop document
    myPathItem.fillPath(bianco, ColorBlendMode.DIFFERENCE,100,true,0,true,true) //and fill it of white in difference.
    //mydoc.pathItems.removeAll(); //uncomment for remove all paths when the work is done
    function calcolaBordo(ix,iy,riga){
        if(iy == 0 && ix == 0)       {return "sxsu";}//
        if(iy == 0 && ix == riga)    {return "dxsu";}//
        if(iy == riga && ix == riga) {return "dxgiu";}//
        if(iy == riga && ix == 0)    {return "sxgiu";}//
        if(iy == 0 && ix != 0 && ix != riga)    {return "su";}//
        if(iy != 0 && ix == riga && iy != riga) {return "dx";}//
        if(iy == riga && ix != 0 && ix != riga) {return "giu";}//
        if(ix == 0 && iy != 0 && iy != riga)    {return "sx";}//
        if(ix =! 0 && iy !=0 && ix != riga && iy != riga){return "no";}//
    }

    function combinazione(ix,xt,iy,yt,bordo,qrcode,direzione){
        switch (direzione){ //switch the point to analyze in base of the direction. in this mode the function can analyze the 4 point near ix,iy to determinate next direction
            case false: var px = 0; var py = 0; break;
            case "su": var px = 0; var py = -1; break;
            case "giu": var px = 0; var py = 1; break;
            case "sx": var px = -1; var py = 0; break;
            case "dx": var px = 1; var py = 0;  break;
        }
        switch (bordo){ //assign the value of the squares around the ix,iy point.
                       //if the point is at a border or at an angle, the squares that is out the qrcode matrix assume false value
            case "sxsu":
                var a = false;
                var b = false;
                var c = qrcode[ix+xt+px][iy+yt+py];
                var d = false;
            break;
            case "dxsu":
                var a = false;
                var b = false;
                var c = false;
                var d = qrcode[ix+xt-1+px][iy+yt+py];
            break;
            case "dxgiu":
                var a = qrcode[ix+xt-1+px][iy+yt-1+py];
                var b = false;
                var c = false;
                var d = false;
            break;
            case "sxgiu":
                var a = false;
                var b = qrcode[ix+xt+px][iy+yt-1+py];
                var c = false;
                var d = false;
            break;
            case "su":
                var a = false;
                var b = false;
                var c = qrcode[ix+xt+px][iy+yt+py];
                var d= qrcode[ix+xt-1+px][iy+yt+py];
            break;
            case "dx":
                var a = qrcode[ix+xt-1+px][iy+yt-1+py];
                var b = false;
                var c = false;
                var d = qrcode[ix+xt-1+px][iy+yt+py];
            break;
            case "giu":
                var a = qrcode[ix+xt-1+px][iy+yt-1+py];
                var b = qrcode[ix+xt+px][iy+yt-1+py];
                var c = false;
                var d = false;
            break;
            case "sx":
                var a = false;
                var b = qrcode[ix+xt+px][iy+yt-1+py];
                var c = qrcode[ix+xt+px][iy+yt+py];
                var d = false;
            break;
            case "no":
                var a = qrcode[ix+xt-1+px][iy+yt-1+py];
                var b = qrcode[ix+xt+px][iy+yt-1+py];
                var c = qrcode[ix+xt+px][iy+yt+py];
                var d = qrcode[ix+xt-1+px][iy+yt+py];
        }
        //this is the patterns used for know the direction of the path
        if(a == true && b == true && c == true && d == true){return "no"}//A

        if(a == false && b == true && c == true && d == true){return "su"}//B
        if(a == true && b == false && c == true && d == true){return "dx"}//C
        if(a == true && b == true && c == false && d == true){return "giu"}//D
        if(a == true && b == true && c == true && d == false){return "sx"}//E

        if(a == false && b == false && c == true && d == true){return "dx"}//F
        if(a == true && b == false && c == false && d == true){return "giu"}//G
        if(a == true && b == true && c == false && d == false){return "sx"}//H
        if(a == false && b == true && c == true && d == false){return "su"}//I

        if(a == false && b == false && c == false && d == true){return "giu"}//L
        if(a == true && b == false && c == false && d == false){return "sx"}//M
        if(a == false && b == true && c == false && d == false){return "su"}//N
        if(a == false && b == false && c == true && d == false){return "dx"}//O

        if(a == false && b == true && c == false && d == true){return "sugiu"}//P
        if(a == true && b == false && c == true && d == false){return "sxdx"}//Q
        if(a == false && b == false && c == false && d == false){return "bianco"}//R
    }

}
var testoQR = prompt("testoQR","qrcode for photoshop by Fr4nZ82");
disegnaQR(0,0,600,testoQR);

/*This is the pattern explained. Imagine the point is in the center surrounded by the for square.
  Depend on pattern the script decides where to move
        legend: # = black square
                0 = white square

##    0#    #0    ##    ##    00    #0    ##    0#    00    #0    0#    00    0#       #0     00
##    ##    ##    #0    0#    ##    #0    00    0#    #0    00    00    0#    #0       0#     00
A     B     C     D     E     F     G     H     I     L     M     N     O     P        Q      R
no    up    right down  left  right down  left  up    down  left  up    right up/down  lf/rg  white(no)*/

Tags: Photoshop

Similar Questions

  • Union all too slow for my query any alternative?

    Hello

    The following query prints the desired results. What I'm trying to do is to add to my query below is to also retrieve information from different dates (for example 01.01.2012 - 30.4.2012), more information below, but with 0 amounts. The only solution I found is to duplicate the query to a union and entry dates you want below. The problem is that, then the query is too slow.
    Any other recommendations are welcome
    SELECT s.trans_datetime,s.alloc_ref,s.accnt_code,s.treference,s.DESCRIPTN,sum(s.amount*(-1)) as amount,s.conv_code,sum(s.other_amt*(-1)) as other_amt,s.anal_t1,ss.descr,
    o.NTN_DESCR as flag,z.name as vessel_name
    FROM  accounts s, customers ss,vessel a,nation o, analysis  z,
    customers_anl_cat  z1
    where s.trans_datetime BETWEEN to_date('01.01.2013','DD.MM.YYYY') AND to_date('30.04.2013','DD.MM.YYYY')
    AND s.accnt_code=z1.acnt_code
    AND z1.anl_cat_id=17
    AND ss.ACNT_TYPE=2
    AND s.accnt_code=ss.acnt_code
    AND o.NTN_CODE=a.flg_code
    AND z.anl_code=s.anal_t1
    GROUP BY s.trans_datetime,s.alloc_ref,s.accnt_code,s.treference,s.DESCRIPTN,s.conv_code,s.anal_t1,ss.descr
    ,o.NTN_DESCR,z.name,z1.anl_code
    Thanks in advance

    794018 wrote:
    Thank you very much for your answers.

    Unfortunately, the lines of the new date in the amount and need to convert to 0 or null values

    OK... What is not eligible for a situation to replicate the query to use UNION all clause You can simply do more in select:

    Select  column_list1... column_listN,
    case when s.trans_datetime BETWEEN to_date('01.01.2013','DD.MM.YYYY') AND to_date('30.04.2013','DD.MM.YYYY') then s.amount
           when s.trans_datetime BETWEEN to_date('01.01.2012','DD.MM.YYYY') AND to_date('30.04.2012','DD.MM.YYYY') then 0
    end amount
    from table_names
    where (s.trans_datetime BETWEEN to_date('01.01.2013','DD.MM.YYYY') AND to_date('30.04.2013','DD.MM.YYYY') or s.trans_datetime BETWEEN to_date('01.01.2012','DD.MM.YYYY') AND to_date('30.04.2012','DD.MM.YYYY'))
    Other conditions Follow
    
  • Copy of the data of the disk of the virtual machine on a Local disk is too slow

    We have recently implemented vMware view.   We vSphere 5.5 and 5.2 and made Desktop visualization server.

    We have SAN as HP 3Par and Esxi hosts are HP ProLiant DL380p Gen8

    Now all trying to copy the data from the disk of the virtual machine disk of the local computer are too slow. But if we are writing data from Local disk on the disk of the virtual machine is normal. And copying data between the two virtual machine disk is also fast.

    Thanks in advance for your help

    Dear all,

    Thanks for your help.

    We have analyzed the issue in 360 degrees, and we also examined your entries. Finally, we found the problem. It was that a defective fiber link has been creating the problem.

    We have recently implemented vMware and this flaw in fiber can also happened during this period. That's why we thought it may be because of vmware.

    Thanks again for your help

  • My Apple Macbook late 2009 has been upgraded to 4 GB and Mountain Lion but runs very slowly. When I check the memory system activity monitor, I see that there are 1.6 GB inactive. Is this the cause of the slowness and what I can do?

    My Apple Macbook late 2009 has been upgraded to 4 GB and Mountain Lion but runs very slowly. When I check the memory system activity monitor, I see that there are 1.6 GB inactive. Is this the cause of the slowness and what I can do?

    Reinstall OS X from scratch and add more RAM.

    Ways to help make a slow Mac faster

    17 reasons why your Mac runs slower than expected

    Slow performance of Mac? This Article addresses!

    Difficulty of slow start in OS X | MacFixIt - CNET Reviews

    6 easy tips to speed up OS X Yosemite on your Mac.

    Avoid using third-party software that claims to clean your computer. This software does more harm than good. In addition, you don't need it. Note that all computers become slower over time even in the normal conditions of use. Generally, the experienced users erasing the hard drive and do a clean install from scratch at least once a year or every time that the installation of a major upgrade of the OS. Well sure doing so also means that you need to maintain regular and several backups.

    Add more RAM or reduce the number of simultaneously executed from applications and utilities. Remove unnecessary software such as anti-malware and that promises to clean your Mac. Look for the runaway process: Runaway applications can shorten the battery life, affect performance and increase the heat and fan acti... See also:

    Before Mavericks

    Open the activity monitor in the Utilities folder.  Select all processes in the drop process .  Click the % CPU column heading twice to display in descending order.  If find you a process that uses a large amount of time processor (> = 70,) then select the process, and then click the quit icon in the toolbar.  Click the force quit button to kill the process.  See if that helps.  Don't forget to mention the name of the runaway process, so you can find the cause of the problem.

    Mavericks and later versions

    Open the activity monitor in the Utilities folder.  Select all processes in the menu display .  Click the CPU tab in the toolbar. Click the % CPU column heading twice to display in descending order.  If you find a process that uses a large amount of CPU %, then select the process, then click on the quit icon in the toolbar.  Click the force quit button to kill the process.  See if that helps.  Don't forget to mention the name of the runaway process, so you can find the cause of the problem.

    Things you can do to solve the slow Downs

    If your computer seems to run slower, here are some things you can do:

    Start with tours: OS X maintenance - MacAttorney;

    The X Lab: the X-frequently asked questions.

    " Safe mac" Mac Performance Guide;

    " Safe mac" the myth of the dirty Mac;

    Maintenance fast Mac Help.

    Start in Safe Mode , and then repair your hard disk and permissions:

    Fix the hard disk and permissions before Lion

    Boot from your OS X install disk. After the installer loads, choose your language and click on the button continue. When the menu bar appears select utility drive in the Utilities menu. After that the charges of THE select your entry from hard drive (mfgr. ID and car size) in the list on the left.  In the status area, you will see an entry for the S.M.A.R.T. status of the hard drive.  If it does not say "Verified" then the hard drive is faulty or has failed. (State SMART is not reported on external drives Firewire or USB). If the drive is "verified", then select your OS X volume in the list on the left (subentries under the entry for the road), click the first aid tab, then click the repair disk button. If THE reports any errors that have been corrected, and then run repair disk again until no errors are reported. If no errors are reported, click repair permissions. Wait until the operation is complete, then exit FROM and return to the installer.

    Repair the hard drive - Lion-Lion/mountain/Mavericks

    HD recovery start:

    Restart the computer and after the buzzer, press on and hold down the COMMAND and R until it appears the screen of Menu utilities. Otherwise, restart the computer and after the buzzer, press on and hold down the OPTION key until the Boot Manager screen. Select recovery HD disk icon and click on the button below.

    When the recovery menu appears, select disk utility. After that the charges of THE select your entry from hard drive (mfgr. ID and car size) in the list on the left.  In the status area, you will see an entry for the S.M.A.R.T. status of the hard drive.  If it does not say "Verified" then the hard drive is faulty or has failed. (State SMART is not reported on external drives Firewire or USB). If the drive is "verified", then select your OS X volume in the list on the left (subentries under the entry for the road), click the first aid tab, then click the repair disk button. If THE reports any errors that have been corrected, and then run repair disk again until no errors are reported. If no error is not reported, then click repair permissions. Wait until the operation is complete, then exit FROM and return to the main menu. Select restart from the Apple menu.

    Restart your computer normally and see if it helped at all. Then do little maintenance:

    For disk utility can't handle situations, the best third party is Disk Warriorutility;  Fixed DW only for problems with the disk directory, but most disk problems are caused by the corruption of directory; Warrior drive 4.x is now compatible with Intel Mac.

    Note: Alsoft ships DW on a bootable DVD that will boot Mac running Snow Leopard or earlier. He cannot start Mac that came with Lion or later preinstalled, however, DW will work on these models.

    Suggestions for OS X maintenance

    OS X performs certain maintenance functions that are supposed to take place on a daily, weekly, or monthly period. Maintenance scripts that are run at the beginning AM only if the computer is turned on 24/7 (no sleep). If this isn't the case, then a great solution is to download and install a shareware like Macaroni, JAW PseudoAnacronor Anacron utility that will automate the maintenance regardless of whether activity if the computer is off or asleep.  Dependence on third-party utilities to run periodic maintenance scripts has been significantly reduced since Tiger.  These utilities have little or no functionality with Snow Leopard or later version, and must not be installed.

    OS X automatically defrags files smaller than 20 MB in size, so unless you have a disk full of very large files it little need to defragment the hard drive.

    Under no circumstances should you install operating MacPaw or ZeoBit software (CleanMyMac/CleanMyDrive or Mac Keeper, respectively.) You don't need special software to keep your computer.

    Useful links about malware Protection

    "If you have an immediate problem with ads popping up see the Mac without danger" Adware removal Guide and AdwareMedic.

    Open Safari, select Preferences from the Safari menu. Click the Extensions icon in the toolbar. Disable all Extensions. If it stops your problem, then re-enable one by one until the problem returns. Now remove this extension as it is the origin of the problem.

    The following comes from user stevejobsfan0123. I made minor changes to adapt to this presentation.

    Difficulty a few pop ups browser that supported Safari

    Common pop - ups include a message saying that the Government has taken over your computer and you pay release (often called "Moneypak"), or a false message saying that your computer has been infected and you need to call a number of tech support (sometimes claiming to be Apple) to get it to be resolved. First of all, understand that these pop-ups are not caused by a virus and that your computer has not been assigned. This "hack" is limited to your web browser. Also understand that these messages are scams, so don't pay not money, call number, or provide personal information. This article will give an overview of the solution to remove the pop-up window.

    Quit Safari

    Usually, these pop-ups will not go by clicking 'OK' or 'Cancel '. In addition, several menus in the menu bar may become disabled and show in grey, including the option to leave Safari. You'll probably force quit Safari. To do this, press command + option + ESC, select Safari, press on force quit.

    Relaunch Safari

    If you restart Safari, the page will reopen. To avoid this, hold the "Shift" key when opening Safari. This will prevent windows since the last time that Safari was running since the reopening.

    It will not work in all cases. The SHIFT key must be maintained at the right time, and in some cases, even if done correctly, the window is displayed again. In these circumstances, after force quit Safari, turn off Wi - Fi or disconnect Ethernet, depending on how you connect to the Internet. Then restart Safari normally. He'll try to reload the malicious Web page, but without a connection, it will not be able to. Leave this page by entering a different URL, i.e. www.apple.com and try to load it. Now you can reconnect to the Internet and the page that you entered is displayed rather than the malicious.

    An excellent link to read is Tom Reed Mac Guide of malicious programs.

    Also, visit the FAQ XLab and read of detection and avoid malicious software and spyware.

    Check out these articles from Apple:

    Mac OS X Snow Leopard and malware detection

    OS X Lion-Protect your Mac against malicious software

    OS X Lion mountain - protect your Mac against malicious software

    OS X Mavericks-Protect your Mac against malicious software

    On the quarantine of file under OS X

    If you need antivirus protection Thomas Reed recommends to use ClamXAV. (Thanks to Thomas Reed to this recommendation.)

    The user Joe Bailey comes this equally useful advice:

    The facts are:

    1. There is no anti-malware software can detect 100% of malware out there.

    2. There is no anti-malware that can detect all targeting the Mac.

    3. the best way to prevent breaches the most is for you as the user is aware that

    the most successful malware attacks rely on sophisticated social engineering

    techniques preying on human greed, * and fear.

    4 Internet pop-up windows telling the FBI, NSA, Microsoft, your ISP has detected malware on

    your computer is designed to trick you into installing their malware thinking it's a

    protection against malware.

    5. some of the anti-malware market products are worse than malware

    go where they are supposed to protect you.

    6. be careful where you go on the internet.

    7. don't download anything from sites, you know are safe.

    8 avoid links that you receive in email, always be wary, even if you get something

    you think a friend is, but that you did not expect.

    9. If there is any question in your mind, then assume that it is malware.

    Troubleshooting Applications

    I recommend that you download a utility such as TinkerTool System, OnyX, Mavericks Cache Cleaneror hiding a Cocktail that you can use to delete the former newspapers and archives, cleaning, etc. Corrupted cache, logs or temporary files can slow down the application or OS X crashes and panics of the kernel.

    If you have leopard snow or leopard, then for similar repairs install Applejackfreeware utility.  If you do not start in OS X, you can boot into single-user mode , where you can run Applejack to make a set of routines for repair and maintenance of the command line.  Note that it takes 1.5 AppleJack for Leopard. AppleJack 1.6 is compatible with Snow Leopard. Applejack does not work with Lion and later versions.

    Basic backup

    For some people, Time Machine will be more than enough. Time Machine is part of Mac OS X. There are two components:

    1. a panel of Time Machine preferences as part of the system of preferences;

    2. a request for Time Machine, located in the Applications folder. It's

    used to manage backups and restore backups. Time Machine

    requires a backup drive that is at least twice the capacity of the

    drive being backed up.

    You can also get an external drive at least equal to the size hard disk internal and make (and maintain) a bootable clone/backup. You can make a bootable clone using the disk utility's restore option. You can also create and maintain clones with good backup software. My personal recommendations are (the order is not significant):

    1 Carbon Copy clone

    2. get backup

    3 already seen

    4 superDuper!

    5. Synk Pro

    6. Tri-Backup

    Visit The FAQ XLab and read the FAQ on the backup and restore.  Also read How to back up and restore your files. For using Time Machine, visit FAQ Time Machine of Pondini for help with all this time Machine.

    Referenced software can be found at MacUpdate .

    Additional tips

    Make sure you have a sufficient amount of RAM installed for the number of applications you run simultaneously. Make sure to leave a minimum of 10% of the capacity of the hard disk as free space.

    Add more RAM. If your computer less than 2 GB of RAM and you use OS X Leopard or later, then you can do it with more RAM. Snow Leopard and Lion works much better with 4 GB of RAM that is their system. Most concurrent applications, that you tend to use the more RAM you should have.

    Always have at least 15 GB, or 10% of the capacity of your hard disk as free space, the largest. OS X frequently accesses your hard disk, so offering enough free space will keep things slow down.

    Check for applications that may be hogging the CPU:

    Before Mavericks

    Open the activity monitor in the Utilities folder.  Select all processes in the drop process .  Click the % CPU column heading twice to display in descending order.  If find you a process that uses a large amount of time processor (> = 70,) then select the process, and then click the quit icon in the toolbar.  Click the force quit button to kill the process.  See if that helps.  Don't forget to mention the name of the runaway process, so you can find the cause of the problem.

    Mavericks and later versions

    Open the activity monitor in the Utilities folder.  Select all processes in the menu display .  Click the CPU tab in the toolbar. Click the % CPU column heading twice to display in descending order.  If find you a process that uses a large amount of time processor (> = 70,) then select the process, and then click the quit icon in the toolbar.  Click the force quit button to kill the process.  See if that helps.  Don't forget to mention the name of the runaway process, so you can find the cause of the problem.

    This problem occurs often because of a corrupted cache or the preferences file or an attempt to write in a corrupted log file.

  • Browsers are too slow - need help

    Hello

    Suddenly, since a few days - my browsers [Safari & Chrome] becomes too slow... I even deleted the history too

    I need assistance her please

    Yet one thing... is there any photo editor/Paint Brush in iMAC... applications data?

    See you soon

    Pruthvisena

    It can be cache or issue cookies. Try to reset the settings of Safari:

    1. open Safari

    2. click on the Safari menu at the top (to the right of the Apple logo)

    3. Select the Preferences/Privacy tab

    4. click on remove all data from the Web site

    5. close Safari.

    Remove cache Safari files:

    1. click on finder

    2. look for the menu GO to top

    3. click on GO and hold down the option key. This will show a user library folder.

    4. click library and find the Caches folder

    5. in the folder caches com.apple.Safari Ouvrezledossier

    6. move the Cache.db file Trash.

    This should solve the problem. If it does not help, try to disable the Safari extensions

    1. open Safari

    2. click on the Safari menu at the top (to the right of the Apple logo)

    3. Select Preferences

    4. find the Extensions tab

    5 disable all extensions of

    6. relaunch Safari

  • I am running xp family on an old PC 7yr. Task mgr shows Im using 100% CPU resources veryenen, resulting in slow or frozen PC. Seems there are 60 at bottom. KS

    How can I reduce the number of processes running in the background? 100% CPU often allows. Thank you

    Use Autoruns to understand this all starts when your computer's / when you log in.  Look for whatever it is you do not know using Google (or ask here.)  You can hopefully figure out if there are things from when your computer does (or connect) you don't not need and then configure them (through their own built-in mechanisms is the preferred method) so they do not - start using your resources without reason.

    You can download and use Process Explorer to see exactly what is taking your time processor/CPU and memory.  This can help you to identify applications that you might want to consider alternatives for and get rid of all together.

    More information are among the volunteers S. Stanley, hope this helps.

  • How OE 6.0 behaves if there are too many messages stored in the Inbox or sent folders?

    Ability of OE message

    How OE 6.0 behave if there are too many messages stored in the Inbox or sent folders. And the number depends on whether or not they have been read. Is there a limit on the file deleted or is it supported by Auto removes permanent?

    Partially covered in your other post.

    General precautions for Outlook Express:

    Do not archive mail in the receipt or sent items box. Create your own user-defined folders and move messages you want to put in them. Empty the deleted items folder daily. Although the dbx files have a theoretical capacity of 2 GB, I recommend all a 300 MB max for less risk of corruption.

    Information on the maximum size of the .dbx files that are used by Outlook Express:
    http://support.Microsoft.com/?kbid=903095

    After you're done, followed by compacting your folders manually while working * off * and do it often.

    Click Outlook Express at the top of the the folder tree so no folders are open. Then: File | Work offline (or double-click on work online in the status bar). File | Folder | Compact all folders. Don't touch anything until the compacting is completed.

    Disable analysis in your e-mail anti-virus program. It is a redundant layer of protection that devours the processors and causes a multitude of problems such as time-outs and account setting changes. Your up-to-date A / V program will continue to protect you sufficiently. For more information, see:
    http://www.oehelp.com/OETips.aspx#3

    And backup often.

    Outlook Express Quick Backup (OEQB Freeware)
    http://www.oehelp.com/OEBackup/default.aspx

  • I have many windows security updates and are now too much room. Is there a program that will reduce the amount of space being taken up?

    I want to free memory space and have years of security updates to windows of the pak series 3 services. Is there a way to free up space or I will damage the operating system?

    There are a number of things you can do to- temporarily - free up disk space.  The only real solution, however, is to get a bigger internal hard drive.   You can move the data to an external drive, but if it's the data that you use frequently, slower access times may annoy you.  Therefore, I do not recommend that you move your My Documents folder in its entirety on an external drive, but you can certainly do this by following the related instructions.

    • You can run Disk Cleanup (start > run > cleanmgr > OK)
    • You can reduce the size allocated for the restoration of the system to about 1 GB (right click on desktop > properties > system restore > settings)
    • You can disable hibernation (if you don't use it) (right click on an empty spot on the desktop > properties > screen saver > power > Hibernate)
    • You can disable the indexing of the drive, which will also speed up your computer a bit (http://lifehacker.com/031440/turn-off-indexing-and-speed-up-windows-xp)
    • You can reduce the size of your Internet browser cache (depending on the browser that you use)
    • You can remove most of the $NTUninstallKBxxxxxx files $ following the directions here: http://windowsxp.mvps.org/Hotfix_backup.htm (read the warnings in the gray box first)
    • See also:

    " How to recover disk space on Windows Server 2008 and Windows XP computers? ."

    " Forty ways to free disk space ."

    But none of these answers you will earn really large amounts of space for very long.  The term solution time is a bigger hard drive.

    In the meantime, download and run JDiskReport, that will show you graphically what files take up more space and seem to so indicate what files you must move it to your external drive.  If you want to move an application on an external drive, you will need to uninstall and then reinstall it specifying your external drive as the installation location (and even then, it is likely going to install some files on your main system drive).  You can not simply move the files.

  • Speed conection too slow area

    my local connection speed is 100.0mbps that is too slow is there a way I can do the speed quickly harder to download need help

    Contact your ISP.

  • Horizontal size of the taskbar button is too small, as if there are several buttons, he the overcrowding.

    I downloaded a program called Styler which changes the appearance to look like Windows 7 or Royal themes. It worked fine for the first days, until that day when my laptop could not start after hibernation, so I hard-rebooted, and the horizontal size of the taskbar button is too small. I tried to restart, change the appearance back, locking/unlocking/resizing of components of taskbar. I wish I could send a screenshot. Yes, I have these vertical bars displayed and all, and no, they do not change it. I use as a separate program called AlienGUIse Alienware, which has not had a problem in 2 years, I got it, and it didn't fix it either.

    Why I say that it is as if there are many buttons clutter is the "group similar taskbar buttons" function. I figured out how to put the picture of the problem in my profile to do this, click on it.

    Someone has replied

    a system restore point worked!

  • ORA-01555: snapshot too old when there are expired blocks

    BANNER

    ----------------------------------------------------------------

    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - production

    PL/SQL Release 10.2.0.4.0 - Production

    CORE 10.2.0.4.0 Production

    AMT for Linux: release 10.2.0.4.0 - Production

    NLSRTL Version 10.2.0.4.0 - Production

    We set the size cancellation tablspace to 2 GB with undo_retention duration of 1 hour.

    We get ORA-01555: snapshot too old: rollback segment number 51 with the name ' _SYSSMU51$ ' too small error when running the purge process.

    I want to know if there are expired blocks available and fly count for blocks remaining is 0, so why we get error ORA-01555.

    According to below the result of the query:


    EXPIREDBLKS = 138616

    UNXPSTEALCNT = 0

    set line 2000
    SELECT *
    FROM dba_hist_UNDOSTAT
    where ssolderrcnt <> 0
    
    
    
    
    

    BEGIN_TIME            END_TIME              DBID INSTANCE_NUMBER SNAP_ID UNDOTSN UNDOBLKS TXNCOUNT MAXQUERYLEN MAXQUERYSQLID MAXCONCURRENCY UNXPSTEALCNT UNXPBLKRELCNT UNXPBLKREUCNT EXPSTEALCNT EXPBLKRELCNT EXPBLKREUCNT SSOLDERRCNT NOSPACEERRCNT ACTIVEBLKS UNEXPIREDBLKS EXPIREDBLKS TUNED_UNDORETENTION
    --------------------- --------------------- ---- --------------- ------- ------- -------- -------- ----------- ------------- -------------- ------------ ------------- ------------- ----------- ------------ ------------ ----------- ------------- ---------- ------------- ----------- -------------------
    6/21/2014 10:15:21 AM 6/21/2014 10:25:21 AM 8337               2   50429       8    17969    27294       15780 77kuu26yggxym             19            0             0             0           0            0            0           1             0       9904       1549952      138616               13262
    
    
    
    

    > so why we get error ORA-01555.

    The session that signals the ORA-01555 is the victim; not the culprit.

    This session is probably made a LONG run SELECT against other tables.

    Done some session also DML against this same table and launches 'frequent' COMMIT (usually inside the LOOP).

    Eliminate common VALIDATION & the ORA-01555 error no longer is.

  • After retrieving the system for a month, the tabs are recovered for a month there are too

    Furthermore, I guess, all my settings are retrieved from a month there, but I noticed that the tabs. I guess, the recovery of the system retrieves the AppData folder, there are a Firefox settings. It's okey if I have no problems with my system, but I have... many of them. In the opera, the system recovery does not crash my tabs, Favorites, or something else, even if its settings are in the AppData.
    What should I do to avoid this behaivour reset settings? Is - this deficit SQLLite?

    The extension of the Session Manager has options (1) create a backup when you exit Firefox and (2) locate in a different folder. I have not tested, but could be useful for you.

  • LaserJet CP1525: Laserjet CP1525 generates errors 'paper jam' on almost everything I print and there are no jams

    Hello everyone, I have a Laserjet CP1525 who I am troubleshooting for a colleague, and no matter what we do whenever we try to print, we get "paper jam in tray 2" "clear jam and then press {OK}."

    I checked this printer up and down and everything autour and there is no jams, there is not a coward or a sheet of paper, the platters, and linings are very clean, I opened all the doors on the printer, but we still have this isse. Toners are all fine, black, it becomes weak, but it is quite the impression that I was able to print a single test page.  I don't know what else to do. Any help is greatly appreciated.

    Thank you!

    How old is this printer.  How it was used.  On this engine, I saw a lot where the roller is worn and it won't pick up the paper.  The roll is kind of a pain to change, but on what I laid out with this issue, once I have change the roll everything works fine.  Remove the tray paper and printing tilt up and with a flashlight he will shine on the roll.  Do not touch the roller.  There should be steps on the roll that you can see.  Most of the time there are only steps on the outside or the inside only and the rest of the roll is smooth.  If this is the case, you will need to change the roll.

  • I ran etrecheck, still too slow

    EtreCheck version: 3.0.3 (307)

    Report generated 2016-09-14 17:58:33

    Download EtreCheck from https://etrecheck.com

    Time 02:56

    Performance: Excellent

    Click the [Support] links to help with non-Apple products.

    Click [details] for more information on this line.

    Problem: Computer is too slow

    Hardware Information:

    MacBook Pro (13 inch, late 2011)

    [Data sheet] - [User Guide] - [warranty & Service]

    MacBook Pro - model: MacBookPro8, 1

    1 2.4 GHz Intel Core i5 processor: 2 strands

    4 GB of RAM expandable - [Instructions]

    BANK 0/DIMM0

    OK 2 GB DDR3 1333 MHz

    BANK 1/DIMM0

    OK 2 GB DDR3 1333 MHz

    Bluetooth: Old - transfer/Airdrop2 not supported

    Wireless: en1: 802.11 a/b/g/n

    Battery: Health = Normal - Cycle count = 529

    Video information:

    Intel HD Graphics 3000

    Color LCD 1280 x 800

    Software:

    OS X El Capitan 10.11.6 (15-1004) - since startup time: less than an hour

    Disc information:

    TOSHIBA MK5065GSXF disk0: (500,11 GB) (rotation)

    EFI (disk0s1) < not mounted >: 210 MB

    Recovery HD (disk0s3) < not mounted > [recovery]: 650 MB

    Hard Drive of Michi (disc 1) /: 498,88 go-go (302,42 free)

    Encrypted AES - XTS unlocked

    Storage of carrots: disk0s2 499.25 GB Online

    MATSHITADVD-R UJ - 8À8)

    USB information:

    Apple Inc. FaceTime HD camera (built-in)

    Apple Inc. Apple keyboard / Trackpad

    Apple Inc. BRCM2070 hub.

    Apple Inc. Bluetooth USB host controller.

    Computer, Inc. Apple IR receiver.

    Lightning information:

    Apple Inc. Thunderbolt_bus.

    Guardian:

    Mac App Store and identified developers

    Kernel extensions:

    / System/Library/Extensions

    [loading] com.rim.driver.BlackBerryUSBDriverInt (0.0.68 - 2016-09-14) [Support]

    [no charge] com.rim.driver.BlackBerryUSBDriverVSP (0.0.68 - 2016-09-14) [Support]

    Launch system officers:

    [no charge] 7 tasks Apple

    [loading] 164 missions of Apple

    tasks of Apple 67 [performance]

    Launch system demons:

    [no charge] 44 Apple jobs

    [loading] Apple 157 jobs

    Apple tasks 90 [performance]

    Launch officers:

    [loading] com.google.keystone.agent.plist (2016-07-12) [Support]

    com.rim.BBAlbumArtCacher.plist [running] (2011-11-08) [Support]

    com.rim.BBLaunchAgent.plist [running] (2011-11-08) [Support]

    Launch demons:

    [loading] com.adobe.fpsaud.plist (2016-08-29) [Support]

    [loading] com.cloudpath.maccmd.plist (2011-11-01) [Support]

    [loading] com.embraceware.awaken.plist (2009-11-22) [Support]

    [loading] com.enterasys.NacAgent.plist (2012-12-10) [Support]

    [loading] com.google.keystone.daemon.plist (2016-09-09) [Support]

    [loading] com.microsoft.office.licensing.helper.plist (2010-08-25) [Support]

    com.rim.BBDaemon.plist [running] (2011-11-08) [Support]

    User launch officers:

    [cannot] com.facebook.videochat. [entrenched passage] .plist (2014-08-11)

    [cannot] com.facebook.videochat. [entrenched passage] .plist (2012-04-29)

    com.google.Chrome.framework.plist [running] (2016-09-14) [Support]

    com.Google.keystone.agent.plist [no] (2011-06-30) [Support]

    com.spotify.webhelper.plist [running] (2016-09-14) [Support]

    Items in user login:

    GrowlHelperApp application (/ Library/PreferencePanes/Growl.prefPane/Contents/Resources/GrowlHelperApp.app)

    Application of Google Reader (Google Drive.app/Applications /)

    Spotify application (/ Applications/Spotify.app)

    Application Popup (/ Library/Application Support/Pharos/Popup.app)

    Plug-ins Internet:

    JavaAppletPlugin: 15.0.1 - 10.11 (2014-07-19) check the version of the SDK

    o1dbrowserplugin: 5.41.3.0 - 10.8 SDK (2015-12-19) [Support]

    Web of Google Earth plugin: 6.1 (2011-10-17) [Support]

    Default browser: 601 - SDK 10.11 (2016-09-14)

    Flip4Mac WMV Plugin: 2.2.1.11 (2008-08-15) [Support]

    DFusionWebPlugin: Unknown (2010-05-26) [Support]

    FlashPlayer - 10.6: 23.0.0.162 - SDK 10.9 (2016-09-14) [Support]

    DivXBrowserPlugin: 2.0 (2010-03-09) [Support]

    QuickTime Plugin: 7.7.3 (2016-09-14)

    Flash Player: 23.0.0.162 - SDK 10.9 (2016-09-14) [Support]

    googletalkbrowserplugin: 5.41.3.0 - 10.8 SDK (2015-12-11) [Support]

    DFusionWebPluginS64: Unknown (2010-05-26) [Support]

    iPhotoPhotocast: 7.0 (2009-03-12)

    SharePointBrowserPlugin: 14.6.8 - SDK 10.6 (2016-09-14) [Support]

    DirectorShockwave: 11.5.0r596 (2009-04-28) [Support]

    3rd party preference panes:

    Flash Player (2016-08-29) [Support]

    Flip4Mac WMV (2008-08-15) [Support]

    Growl (2010-10-29) [Support]

    Time Machine:

    Time Machine not configured!

    Top of page process CPU:

    6% WindowServer

    1% kernel_task

    1% BBLaunchAgent

    0% fontd

    0% Google Drive

    Top of page process of memory:

    464 MB kernel_task

    Mdworker (17) 229 MB

    180 MB mds_stores

    172MO Google Drive

    QuickLookSatellite 119 MB

    Virtual memory information:

    272 MB free RAM

    3.73 used GB RAM (1.17 GB being cached)

    Used Swap 0 B

    Diagnostic information:

    Sep 14, 2016, 05:48:06 PM/Library/Logs/DiagnosticReports/Google Chrome_2016-09-14-174806_ [redacted] .hang

    / Applications/Google Chrome Chrome.app/Contents/MacOS/Google

    Sep 14, 2016, 17:32:08 self-test - spent

    September 14, 2016, 17:27:50 /Library/Logs/DiagnosticReports/Spotify_2016-09-14-172750_[redacted].hang

    /Applications/Spotify.app/Contents/MacOS/Spotify

    Sep 14, 2016, 03:19:15 PM/Library/Logs/DiagnosticReports/Google Drive_2016-09-14-151915_ [redacted] .crash

    / Applications/Google Drive.app/Contents/MacOS/Google Drive

    Sep 14, 2016, 02:10:23 PM/Library/Logs/DiagnosticReports/Google Drive_2016-09-14-141023_ [redacted] .crash

    Sep 14, 2016, 01:57:36 PM/Library/Logs/DiagnosticReports/softwareupdate_download_service_2016-09-14-1357 36_ [redacted] .crash

    / System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdate_download_service

    Sep 14, 2016, 12:14:30 PM/Library/Logs/DiagnosticReports/Microsoft Excel_2016-09-14-121430_ [redacted] .hang

    / Applications/Microsoft Office 2011/Microsoft Excel Excel.app/Contents/MacOS/Microsoft

    Sep 14, 2016, 12:14:25 PM/Library/Logs/DiagnosticReports/disc Utility_2016-09-14-121425_ [redacted] .hang

    / Applications/utilities/disk utility Utility.app/Contents/MacOS/Disk

    September 14, 2016, ~/Library/Logs/DiagnosticReports/Calendar_2016-09-14-121358_[redacted].crash 12:13:58

    /Applications/calendar.app/Contents/MacOS/calendar

    Etrecheck is a diagnostic utility. It does not solve everything. You must study the results to see if there are things that can cause a slowdown. For example, at the end under the diagnostic information is a list of processes that have crashed. One who can cause a slowdown. Under User Agents to launch there are three in red marked failed.

  • There are many versions I [changed an option] so that PDF files does not open in Firefox. v 42.0, now I have no pdf viewer by default/built-in at all.

    I don't know how long it was, but I decided that I didn't want to use the pdf viewer by default in Firefox at the time, and because things have been very slow in the browser, I disabled the default viewer and set options to ensure that all PDF files that are open outside of the browser and directly in Adobe. I have no memory of what I've done to get there in time.

    Now for c. 42.0 (and 41.0.2, front) when I go to Options > Applications and select one of the "Adobe Acrobat Document" s, my only options are always "ask," "Save the file", or «Use other...» "and there is certainly no option of Firefox Viewer in 'another use. »

    With Adobe Reader latest terms and the fact that they can now push updates when they want, I just * never * use again.

    How to bring back the integrated pdf viewer? I realize there are other pdf viewers and I'm picking through those, but I would still have a browser too.

    Oh, hang on, I missed something. When you go into Options > Application, the content type that you want to change is Portable Document Format (PDF) , which is the standard type application/pdf. (The others being obscure guys like Marlon who are not your problem). Does it work?

Maybe you are looking for