Advertisement
Guest User

Arrays Generator

a guest
Jul 24th, 2012
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 8.51 KB | None | 0 0
  1. @echo off&SETLOCAL ENABLEDELAYEDEXPANSION
  2. GoTo:code
  3. FOR %%x IN ("%~1","%~2","%~3") DO (
  4.            IF [%%x]==[""] (
  5.               echo Error.&GoTo:EoF
  6.            )
  7. )
  8. IF "%default%"=="" (
  9. SET default=0
  10. )
  11. IF /i "%~1"=="newarray" (
  12.    IF NOT "%~7"=="" (
  13.           SET array[1]=%~2
  14.           SET array[2]=%~3
  15.           SET array[3]=%~4
  16.           SET array[4]=%~5
  17.           SET array[5]=%~6
  18.           SET array[6]=%~7
  19.           CALL:new5
  20.           GoTo:EoF
  21.    )
  22.    
  23.    IF NOT "%~6"=="" (
  24.           SET array[1]=%~2
  25.           SET array[2]=%~3
  26.           SET array[3]=%~4
  27.           SET array[4]=%~5
  28.           SET array[5]=%~6
  29.           CALL:new4
  30.           GoTo:EoF
  31.    )
  32.          
  33.    IF NOT "%~5"=="" (
  34.           SET array[1]=%~2
  35.           SET array[2]=%~3
  36.           SET array[3]=%~4
  37.           SET array[4]=%~5
  38.           CALL:new3
  39.           GoTo:EoF
  40.    )
  41.  
  42.    IF NOT "%~4"=="" (
  43.           SET array[1]=%~2
  44.           SET array[2]=%~3
  45.           SET array[3]=%~4
  46.           CALL:new2
  47.           GoTo:EoF
  48.    )
  49.    IF NOT "%~3"=="" (
  50.           SET array[1]=%~2
  51.           SET array[2]=%~3
  52.           CALL:new1
  53.           GoTo:EoF
  54.    )
  55. )
  56. IF /i "%~1"=="expandarray" (
  57.    CALL:defined %~2
  58.    IF NOT "%~7"=="" (
  59.           SET array[rows]=!%~2.rows!
  60.           SET array[columns]=!%~2.columns!
  61.           SET array[len]=!%~2.len!
  62.           SET array[len4]=!%~2.len4!
  63.           SET array[len5]=!%~2.len5!
  64.           SET array[1]=%~2
  65.           SET array[2]=%~3
  66.           SET array[3]=%~4
  67.           SET array[4]=%~5
  68.           SET array[5]=%~6
  69.           SET array[6]=%~7
  70.           CALL:edit5
  71.           GoTo:EoF
  72.    )
  73.    
  74.    IF NOT "%~6"=="" (
  75.           SET array[rows]=!%~2.rows!
  76.           SET array[columns]=!%~2.columns!
  77.           SET array[len]=!%~2.len!
  78.           SET array[len4]=!%~2.len4!          
  79.           SET array[1]=%~2
  80.           SET array[2]=%~3
  81.           SET array[3]=%~4
  82.           SET array[4]=%~5
  83.           SET array[5]=%~6
  84.           CALL:edit4
  85.           GoTo:EoF
  86.    )
  87.          
  88.    IF NOT "%~5"=="" (
  89.           SET array[rows]=!%~2.rows!
  90.           SET array[columns]=!%~2.columns!
  91.           SET array[len]=!%~2.len!
  92.           SET array[1]=%~2
  93.           SET array[2]=%~3
  94.           SET array[3]=%~4
  95.           SET array[4]=%~5
  96.           CALL:edit3
  97.           GoTo:EoF
  98.    )
  99.  
  100.    IF NOT "%~4"=="" (
  101.           SET array[rows]=!%~2.rows!
  102.           SET array[columns]=!%~2.columns!
  103.           SET array[1]=%~2
  104.           SET array[2]=%~3
  105.           SET array[3]=%~4
  106.           CALL:edit2
  107.           GoTo:EoF
  108.    )
  109.    IF NOT "%~3"=="" (
  110.    SET array[rows]=!%~2.rows!
  111.    SET array[1]=%~2
  112.    SET array[2]=%~3
  113.    CALL:edit1
  114.    GoTo:EoF
  115.    )
  116. )
  117. IF /i "%~1"=="pointer" (
  118.    CALL:defined %~4
  119.    IF /i "%~2"=="asign" (
  120.       IF NOT "%~4"=="" (
  121.          SET array[val]=%~3
  122.          SET array[var]=%~4
  123.          CALL:asign
  124.          GoTo:EoF
  125.       )
  126.    )
  127.    IF /i "%~2"=="create" (
  128.    CALL:defined %~4
  129.    SET array[var]=%~3
  130.    SET array[where]=%~4
  131.    CALL:create
  132.    GoTo:EoF
  133.    )
  134. )
  135. IF /i "%~1"=="save" (
  136.    CALL:defined %~2
  137.    SET array[save]=%~2
  138.    SET array[dir]=%~3
  139.    CALL:save
  140.    GoTo:EoF
  141. )
  142. IF /i "%~1"=="load" (
  143.    SET array[dir]=%~2
  144.    SET array[state]=%~3
  145.    CALL:load
  146.    GoTo:EoF
  147. )
  148. echo Error.&GoTo:EoF
  149. :new1
  150. SET %array[1]%=array
  151. SET %array[1]%.rows=%array[2]%
  152. FOR /L %%e IN (0,1,%array[2]%) DO (
  153.               SET %array[1]%[%%e]=%default%
  154. )
  155. SET default=0
  156. GoTo:EoF
  157. :new2
  158. SET %array[1]%=array
  159. SET %array[1]%.rows=%array[2]%
  160. SET %array[1]%.columns=%array[3]%
  161. FOR /L %%f IN (0,1,%array[2]%) DO (
  162.            FOR /L %%c IN (0,1,%array[3]%) DO (
  163.                       SET %array[1]%[%%f.%%c]=%default%
  164.            )
  165. )
  166. SET default=0
  167. GoTo:EoF
  168. :new3
  169. SET %array[1]%=array
  170. SET %array[1]%.rows=%array[2]%
  171. SET %array[1]%.columns=%array[3]%
  172. SET %array[1]%.len=%array[4]%
  173. FOR /L %%f IN (0,1,%array[2]%) DO (
  174.            FOR /L %%c IN (0,1,%array[3]%) DO (
  175.                       FOR /L %%r IN (0,1,%array[4]%) DO (
  176.                                  SET %array[1]%[%%f.%%c.%%r]=%default%
  177.                      
  178.                       )    
  179.            )
  180. )
  181. SET default=0
  182. GoTo:EoF
  183. :new4
  184. SET %array[1]%=array
  185. SET %array[1]%.rows=%array[2]%
  186. SET %array[1]%.columns=%array[3]%
  187. SET %array[1]%.len=%array[4]%
  188. SET %array[1]%.len4=%array[5]%
  189. FOR /L %%f IN (0,1,%array[2]%) DO (
  190.            FOR /L %%c IN (0,1,%array[3]%) DO (
  191.                       FOR /L %%r IN (0,1,%array[4]%) DO (
  192.                                  FOR /L %%p IN (0,1,%array[5]%) DO (
  193.                                         SET %array[1]%[%%f.%%c.%%r.%%p]=%default%
  194.                                  )
  195.                      
  196.                       )    
  197.            )
  198. )
  199. SET default=0
  200. GoTo:EoF
  201. :new5
  202. SET %array[1]%=array
  203. SET %array[1]%.rows=%array[2]%
  204. SET %array[1]%.columns=%array[3]%
  205. SET %array[1]%.len=%array[4]%
  206. SET %array[1]%.len4=%array[5]%
  207. SET %array[1]%.len5=%array[6]%
  208. FOR /L %%f IN (0,1,%array[2]%) DO (
  209.            FOR /L %%c IN (0,1,%array[3]%) DO (
  210.                       FOR /L %%r IN (0,1,%array[4]%) DO (
  211.                                  FOR /L %%p IN (0,1,%array[5]%) DO (
  212.                                         FOR /L %%k IN (0,1,%array[6]%) DO (
  213.                                                SET %array[1]%[%%f.%%c.%%r.%%p.%%k]=%default%
  214.                                         )
  215.                                  )
  216.                      
  217.                       )    
  218.            )
  219. )
  220. SET default=0
  221. GoTo:EoF
  222. :edit1
  223. SET %array[1]%=array
  224. SET %array[1]%.rows=%array[2]%
  225. FOR /L %%e IN (%array[rows]%,1,%array[2]%) DO (
  226.               SET %array[1]%[%%e]=%default%
  227. )
  228. SET default=0
  229. GoTo:EoF
  230. :edit2
  231. SET %array[1]%=array
  232. SET %array[1]%.rows=%array[2]%
  233. SET %array[1]%.columns=%array[3]%
  234. FOR /L %%f IN (%array[rows]%,1,%array[2]%) DO (
  235.            FOR /L %%c IN (%array[columns]%,1,%array[3]%) DO (
  236.                       SET %array[1]%[%%f.%%c]=%default%
  237.            )
  238. )
  239. SET default=0
  240. GoTo:EoF
  241. :edit3
  242. SET %array[1]%=array
  243. SET %array[1]%.rows=%array[2]%
  244. SET %array[1]%.columns=%array[3]%
  245. SET %array[1]%.len=%array[4]%
  246. FOR /L %%f IN (%array[rows]%,1,%array[2]%) DO (
  247.            FOR /L %%c IN (%array[columns]%,1,%array[3]%) DO (
  248.                       FOR /L %%r IN (%array[len]%,1,%array[4]%) DO (
  249.                                  SET %array[1]%[%%f.%%c.%%r]=%default%
  250.                      
  251.                       )    
  252.            )
  253. )
  254. SET default=0
  255. GoTo:EoF
  256. :edit4
  257. SET %array[1]%=array
  258. SET %array[1]%.rows=%array[2]%
  259. SET %array[1]%.columns=%array[3]%
  260. SET %array[1]%.len=%array[4]%
  261. SET %array[1]%.len4=%array[5]%
  262. FOR /L %%f IN (%array[rows]%,1,%array[2]%) DO (
  263.            FOR /L %%c IN (%array[columns]%,1,%array[3]%) DO (
  264.                       FOR /L %%r IN (%array[len]%,1,%array[4]%) DO (
  265.                                  FOR /L %%p IN (%array[len4]%,1,%array[5]%) DO (
  266.                                         SET %array[1]%[%%f.%%c.%%r.%%p]=%default%
  267.                                  )
  268.                      
  269.                       )    
  270.            )
  271. )
  272. SET default=0
  273. GoTo:EoF
  274. :edit5
  275. SET %array[1]%=array
  276. SET %array[1]%.rows=%array[2]%
  277. SET %array[1]%.columns=%array[3]%
  278. SET %array[1]%.len=%array[4]%
  279. SET %array[1]%.len4=%array[5]%
  280. SET %array[1]%.len5=%array[6]%
  281. FOR /L %%f IN (%array[rows]%,1,%array[2]%) DO (
  282.            FOR /L %%c IN (%array[columns]%,1,%array[3]%) DO (
  283.                       FOR /L %%r IN (%array[len]%,1,%array[4]%) DO (
  284.                                  FOR /L %%p IN (%array[len4]%,1,%array[5]%) DO (
  285.                                         FOR /L %%k IN (%array[len5]%,1,%array[6]%) DO (
  286.                                                SET %array[1]%[%%f.%%c.%%r.%%p.%%k]=%default%
  287.                                         )
  288.                                  )
  289.                      
  290.                       )    
  291.            )
  292. )
  293. SET default=0
  294. GoTo:EoF
  295. :create
  296. SET %array[var]%[array]=%array[where]%
  297. SET %array[var]%=!%array[where]%!
  298. GoTo:EoF
  299. :asign
  300. SET %array[var]%=%array[val]%
  301. SET !%array[var]%[array]!=!%array[var]%!
  302. GoTo:EoF
  303. :defined
  304. IF NOT DEFINED %~1 (
  305.    echo Array does not exist.&pause>nul&exit
  306. )
  307. GoTo:EoF
  308. :save
  309. CALL:defined %array[save]%
  310. SET %array[save]%>%array[dir]%
  311. GoTo:EoF
  312. :load
  313. IF NOT EXIST "%array[dir]%" (
  314.    echo File not found.&GoTo:EoF
  315. )
  316. FOR /F "tokens=*" %%x IN (%array[dir]%) DO (
  317.     SET "%%x"
  318. )
  319. IF /i "%array[state]%"=="D" (
  320.    DEL /F /Q %array[dir]%
  321.    GoTo:EoF
  322. )
  323. IF /i "%array[state]%"=="ND" (
  324.    GoTo:EoF
  325. )
  326. GoTo:EoF
  327. :quitbar
  328. SET var=%1
  329. SET %1=!%var%:_= !
  330. GoTo:EoF
  331. :putbar
  332. SET var=%1
  333. SET %1=!%var%: =_!
  334. GoTo:EoF
  335. :code
  336. REM Your code here
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement