there is a plugin for inster sequence numbers?

  • Hi, I need to write some code to draw a chart, datas like:
    var cell00=Math.round(msg.payload.minutely[0].precipitation *600) /10;
    I would to produce automatically:
    var cell01=Math.round(msg.payload.minutely[1].precipitation *600) /10;
    var cell02=Math.round(msg.payload.minutely[2].precipitation *600) /10;

    So I need a plugin to put a number after a text, it can be smart to use the replace button like:
    replace [var cell] with [text before]+number (how many digit, start from)+[text]
    so I can build the first part, then the second one.

  • You could seed a file with rows like:


    and then cursor to left of 01 and record a macro that inserts text before it and after it, and ends by setting cursor to left of 02. Then run the macro as many times as needed.

    But a better solution might have nothing to do with editor tricks and everything to do with programming approach. Most modern languages support a structure similar to:

    var CellsArray[64];
    var i;
    for i = 0 to 63:
        CellsArray[i]=Math.round(msg.payload.minutely[i].precipitation *600) /10;

    Does yours?

  • yes it does :) but sometime we need the old method! So there are no plugins, I’ll try to use macro ) Thank you!

  • @Extreme-Gio Something about your reply (maybe the words “old method”) reminded me of something I put together a while back which was very easy to repurpose to meet your need (completely outside of Notepad++):

    @echo OFF
    rem -- Cellvars.cmd -- Ref:
    rem x is start index, gets incremented; 
    set x=0
    rem xp is the leading padding string used in the var name; stays constant; it's length should be the number of 0's needed while x is a single digit
    set xp=0
    REM set tot num of vars needed
    set count=17
    DEL /P out1.txt
    	set x2=%xp%%x%
    	REM the number after the ~- should be (length of xp) + 1; example: for 500 vars, need xp=00, and use :~3 in next command
    	echo var cell%x2:~-2%=Math.round(msg.payload.minutely[%x%].precipitation *600) /10; >>out1.txt
    	set /a x=%x%+1
    if %x% LSS %count% GOTO LOOPN9

    Save it to new file Cellvars.cmd and execute it at command prompt. Output goes to a file called out1.txt so make sure there’s no local file with that name that you need to keep.

Log in to reply