fujidig #4248(2007/11/19 10:30 GMT) [ 秀丸マクロ ] Rating0/0=0.00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
begingroupundo; if ( getconfig( "AutoAdjustOrikaeshi" ) == 2 ) { #width = windowwidth; } else { #width = getconfig( "Orikaeshi" ); } if ( !selecting ) { #top = 1; #end = linecount2; } else { #top = seltoplineno; #end = selendlineno; escape; } #i = #top; while( #i <= #end ) { movetolineno 1, #i; #margin = #width - linelen2; if ( #margin >= 0 ) { #j = #margin / 2; $margin = ""; while( #j > 0 ) { $margin = $margin + " "; #j = #j - 1; } insert $margin; } else { beginsel; movetolineno linelen2 + 1, #i; $text = gettext( seltopx, seltopy, selendx, selendy, 1 ); delete; call cutstr, $text, #width; insert $$return; } #i = #i + 1; } endgroupundo; endmacro; cutstr: $$src = $$1; ##width = ##2; if ( ##width < 0 ) { ##width = 0; } if ( ##width > strlen( $$src ) ) { ##width = strlen( $$src ); } ##start = strlen( $$src ) - ##width; ##end = strlen( $$src ) + ##width; ##i = 0; $$dest = ""; $$left = ""; $$right = ""; while( ##i * 2 < ##end ) { ##char = ascii( $$src ); ##bytes = strlen( char( ##char ) ); if ( ##i * 2 < ##start ) { $$left = char( ##char ); } if ( ( ( ##i + ##bytes ) * 2 > ##end ) && ( $$right == "" ) ) { $$right = char( ##char ); } if ( ( ##i * 2 >= ##start ) && ( ( ##i + ##bytes ) * 2 <= ##end ) ) { $$dest = $$dest + char( ##char ); } $$src = rightstr( $$src, strlen( $$src ) - ##bytes ); ##i = ##i + ##bytes; } if ( $$right == "" ) { $$right = char( ascii( $$src ) ); } if ( strlen( $$dest ) >= ##width ) { return $$dest; } if ( ( strlen( $$left + $$dest ) <= ##width ) && ( $$left != "" ) ) { return $$left + $$dest; } if ( ( strlen( $$dest + $$right ) <= ##width ) && ( $$right != "" ) ) { return $$dest + $$right; } return $$dest;
Rating0/0=0.00-0+
[ reply ]
fujidig
#4248()
[
秀丸マクロ
]
Rating0/0=0.00
begingroupundo; if ( getconfig( "AutoAdjustOrikaeshi" ) == 2 ) { #width = windowwidth; } else { #width = getconfig( "Orikaeshi" ); } if ( !selecting ) { #top = 1; #end = linecount2; } else { #top = seltoplineno; #end = selendlineno; escape; } #i = #top; while( #i <= #end ) { movetolineno 1, #i; #margin = #width - linelen2; if ( #margin >= 0 ) { #j = #margin / 2; $margin = ""; while( #j > 0 ) { $margin = $margin + " "; #j = #j - 1; } insert $margin; } else { beginsel; movetolineno linelen2 + 1, #i; $text = gettext( seltopx, seltopy, selendx, selendy, 1 ); delete; call cutstr, $text, #width; insert $$return; } #i = #i + 1; } endgroupundo; endmacro; cutstr: $$src = $$1; ##width = ##2; if ( ##width < 0 ) { ##width = 0; } if ( ##width > strlen( $$src ) ) { ##width = strlen( $$src ); } ##start = strlen( $$src ) - ##width; ##end = strlen( $$src ) + ##width; ##i = 0; $$dest = ""; $$left = ""; $$right = ""; while( ##i * 2 < ##end ) { ##char = ascii( $$src ); ##bytes = strlen( char( ##char ) ); if ( ##i * 2 < ##start ) { $$left = char( ##char ); } if ( ( ( ##i + ##bytes ) * 2 > ##end ) && ( $$right == "" ) ) { $$right = char( ##char ); } if ( ( ##i * 2 >= ##start ) && ( ( ##i + ##bytes ) * 2 <= ##end ) ) { $$dest = $$dest + char( ##char ); } $$src = rightstr( $$src, strlen( $$src ) - ##bytes ); ##i = ##i + ##bytes; } if ( $$right == "" ) { $$right = char( ascii( $$src ) ); } if ( strlen( $$dest ) >= ##width ) { return $$dest; } if ( ( strlen( $$left + $$dest ) <= ##width ) && ( $$left != "" ) ) { return $$left + $$dest; } if ( ( strlen( $$dest + $$right ) <= ##width ) && ( $$right != "" ) ) { return $$dest + $$right; } return $$dest;Rating0/0=0.00-0+
[ reply ]