Artifact
5ef67e0ff0c1acff9221c2e6cb0b76c9956e433e:
- File
selectColumn.js
— part of check-in
[31604cf8ea]
at
2012-03-12 12:15:26
on branch trunk
— находим больше колонок
(user:
orefkov
size: 3372)
[more...]
0000: ef bb bf 24 65 6e 67 69 6e 65 20 4a 53 63 72 69 ...$engine JScri
0010: 70 74 0d 0a 24 75 6e 61 6d 65 20 73 65 6c 65 63 pt..$uname selec
0020: 74 43 6f 6c 75 6d 6e 0d 0a 24 64 6e 61 6d 65 20 tColumn..$dname
0030: d0 92 d1 8b d0 b1 d0 be d1 80 20 d0 ba d0 be d0 .......... .....
0040: bb d0 be d0 bd d0 ba d0 b8 20 d1 82 d0 b0 d0 b1 ......... ......
0050: d0 bb d0 b8 d1 87 d0 bd d0 be d0 b3 d0 be 20 d0 .............. .
0060: bf d0 be d0 bb d1 8f 0d 0a 0d 0a 2f 2f 20 28 63 ...........// (c
0070: 29 20 d0 90 d0 bb d0 b5 d0 ba d1 81 d0 b0 d0 bd ) ..............
0080: d0 b4 d1 80 20 d0 9e d1 80 d0 b5 d1 84 d0 ba d0 .... ...........
0090: be d0 b2 0d 0a 2f 2f 20 d0 9d d0 b5 d0 b1 d0 be .....// ........
00a0: d0 bb d1 8c d1 88 d0 be d0 b9 20 d1 81 d0 ba d1 .......... .....
00b0: 80 d0 b8 d0 bf d1 82 2c 20 d0 bf d0 be d0 b7 d0 ......., .......
00c0: b2 d0 be d0 bb d1 8f d1 8e d1 89 d0 b8 d0 b9 20 ...............
00d0: d0 b1 d1 8b d1 81 d1 82 d1 80 d0 be 20 d0 b2 d1 ............ ...
00e0: 81 d1 82 d0 b0 d0 b2 d0 b8 d1 82 d1 8c 20 d0 b2 ............. ..
00f0: 20 d0 ba d0 be d0 b4 20 d0 bd d0 b0 d0 b7 d0 b2 ...... ........
0100: d0 b0 d0 bd d0 b8 d0 b5 20 d0 bb d1 8e d0 b1 d0 ........ .......
0110: be d0 b9 20 d0 b8 d0 b7 20 d0 ba d0 be d0 bb d0 ... .... .......
0120: be d0 bd d0 be d0 ba 20 d1 82 d0 b0 d0 b1 d0 bb ....... ........
0130: d0 b8 d1 87 d0 bd d1 8b d1 85 0d 0a 2f 2f 20 d0 ............// .
0140: bf d0 be d0 bb d0 b5 d0 b9 2c 20 d1 80 d0 b0 d1 ........., .....
0150: 81 d0 bf d0 be d0 bb d0 be d0 b6 d0 b5 d0 bd d0 ................
0160: bd d1 8b d1 85 20 d0 bd d0 b0 20 d0 be d0 b1 d1 ..... .... .....
0170: 8b d1 87 d0 bd d0 be d0 b9 20 d1 84 d0 be d1 80 ......... ......
0180: d0 bc d0 b5 0d 0a 2f 2f 20 d0 a2 d1 80 d0 b5 d0 ......// .......
0190: b1 d1 83 d0 b5 d1 82 20 d0 b4 d0 bb d1 8f 20 d1 ....... ...... .
01a0: 80 d0 b0 d0 b1 d0 be d1 82 d1 8b 20 73 76 63 73 ........... svcs
01b0: 76 63 0d 0a 0d 0a 53 65 6c 66 53 63 72 69 70 74 vc....SelfScript
01c0: 2e 73 65 6c 66 5b 27 6d 61 63 72 6f 73 d0 92 d1 .self['macros...
01d0: 8b d0 b1 d1 80 d0 b0 d1 82 d1 8c 20 d0 ba d0 be ........... ....
01e0: d0 bb d0 be d0 bd d0 ba d1 83 20 d0 a2 d0 b0 d0 .......... .....
01f0: b1 d0 bb d0 b8 d1 87 d0 bd d0 be d0 b3 d0 be d0 ................
0200: 9f d0 be d0 bb d1 8f 27 5d 20 3d 20 66 75 6e 63 .......'] = func
0210: 74 69 6f 6e 28 29 0d 0a 7b 0d 0a 20 20 20 20 74 tion()..{.. t
0220: 72 79 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 ry{.. var
0230: 20 73 65 6c 20 3d 20 6e 65 77 20 41 63 74 69 76 sel = new Activ
0240: 65 58 4f 62 6a 65 63 74 28 27 53 76 63 73 76 63 eXObject('Svcsvc
0250: 2e 53 65 72 76 69 63 65 27 29 0d 0a 20 20 20 20 .Service')..
0260: 7d 63 61 74 63 68 28 65 29 0d 0a 20 20 20 20 7b }catch(e).. {
0270: 0d 0a 20 20 20 20 20 20 20 20 4d 65 73 73 61 67 .. Messag
0280: 65 28 22 d0 9d d0 b5 20 d1 83 d0 b4 d0 b0 d0 bb e(".... ........
0290: d0 be d1 81 d1 8c 20 d1 81 d0 be d0 b7 d0 b4 d0 ...... .........
02a0: b0 d1 82 d1 8c 20 d0 be d0 b1 d1 8a d0 b5 d0 ba ..... ..........
02b0: d1 82 20 27 53 76 63 73 76 63 2e 53 65 72 76 69 .. 'Svcsvc.Servi
02c0: 63 65 27 2e 20 d0 97 d0 b0 d1 80 d0 b5 d0 b3 d0 ce'. ...........
02d0: b8 d1 81 d1 82 d1 80 d0 b8 d1 80 d1 83 d0 b9 d1 ................
02e0: 82 d0 b5 20 73 76 63 73 76 63 2e 64 6c 6c 22 29 ... svcsvc.dll")
02f0: 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e .. return
0300: 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 2f 2f 20 .. }.. //
0310: d0 9f d0 be d0 bb d1 83 d1 87 d0 b0 d0 b5 d0 bc ................
0320: 20 d0 b0 d0 ba d1 82 d0 b8 d0 b2 d0 bd d0 be d0 ...............
0330: b5 20 d1 82 d0 b5 d0 ba d1 81 d1 82 d0 be d0 b2 . ..............
0340: d0 be d0 b5 20 d0 be d0 ba d0 bd d0 be 0d 0a 20 .... ..........
0350: 20 20 20 76 61 72 20 77 6e 64 20 3d 20 73 6e 65 var wnd = sne
0360: 67 6f 70 61 74 2e 61 63 74 69 76 65 54 65 78 74 gopat.activeText
0370: 57 69 6e 64 6f 77 28 29 0d 0a 20 20 20 20 69 66 Window().. if
0380: 28 21 77 6e 64 29 0d 0a 20 20 20 20 20 20 20 20 (!wnd)..
0390: 72 65 74 75 72 6e 0d 0a 20 20 20 20 2f 2f 20 d0 return.. // .
03a0: 9f d1 80 d0 be d0 b2 d0 b5 d1 80 d0 b8 d0 bc 2c ...............,
03b0: 20 d1 87 d1 82 d0 be 20 d1 8d d1 82 d0 be 20 d0 ...... ...... .
03c0: a4 d0 be d1 80 d0 bc d0 b0 2e 0d 0a 20 20 20 20 ............
03d0: 2f 2f 20 d0 a1 d0 b2 d0 be d0 b9 d1 81 d1 82 d0 // .............
03e0: b2 d0 be 20 6d 64 50 72 6f 70 20 d0 bf d0 be d0 ... mdProp .....
03f0: ba d0 b0 d0 b7 d1 8b d0 b2 d0 b0 d0 b5 d1 82 2c ...............,
0400: 20 d0 ba 20 d0 ba d0 b0 d0 ba d0 be d0 bc d1 83 .. ............
0410: 20 d1 81 d0 b2 d0 be d0 b9 d1 81 d1 82 d0 b2 d1 ...............
0420: 83 20 d0 be d0 b1 d1 8a d0 b5 d0 ba d1 82 d0 b0 . ..............
0430: 20 d0 bc d0 b5 d1 82 d0 b0 d0 b4 d0 b0 d0 bd d0 ...............
0440: bd d1 8b d1 85 20 d0 be d1 82 d0 bd d0 be d1 81 ..... ..........
0450: d0 b8 d1 82 d1 81 d1 8f 20 d0 be d0 ba d0 bd d0 ........ .......
0460: be 0d 0a 20 20 20 20 69 66 28 77 6e 64 2e 6d 64 ... if(wnd.md
0470: 50 72 6f 70 2e 6e 61 6d 65 28 31 29 20 21 3d 20 Prop.name(1) !=
0480: 22 d0 a4 d0 be d1 80 d0 bc d0 b0 22 29 0d 0a 20 "..........")..
0490: 20 20 20 20 20 20 20 72 65 74 75 72 6e 0d 0a 20 return..
04a0: 20 20 20 2f 2f 20 d0 9f d0 be d0 bb d1 83 d1 87 // ..........
04b0: d0 b8 d0 bc 20 d1 81 d0 b0 d0 bc d0 be 20 d1 81 .... ........ ..
04c0: d0 b2 d0 be d0 b9 d1 81 d1 82 d0 b2 d0 be 20 22 .............. "
04d0: d0 a4 d0 be d1 80 d0 bc d0 b0 22 2e 20 d0 ad d1 ..........". ...
04e0: 82 d0 be 20 22 d0 b2 d0 bd d0 b5 d1 88 d0 bd d0 ... "...........
04f0: b5 d0 b5 22 20 d1 81 d0 b2 d0 be d0 b9 d1 81 d1 ..." ...........
0500: 82 d0 b2 d0 be 2c 20 d1 82 2e d0 b5 2e 20 d0 be ....., ...... ..
0510: d0 bd d0 be 20 d1 85 d1 80 d0 b0 d0 bd d0 b8 d1 .... ...........
0520: 82 d1 8c d1 81 d1 8f 20 d0 be d1 82 d0 b4 d0 b5 ....... ........
0530: d0 bb d1 8c d0 bd d0 be 20 d0 be d1 82 0d 0a 20 ........ ......
0540: 20 20 20 2f 2f 20 d1 81 d0 b0 d0 bc d0 be d0 b3 // ..........
0550: d0 be 20 d0 be d0 b1 d1 8a d0 b5 d0 ba d1 82 d0 .. .............
0560: b0 20 d0 bc d0 b5 d1 82 d0 b0 d0 b4 d0 b0 d0 bd . ..............
0570: d0 bd d1 8b d1 85 2e 0d 0a 20 20 20 20 2f 2f 20 ......... //
0580: d0 9f d1 80 d0 b8 20 d0 bf d0 be d0 bb d1 83 d1 ...... .........
0590: 87 d0 b5 d0 bd d0 b8 d0 b8 20 d0 bc d0 be d0 b6 ......... ......
05a0: d0 bd d0 be 20 d1 83 d0 ba d0 b0 d0 b7 d1 8b d0 .... ...........
05b0: b2 d0 b0 d1 82 d1 8c 20 d0 b3 d1 83 d0 b8 d0 b4 ....... ........
05c0: 20 d1 81 d0 b2 d0 be d0 b9 d1 81 d1 82 d0 b2 d0 ...............
05d0: b0 2c 20 d0 b8 d0 bb d0 b8 20 d0 b5 d0 b3 d0 be ., ...... ......
05e0: 20 d0 b8 d0 bc d1 8f 2c 20 d0 b8 d0 bb d0 b8 20 ......, ......
05f0: d0 bf d0 be d1 80 d1 8f d0 b4 d0 ba d0 be d0 b2 ................
0600: d1 8b d0 b9 20 d0 bd d0 be d0 bc d0 b5 d1 80 0d .... ...........
0610: 0a 20 20 20 20 76 61 72 20 65 78 74 50 72 6f 70 . var extProp
0620: 20 3d 20 77 6e 64 2e 6d 64 4f 62 6a 2e 67 65 74 = wnd.mdObj.get
0630: 45 78 74 50 72 6f 70 28 77 6e 64 2e 6d 64 50 72 ExtProp(wnd.mdPr
0640: 6f 70 2e 69 64 29 0d 0a 20 20 20 20 2f 2f 20 d0 op.id).. // .
0650: a1 d0 be d1 85 d1 80 d0 b0 d0 bd d0 b8 d0 bc 20 ...............
0660: d1 82 d0 b5 d0 ba d1 83 d1 89 d0 b5 d0 b5 20 d1 .............. .
0670: 81 d0 be d1 81 d1 82 d0 be d1 8f d0 bd d0 b8 d0 ................
0680: b5 20 d1 81 d0 b2 d0 be d0 b9 d1 81 d1 82 d0 b2 . ..............
0690: d0 b0 20 22 d0 a4 d0 be d1 80 d0 bc d0 b0 22 20 .. ".........."
06a0: d0 b2 20 d1 84 d0 b0 d0 b9 d0 bb 2e 20 d0 a2 d0 .. ......... ...
06b0: b0 d0 ba 20 d0 ba d0 b0 d0 ba 20 d1 84 d0 b0 d0 ... ...... .....
06c0: b9 d0 bb 20 d0 b2 20 73 61 76 65 54 6f 46 69 6c ... .. saveToFil
06d0: 65 20 d0 bd d0 b5 20 d0 bf d0 b5 d1 80 d0 b5 d0 e .... .........
06e0: b4 d0 b0 d0 bd 2c 20 d1 82 d0 be 0d 0a 20 20 20 ....., ......
06f0: 20 2f 2f 20 d1 81 d0 be d1 85 d1 80 d0 b0 d0 bd // ............
0700: d0 b5 d0 bd d0 b8 d0 b5 20 d0 bf d1 80 d0 be d0 ........ .......
0710: b8 d0 b7 d0 be d0 b9 d0 b4 d0 b5 d1 82 20 d0 b2 ............. ..
0720: 20 d0 bf d1 81 d0 b5 d0 b2 d0 b4 d0 be 2d d1 84 ............-..
0730: d0 b0 d0 b9 d0 bb 20 d0 b2 20 d0 bf d0 b0 d0 bc ...... .. ......
0740: d1 8f d1 82 d0 b8 2e 0d 0a 20 20 20 20 76 61 72 ......... var
0750: 20 66 69 6c 65 20 3d 20 65 78 74 50 72 6f 70 2e file = extProp.
0760: 73 61 76 65 54 6f 46 69 6c 65 28 29 0d 0a 20 20 saveToFile()..
0770: 20 20 2f 2f 20 d0 94 d0 bb d1 8f 20 d0 be d0 b1 // ...... ....
0780: d1 8b d1 87 d0 bd d1 8b d1 85 20 d1 84 d0 be d1 .......... .....
0790: 80 d0 bc 20 d1 84 d0 be d1 80 d0 bc d0 b0 d1 82 ... ............
07a0: 20 d1 84 d0 b0 d0 b9 d0 bb d0 b0 20 d1 84 d0 be .......... ....
07b0: d1 80 d0 bc d1 8b 20 d1 8f d0 b2 d0 bb d1 8f d0 ...... .........
07c0: b5 d1 82 d1 81 d1 8f 20 22 d1 84 d0 b0 d0 b9 d0 ....... ".......
07d0: bb d0 be d0 bc 20 d1 84 d0 b0 d0 b9 d0 bb d0 be ..... ..........
07e0: d0 b2 22 2c 20 73 74 6f 72 61 67 65 2e 20 d0 9f ..", storage. ..
07f0: d0 be d1 8d d1 82 d0 be d0 bc d1 83 20 d0 b1 d1 ............ ...
0800: 83 d0 b4 d0 b5 d0 bc 0d 0a 20 20 20 20 2f 2f 20 ......... //
0810: d1 80 d0 b0 d1 81 d1 81 d0 bc d0 b0 d1 82 d1 80 ................
0820: d0 b8 d0 b2 d0 b0 d1 82 d1 8c 20 d0 b5 d0 b3 d0 .......... .....
0830: be 20 d0 ba d0 b0 d0 ba 20 73 74 6f 72 61 67 65 . ...... storage
0840: 2e 20 d0 94 d0 bb d1 8f 20 d1 83 d0 bf d1 80 d0 . ...... .......
0850: b0 d0 b2 d0 bb d1 8f d0 b5 d0 bc d1 8b d1 85 20 ...............
0860: d1 84 d0 be d1 80 d0 bc 20 2d 20 d1 8d d1 82 d0 ........ - .....
0870: be 20 d0 bd d0 b5 20 d1 82 d0 b0 d0 ba 2c 20 d1 . .... ......, .
0880: 82 d0 b0 d0 bc 20 d0 be d0 b1 d1 8b d1 87 d0 bd ..... ..........
0890: d1 8b d0 b9 20 d1 82 d0 b5 d0 ba d1 81 d1 82 20 .... ..........
08a0: 75 74 66 2d 38 0d 0a 20 20 20 20 74 72 79 7b 0d utf-8.. try{.
08b0: 0a 20 20 20 20 20 20 20 20 2f 2f 20 d1 81 d0 be . // ....
08c0: d0 b7 d0 b4 d0 b0 d0 b4 d0 b8 d0 bc 20 d1 85 d1 ............ ...
08d0: 80 d0 b0 d0 bd d0 b8 d0 bb d0 b8 d1 89 d0 b5 20 ...............
08e0: d0 bd d0 b0 20 d0 b1 d0 b0 d0 b7 d0 b5 20 d1 84 .... ........ ..
08f0: d0 b0 d0 b9 d0 bb d0 b0 2e 20 d0 94 d0 bb d1 8f ......... ......
0900: 20 d1 83 d0 bf d1 80 d0 b0 d0 b2 d0 bb d1 8f d0 ...............
0910: b5 d0 bc d1 8b d1 85 20 d1 84 d0 be d1 80 d0 bc ....... ........
0920: 20 d1 82 d1 83 d1 82 20 d0 b2 d1 8b d0 b2 d0 b0 ...... ........
0930: d0 bb d0 b8 d1 82 d1 81 d1 8f 20 d0 b2 20 63 61 .......... .. ca
0940: 74 63 68 0d 0a 20 20 20 20 20 20 20 20 76 61 72 tch.. var
0950: 20 73 74 67 20 3d 20 76 38 46 69 6c 65 73 2e 61 stg = v8Files.a
0960: 74 74 61 63 68 53 74 6f 72 61 67 65 28 66 69 6c ttachStorage(fil
0970: 65 29 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 d0 e).. // .
0980: 9f d0 be d0 bb d1 83 d1 87 d0 b8 d0 bc 20 d0 b8 ............. ..
0990: d0 b7 20 d1 85 d1 80 d0 b0 d0 bd d0 b8 d0 bb d0 .. .............
09a0: b8 d1 89 d0 b0 20 d1 81 d0 be d0 b4 d0 b5 d1 80 ..... ..........
09b0: d0 b6 d0 b8 d0 bc d0 be d0 b5 20 d0 bf d0 be d0 .......... .....
09c0: b4 2d d1 84 d0 b0 d0 b9 d0 bb d0 b0 20 66 6f 72 .-.......... for
09d0: 6d 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 74 m.. var t
09e0: 65 78 74 20 3d 20 73 74 67 2e 6f 70 65 6e 28 22 ext = stg.open("
09f0: 66 6f 72 6d 22 2c 20 66 6f 6d 49 6e 29 2e 67 65 form", fomIn).ge
0a00: 74 53 74 72 69 6e 67 28 64 73 55 74 66 38 29 0d tString(dsUtf8).
0a10: 0a 20 20 20 20 20 20 20 20 2f 2f 4d 65 73 73 61 . //Messa
0a20: 67 65 28 74 65 78 74 29 0d 0a 20 20 20 20 20 20 ge(text)..
0a30: 20 20 2f 2f 20 d0 9f d1 80 d0 be d1 81 d1 82 d1 // ...........
0a40: 8b d0 bc 20 d1 80 d0 b5 d0 b3 d1 8d d0 ba d1 81 ... ............
0a50: d0 bf d0 be d0 bc 20 d0 b2 d1 8b d0 b4 d0 b5 d1 ...... .........
0a60: 80 d0 bd d0 b5 d0 bc 20 d0 b2 d1 81 d1 82 d1 80 ....... ........
0a70: d0 b5 d1 87 d0 b0 d1 8e d1 89 d0 b8 d0 b5 d1 81 ................
0a80: d1 8f 20 d0 ba d0 be d0 bb d0 be d0 bd d0 ba d0 .. .............
0a90: b8 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 72 ... var r
0aa0: 65 20 3d 20 2f 5c 7b 36 2c 33 2c 30 2c 5c 64 5c e = /\{6,3,0,\d\
0ab0: 7d 2c 5c 64 2c 30 2c 30 2c 34 2c 30 2c 22 28 2e },\d,0,0,4,0,"(.
0ac0: 2b 29 22 2f 67 0d 0a 20 20 20 20 20 20 20 20 76 +)"/g.. v
0ad0: 61 72 20 63 6f 6c 75 6d 6e 73 20 3d 20 7b 7d 0d ar columns = {}.
0ae0: 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 28 72 . while(r
0af0: 65 2e 65 78 65 63 28 74 65 78 74 29 29 0d 0a 20 e.exec(text))..
0b00: 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 75 6d colum
0b10: 6e 73 5b 52 65 67 45 78 70 2e 24 31 5d 20 3d 20 ns[RegExp.$1] =
0b20: 31 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 61 1.. var a
0b30: 72 72 4f 66 43 6f 6c 75 6d 6e 73 20 3d 20 5b 5d rrOfColumns = []
0b40: 0d 0a 20 20 20 20 20 20 20 20 66 6f 72 28 76 61 .. for(va
0b50: 72 20 6b 20 69 6e 20 63 6f 6c 75 6d 6e 73 29 0d r k in columns).
0b60: 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 72 72 . arr
0b70: 4f 66 43 6f 6c 75 6d 6e 73 2e 70 75 73 68 28 6b OfColumns.push(k
0b80: 29 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 63 ).. var c
0b90: 68 6f 69 63 65 20 3d 20 73 65 6c 2e 46 69 6c 74 hoice = sel.Filt
0ba0: 65 72 56 61 6c 75 65 28 61 72 72 4f 66 43 6f 6c erValue(arrOfCol
0bb0: 75 6d 6e 73 2e 6a 6f 69 6e 28 22 5c 72 5c 6e 22 umns.join("\r\n"
0bc0: 29 2c 20 31 20 7c 20 34 29 0d 0a 20 20 20 20 20 ), 1 | 4)..
0bd0: 20 20 20 69 66 28 63 68 6f 69 63 65 2e 6c 65 6e if(choice.len
0be0: 67 74 68 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d gth).. {.
0bf0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 6e 64 . wnd
0c00: 2e 73 65 6c 65 63 74 65 64 54 65 78 74 20 3d 20 .selectedText =
0c10: 63 68 6f 69 63 65 0d 0a 20 20 20 20 20 20 20 20 choice..
0c20: 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 0d return true.
0c30: 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 . }..
0c40: 7d 63 61 74 63 68 28 65 29 0d 0a 20 20 20 20 7b }catch(e).. {
0c50: 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 d0 a1 d1 .. // ...
0c60: 8e d0 b4 d0 b0 20 d0 bf d0 be d0 bf d0 b0 d0 b4 ..... ..........
0c70: d0 b0 d0 b5 d0 bc 2c 20 d0 b5 d1 81 d0 bb d0 b8 ......, ........
0c80: 20 d1 8d d1 82 d0 be 20 d1 83 d0 bf d1 80 d0 b0 ...... ........
0c90: d0 b2 d0 bb d1 8f d0 b5 d0 bc d0 b0 d1 8f 20 d1 .............. .
0ca0: 84 d0 be d1 80 d0 bc d0 b0 2e 20 d0 95 d0 b5 20 .......... ....
0cb0: d0 bc d0 be d0 b6 d0 bd d0 be 20 d0 bf d1 80 d0 .......... .....
0cc0: be d1 87 d0 b8 d1 82 d0 b0 d1 82 d1 8c 20 d1 82 ............. ..
0cd0: d0 b0 d0 ba 0d 0a 20 20 20 20 20 20 20 20 2f 2f ...... //
0ce0: 66 69 6c 65 2e 73 65 65 6b 28 30 2c 20 66 73 42 file.seek(0, fsB
0cf0: 65 67 69 6e 29 0d 0a 20 20 20 20 20 20 20 20 2f egin).. /
0d00: 2f 4d 65 73 73 61 67 65 28 66 69 6c 65 2e 67 65 /Message(file.ge
0d10: 74 53 74 72 69 6e 67 28 64 73 55 74 66 38 29 29 tString(dsUtf8))
0d20: 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a .. }..}..