mirror of
https://github.com/reactos/reactos
synced 2025-10-07 08:52:45 +02:00
Compare commits
933 Commits
backups/hy
...
ReactOS-0.
Author | SHA1 | Date | |
---|---|---|---|
|
caccea0628 | ||
|
fc8233b459 | ||
|
6dfe643467 | ||
|
13bc2e01e5 | ||
|
525033afc8 | ||
|
5323f99a5c | ||
|
2958141893 | ||
|
cd982f8780 | ||
|
c98f2bb9af | ||
|
9c439695e9 | ||
|
4611cdd960 | ||
|
0283a040f7 | ||
|
ae7e228924 | ||
|
4865f6c89b | ||
|
b2f5b33c7f | ||
|
9534f47230 | ||
|
7e7b3c88bb | ||
|
3b767564ef | ||
|
6c4b4e1148 | ||
|
5616673582 | ||
|
4bcfbf7b99 | ||
|
eec2739a8b | ||
|
968033dd41 | ||
|
00334059ac | ||
|
d8e81826d2 | ||
|
9ff626f764 | ||
|
ed1f927907 | ||
|
2b63244bc8 | ||
|
e84c1a5512 | ||
|
88c5a596a1 | ||
|
241449fc0e | ||
|
227dc95404 | ||
|
eed84f7eae | ||
|
d7928010a4 | ||
|
82cbbc6ac9 | ||
|
3c6dcb0d0d | ||
|
3790fc1254 | ||
|
a46601a21c | ||
|
b7525df85d | ||
|
93bd1eebe6 | ||
|
7a18c92616 | ||
|
b5cddb8ef5 | ||
|
3d51d8fa8a | ||
|
b79ef105f1 | ||
|
aa2b83d508 | ||
|
f0d289f527 | ||
|
eb0b862540 | ||
|
4b8a3ba4d6 | ||
|
13ddc0ef07 | ||
|
e8d6023ad5 | ||
|
2bd794488a | ||
|
3780af2706 | ||
|
97be5703d8 | ||
|
0f6b71ad04 | ||
|
f99a2998d3 | ||
|
a179aed613 | ||
|
bd7a8aac20 | ||
|
3a0ed2c825 | ||
|
832844b9fb | ||
|
8ad26a0358 | ||
|
ec9dd69633 | ||
|
8df8940a6e | ||
|
835571354c | ||
|
5882bc1cea | ||
|
f721678f57 | ||
|
955672158d | ||
|
8d9b815544 | ||
|
33c4221b1e | ||
|
c251e18523 | ||
|
07a38cedf1 | ||
|
e1419be7cd | ||
|
39fd08d7ce | ||
|
7d842bd859 | ||
|
3c16ea89b9 | ||
|
3ee18cdb67 | ||
|
7cf55b1f25 | ||
|
1334454750 | ||
|
3d5de429aa | ||
|
cdd5ae5641 | ||
|
a04bcca3a3 | ||
|
b22a7f63e8 | ||
|
8683e62101 | ||
|
0537163f8d | ||
|
938f407a80 | ||
|
25f5cca19d | ||
|
460379ac3f | ||
|
d726ab1152 | ||
|
2db5b6cc04 | ||
|
0632ec63d8 | ||
|
fa77a22c50 | ||
|
a00a86834c | ||
|
b1a06042c9 | ||
|
671448e212 | ||
|
febcfe8913 | ||
|
b790fafdb2 | ||
|
ab6d5a14d6 | ||
|
a4a099099f | ||
|
e402662f7e | ||
|
2a4eb36d58 | ||
|
2559061aa2 | ||
|
cda095c0fe | ||
|
d73e9e4231 | ||
|
23b40d082d | ||
|
297baed6c0 | ||
|
e612eaf998 | ||
|
4cf0f9906b | ||
|
f550691222 | ||
|
ab2b63b87b | ||
|
67572c740e | ||
|
da950aee49 | ||
|
cd5d1959f0 | ||
|
7f2b7d7436 | ||
|
9e2224d220 | ||
|
10ea44c612 | ||
|
9e8038303f | ||
|
85dbdefb9f | ||
|
9127f8cb64 | ||
|
b5b4c9ab4b | ||
|
9dbc5faab4 | ||
|
8594831504 | ||
|
2e105930d6 | ||
|
66397a3a3f | ||
|
aa36da89c9 | ||
|
e49f53ea51 | ||
|
999e377e55 | ||
|
89d35e62dd | ||
|
6c45a42f53 | ||
|
1a6bae63ba | ||
|
31619ecee5 | ||
|
3b3c516d31 | ||
|
abae3b6913 | ||
|
6846255313 | ||
|
5ffe9e945e | ||
|
69bc0881f9 | ||
|
480243927a | ||
|
b300ac4364 | ||
|
a52eaf94d5 | ||
|
def9fa66b4 | ||
|
531a8ad588 | ||
|
133e63adea | ||
|
bfd0d8594d | ||
|
0ea44bde8f | ||
|
86909f313f | ||
|
35656fd354 | ||
|
fe22db7c05 | ||
|
949bda1cee | ||
|
8b9fa093a3 | ||
|
e66a86c8b9 | ||
|
ff164b383d | ||
|
e264b0b3c9 | ||
|
11e8d42306 | ||
|
9439a307c3 | ||
|
15ce5e598a | ||
|
17f5df55c4 | ||
|
ddd1764f85 | ||
|
427bda68a5 | ||
|
aa42a19f40 | ||
|
7a0f6cc635 | ||
|
f7a11147ec | ||
|
86853e2cea | ||
|
451c7e1c69 | ||
|
756f63990f | ||
|
a21b191fdf | ||
|
ee9c5d0a88 | ||
|
cdbc0773a5 | ||
|
5d074bd015 | ||
|
cb467b55e9 | ||
|
57da8d9f18 | ||
|
3da8a2640d | ||
|
fd13a6484a | ||
|
b21dc84f01 | ||
|
31bec7ebbf | ||
|
6a6c9c1c6c | ||
|
bf502620c3 | ||
|
20ebf8a9c5 | ||
|
1777cc3a03 | ||
|
0bcdd3cdcc | ||
|
c84fd405bf | ||
|
0eec889557 | ||
|
e6d9765059 | ||
|
1f2f57762a | ||
|
f80fd06171 | ||
|
7d5306e11b | ||
|
87f175a68a | ||
|
8a2b9285a7 | ||
|
7b57917c46 | ||
|
553e9f4821 | ||
|
ab5a70b128 | ||
|
4a314da798 | ||
|
46ccbc43af | ||
|
93c1e5a013 | ||
|
78c0b7a1df | ||
|
07bd1ef0d2 | ||
|
e851af141d | ||
|
baa980036b | ||
|
f79680eb17 | ||
|
4feb37f50f | ||
|
2edcc21ee5 | ||
|
561efe278f | ||
|
f1d9b70f81 | ||
|
9fe71b1a02 | ||
|
eaff1fdfa2 | ||
|
2692c60678 | ||
|
f5a1426f4c | ||
|
1662719886 | ||
|
ada39af182 | ||
|
730d8e4ee5 | ||
|
cbf728b477 | ||
|
8a7513a6c7 | ||
|
939c49a493 | ||
|
5736c65128 | ||
|
8db6f07370 | ||
|
9364f96a85 | ||
|
077d269069 | ||
|
cfd749136a | ||
|
7245944072 | ||
|
b557c10181 | ||
|
b8ceca0d0d | ||
|
58c925232a | ||
|
f3091aac50 | ||
|
57efc6d296 | ||
|
c844e808fd | ||
|
3f4244aafc | ||
|
f984375fa8 | ||
|
d1fd748e27 | ||
|
8f663e980b | ||
|
96bd76c450 | ||
|
66efb44d68 | ||
|
9199d4af30 | ||
|
099735586d | ||
|
888f12a297 | ||
|
12528a2fc8 | ||
|
48150abcea | ||
|
b879687075 | ||
|
72e6fde566 | ||
|
00d190a404 | ||
|
3eb4e85097 | ||
|
edc9924731 | ||
|
d409591250 | ||
|
036789044b | ||
|
45ebe0ccc2 | ||
|
3f2bc58da5 | ||
|
c129f7fcd3 | ||
|
4d4d130154 | ||
|
af03c08689 | ||
|
d448c26dba | ||
|
56d318331b | ||
|
fbf0cbd302 | ||
|
6378983897 | ||
|
e61ef65c4a | ||
|
a1aca981cf | ||
|
63428932b8 | ||
|
bcd6451e5b | ||
|
7b68ed11e0 | ||
|
97e7725dc9 | ||
|
170743424f | ||
|
683a6c4181 | ||
|
6857246d17 | ||
|
f91ca27dd7 | ||
|
01c9364e27 | ||
|
833d68c273 | ||
|
528fc30198 | ||
|
fa7b96c770 | ||
|
7bc03a5188 | ||
|
7c21c02f9b | ||
|
37a3eaf812 | ||
|
a7d6984117 | ||
|
81d738e77c | ||
|
6ed534a3b0 | ||
|
1f7ff705dd | ||
|
348822f367 | ||
|
5249beecfa | ||
|
0b5dd6ddfe | ||
|
e8eda04c27 | ||
|
bcefe305f1 | ||
|
b0c65c30fe | ||
|
720d38711f | ||
|
114a366a38 | ||
|
ae9a18969f | ||
|
d35aa6d4ce | ||
|
204acf76b0 | ||
|
c91fecf968 | ||
|
ce52fa83e3 | ||
|
78faaa3063 | ||
|
6a7b9457dc | ||
|
0f76b280cc | ||
|
879d178c13 | ||
|
d55028d26f | ||
|
5367e27e3a | ||
|
ba14ded010 | ||
|
c3f50e79c8 | ||
|
5fd3663edf | ||
|
8a24ff76e0 | ||
|
457aee023d | ||
|
5047d04ffc | ||
|
0b090eef6a | ||
|
828f4f1216 | ||
|
f54e38e9ac | ||
|
ed39c925a0 | ||
|
2c0aa23f29 | ||
|
150abb0844 | ||
|
fa6f8006d0 | ||
|
cfb95de0f7 | ||
|
1ddfc357da | ||
|
9b6d791e60 | ||
|
b3b07836ef | ||
|
fcd2a4e62c | ||
|
61f33dad43 | ||
|
1177ff923f | ||
|
9adac31641 | ||
|
2e3c186197 | ||
|
91b1e254fd | ||
|
4e9ffdff7e | ||
|
fbcc10c57e | ||
|
b82096c544 | ||
|
bdec9df44c | ||
|
c446f5ff58 | ||
|
923017639c | ||
|
cb57056f4b | ||
|
33369deba9 | ||
|
de95e30718 | ||
|
9ae5fa0777 | ||
|
2027d8d907 | ||
|
58871282fd | ||
|
4db827d152 | ||
|
18eca01b10 | ||
|
94ae0fcf03 | ||
|
2f15b4e95a | ||
|
3b36a9d68f | ||
|
0feff0d802 | ||
|
7be3065c79 | ||
|
326b3a11f8 | ||
|
ce3527ab5a | ||
|
00b0111c6c | ||
|
806eed0a98 | ||
|
944d8b65c4 | ||
|
c5d4f0f35a | ||
|
c4f0f3c668 | ||
|
87b264fba8 | ||
|
a8585cf880 | ||
|
e141a01feb | ||
|
22942d0ae4 | ||
|
b61def0c68 | ||
|
c03961764a | ||
|
616f5e97e0 | ||
|
c5fa27e2d7 | ||
|
802eba95c5 | ||
|
fa06cb862b | ||
|
e5ec2becfb | ||
|
b3091b7bf3 | ||
|
3c6e5e169c | ||
|
d60ea94881 | ||
|
8d17551ae9 | ||
|
363e65143d | ||
|
5a47d0b0ad | ||
|
d7e28db400 | ||
|
1e95911991 | ||
|
c6aa541df2 | ||
|
d1dfa7c318 | ||
|
fe93333f0e | ||
|
ed5eae8cb6 | ||
|
7c07a3d2c3 | ||
|
399371ec09 | ||
|
862d7688c6 | ||
|
cf00bb3cc7 | ||
|
492a434c2b | ||
|
219ad25324 | ||
|
896c4d6934 | ||
|
85baf3767e | ||
|
56eae74260 | ||
|
5cccc4e338 | ||
|
31335eaca5 | ||
|
fb517419d2 | ||
|
17e1cf3127 | ||
|
134baad36b | ||
|
502222bd4c | ||
|
29ca8d764e | ||
|
7cb9f6e369 | ||
|
d0a0a529f1 | ||
|
6fdb1140a3 | ||
|
2ac4cc37b5 | ||
|
950f7264b3 | ||
|
d8b3f39eef | ||
|
92d954c542 | ||
|
4204cdca6e | ||
|
2cb33838e4 | ||
|
e5b4190710 | ||
|
d543aa9e03 | ||
|
32a9a804de | ||
|
53baa88e72 | ||
|
3c352d6375 | ||
|
2dab0a3d0f | ||
|
b0bbb622d9 | ||
|
d827979288 | ||
|
76df1b3538 | ||
|
2b7e19ea24 | ||
|
2a4639ca5d | ||
|
b8ff60afe1 | ||
|
b5ab26f7a3 | ||
|
b2744bf34b | ||
|
ed494cbfbc | ||
|
b1f83f040a | ||
|
b86be5acd2 | ||
|
d53c67dc50 | ||
|
e1ae479d5a | ||
|
eaaa829ad8 | ||
|
8ad6c02608 | ||
|
bb3f867eee | ||
|
21f3bde4eb | ||
|
61350d2a48 | ||
|
cdc5cb8cf5 | ||
|
73e46408e9 | ||
|
287182ff5f | ||
|
1528124748 | ||
|
e96c16aa1e | ||
|
22ab89339c | ||
|
1915f51cbc | ||
|
ff1a74c0da | ||
|
9ea0a62432 | ||
|
0d8cccef41 | ||
|
e2d4593c45 | ||
|
c11d2b1e4f | ||
|
389b7a34fb | ||
|
3797dab429 | ||
|
7625429990 | ||
|
494bf7baae | ||
|
1f9058bdaf | ||
|
3dd48684d5 | ||
|
20263a1377 | ||
|
d05a01709b | ||
|
3b4c9ded42 | ||
|
540035b99a | ||
|
f5aa4b5c0c | ||
|
62413f7a09 | ||
|
6f3798d0cf | ||
|
6eb7885be4 | ||
|
89deeaf7c4 | ||
|
5c30086951 | ||
|
09a85aaedd | ||
|
3460e9ab3c | ||
|
e5196d85e3 | ||
|
8522c6766e | ||
|
1e5dd70adb | ||
|
27ee5b62b8 | ||
|
63477f9dd4 | ||
|
5db224e2b9 | ||
|
41b38a2ea1 | ||
|
dc75130891 | ||
|
1fe8b5d775 | ||
|
7184323272 | ||
|
c379e6ad12 | ||
|
b16ac9683a | ||
|
af1376546d | ||
|
483ac0fe6c | ||
|
f9814c9de4 | ||
|
1136b9642b | ||
|
b18f57e3fc | ||
|
3c2ec47c4a | ||
|
04d1f6f145 | ||
|
fad6923fb5 | ||
|
dbc9964533 | ||
|
90c42a08eb | ||
|
23722e0cb4 | ||
|
788d425ef1 | ||
|
c912e98ba3 | ||
|
3c976797cd | ||
|
413660b2dc | ||
|
0f40cce788 | ||
|
dd8f25a940 | ||
|
45a63ea020 | ||
|
0b0ec52a01 | ||
|
7347f5ab15 | ||
|
be3257fbc9 | ||
|
0f37c3c8f0 | ||
|
14f90f0f92 | ||
|
1879a9fa70 | ||
|
7e73882c3e | ||
|
e9cfeb1071 | ||
|
eb2daf17cc | ||
|
1d020c54d9 | ||
|
2a28b8de6b | ||
|
e657a0d73a | ||
|
67e132ff6b | ||
|
9cc4675c59 | ||
|
8ee5bedcd5 | ||
|
9a96254da9 | ||
|
cf5b6bb2e2 | ||
|
0485103593 | ||
|
0ac3f1989d | ||
|
4442c49eca | ||
|
fdb3291c6b | ||
|
ac77d9d3a6 | ||
|
6d51a10a1b | ||
|
8163d0f36b | ||
|
744f5df30f | ||
|
053940df37 | ||
|
b590073eb4 | ||
|
46dd23149f | ||
|
653089313c | ||
|
e5495f7f62 | ||
|
36ce0cd8af | ||
|
5dd0513c53 | ||
|
d480eb8884 | ||
|
b97e40c655 | ||
|
5508c5cbb2 | ||
|
5bc725550f | ||
|
722735c754 | ||
|
b00f2fbdd7 | ||
|
a0f56dbcb8 | ||
|
922e25b702 | ||
|
e3a477e256 | ||
|
5b23dbf12b | ||
|
02d1ef26f3 | ||
|
8fdd4d9b2a | ||
|
0cbcee9d20 | ||
|
ab189e51e4 | ||
|
92545f124e | ||
|
b655fc4f5e | ||
|
a5d311777a | ||
|
0617a6d452 | ||
|
fdaf506151 | ||
|
107c3d29cb | ||
|
95b8c49444 | ||
|
9e6e290b4f | ||
|
4f5b849245 | ||
|
4fc98cbda8 | ||
|
6cf68480b9 | ||
|
cc899cd2b7 | ||
|
77d213e6cf | ||
|
6209e87ead | ||
|
0b51d20053 | ||
|
3b1370bd40 | ||
|
982ea317be | ||
|
7f3429142d | ||
|
ab0acbf7ef | ||
|
2b6a8f06f5 | ||
|
f4de98290f | ||
|
3195cffc1f | ||
|
3b3bd169e9 | ||
|
768bae5356 | ||
|
c79d92ab52 | ||
|
c65c9124fa | ||
|
937c311155 | ||
|
2f9c333ded | ||
|
bc59a11cc8 | ||
|
eb3bf8718c | ||
|
d2bc8a879f | ||
|
5961c78fbd | ||
|
c091afbac7 | ||
|
571960c0e1 | ||
|
e5eeaef2d2 | ||
|
18ef8485c0 | ||
|
cb1555ed4f | ||
|
3a5f1cf0b9 | ||
|
ba435ce3c6 | ||
|
3b144199de | ||
|
5f265ed22c | ||
|
8724283c06 | ||
|
7fd8e1f35f | ||
|
fe11b99061 | ||
|
187c594643 | ||
|
5a803bf1bf | ||
|
3c2cc97af2 | ||
|
451afd1750 | ||
|
57a0b9d688 | ||
|
5e27385583 | ||
|
e07a1445f4 | ||
|
f366e9f6c1 | ||
|
d45bd86a52 | ||
|
6efebc63d2 | ||
|
ce69bc85e4 | ||
|
016fa01795 | ||
|
381642f247 | ||
|
c5465c5668 | ||
|
286385fc87 | ||
|
6d97e286b5 | ||
|
9736840986 | ||
|
8efa2c983f | ||
|
7aa5ab1e76 | ||
|
7f477c644a | ||
|
74f90fc65a | ||
|
df3c1568fa | ||
|
fb898f7d38 | ||
|
940dd048e1 | ||
|
f952d12c8d | ||
|
7bcc8fccde | ||
|
5fc4e8a5f9 | ||
|
8f56b70c8b | ||
|
27ff35dcc8 | ||
|
083c5dcbd2 | ||
|
003e7d8a1b | ||
|
85de27e4af | ||
|
abab705b13 | ||
|
858f98f040 | ||
|
58f94d1774 | ||
|
cf585bc08a | ||
|
5244432b9c | ||
|
c0c67eed2b | ||
|
5bc1879d50 | ||
|
f50c85e75f | ||
|
78681a8ec7 | ||
|
3dfc1c7b9e | ||
|
fcae112976 | ||
|
d600586fdd | ||
|
7c21013a99 | ||
|
a617fe3890 | ||
|
2e73601047 | ||
|
b17882ecd8 | ||
|
0d2bc37302 | ||
|
92849df7cc | ||
|
f5cf7f122c | ||
|
e051367b2f | ||
|
da0b3935d7 | ||
|
fcaf6d5aef | ||
|
41758b941b | ||
|
c6aa16c16a | ||
|
8c2db2fee0 | ||
|
24a4495952 | ||
|
e7657c026b | ||
|
906bec0223 | ||
|
2199183bbe | ||
|
0e6c1e1d3a | ||
|
b512080393 | ||
|
76256a1bdd | ||
|
951e1367da | ||
|
67e88fe072 | ||
|
bd846f9aa4 | ||
|
d91736aefb | ||
|
5e244d149d | ||
|
ba3a40c9e9 | ||
|
44a984e920 | ||
|
117852d238 | ||
|
a3417a72ad | ||
|
b4bbd1348b | ||
|
4b2acdc21b | ||
|
ebdf34b599 | ||
|
28e9a590db | ||
|
507a803c65 | ||
|
a173ef04c2 | ||
|
a907b85b1a | ||
|
973109beb4 | ||
|
0dfbae2961 | ||
|
3369214f4f | ||
|
63466eec38 | ||
|
b8f704d4aa | ||
|
7a36161dd1 | ||
|
9b2aa002a1 | ||
|
851c81eee6 | ||
|
32a2579694 | ||
|
620f89d44b | ||
|
b1c2a48e3b | ||
|
7e4da4bd18 | ||
|
c6d6043053 | ||
|
4ec8e30269 | ||
|
cb65a82319 | ||
|
25fb37a67f | ||
|
ea9d73b0f2 | ||
|
1bc8ff3d85 | ||
|
04df00182d | ||
|
96f6e0a854 | ||
|
c958c7e3b0 | ||
|
826f6108be | ||
|
a623366dca | ||
|
dc6e9467cc | ||
|
608264fa22 | ||
|
7eab8b0750 | ||
|
433a98b5fa | ||
|
9539538ba0 | ||
|
7a754a98d0 | ||
|
65a136825d | ||
|
f108d390f0 | ||
|
ad119a417d | ||
|
46db68bb13 | ||
|
6d4eb0a221 | ||
|
fe2ee8daa3 | ||
|
5d79f46a06 | ||
|
85fbc8ec50 | ||
|
96e0908452 | ||
|
e459df7144 | ||
|
7b6887ffc8 | ||
|
9e45b56ced | ||
|
fbc903478d | ||
|
8fd63a45fa | ||
|
ceabf213ba | ||
|
e53bcfc884 | ||
|
3dcbb5e00d | ||
|
0a216e7da4 | ||
|
618eb75c49 | ||
|
4198aafc54 | ||
|
b26bf1b115 | ||
|
78c2b00d5f | ||
|
0a651dddad | ||
|
76ed4ec83b | ||
|
908a3aa96b | ||
|
900237d0da | ||
|
433491c7f4 | ||
|
3367d25567 | ||
|
529cde0611 | ||
|
35aafac05c | ||
|
c834528bf8 | ||
|
0dc710cada | ||
|
06094f3e4d | ||
|
854bf95b90 | ||
|
19bf8ba5ed | ||
|
047aaf23ed | ||
|
6208860a11 | ||
|
89ac2632f2 | ||
|
68f8d4b60c | ||
|
7abc3b64af | ||
|
b9b700035f | ||
|
df3116fa7f | ||
|
76afdc12da | ||
|
0e8ea6dc04 | ||
|
f289d2ad19 | ||
|
29859e5fd3 | ||
|
e2c529ca16 | ||
|
98d47d1fc4 | ||
|
1e922dc43f | ||
|
95bc4a2671 | ||
|
04fbc5df72 | ||
|
e904314653 | ||
|
96257d48db | ||
|
d7b2077ed8 | ||
|
e3407fdd9c | ||
|
335831c108 | ||
|
9c10e57cee | ||
|
2bf0d241a9 | ||
|
0ee50a0aaf | ||
|
00bbbe2448 | ||
|
9d30c5d072 | ||
|
7df59a1212 | ||
|
2799b51019 | ||
|
7325a8a281 | ||
|
dfcefd6140 | ||
|
ad58bfe28a | ||
|
6e7c576b23 | ||
|
bb0603242f | ||
|
9aafcccad6 | ||
|
a64e1e81c5 | ||
|
592dd734e8 | ||
|
d7cf631cd9 | ||
|
88b5cb544c | ||
|
1788cb32b5 | ||
|
338266205f | ||
|
880e173654 | ||
|
f540600448 | ||
|
c3644e01e9 | ||
|
19636d8609 | ||
|
d7977c4292 | ||
|
07d4eb5e6c | ||
|
732ebbb776 | ||
|
27ec5d2efc | ||
|
5e86e269b0 | ||
|
ec6486f26c | ||
|
611459f151 | ||
|
78fb45b54a | ||
|
d6273ed28e | ||
|
19381c9fed | ||
|
ebec4882b2 | ||
|
83170fa4d9 | ||
|
8483e5108d | ||
|
91f47e9c2b | ||
|
18eec41ac4 | ||
|
6e103fd392 | ||
|
cd692f690e | ||
|
26171ce642 | ||
|
beb173aaa8 | ||
|
bc1d4f7c8c | ||
|
f71800893b | ||
|
61fe294be5 | ||
|
8ccb84366b | ||
|
6ea5c51737 | ||
|
486242012f | ||
|
e2bf80f216 | ||
|
e3b240fa84 | ||
|
41cf75aa19 | ||
|
63cc11fc79 | ||
|
a293245d61 | ||
|
f9df01f16b | ||
|
d0093b0beb | ||
|
49d21151ac | ||
|
b0dcd1e796 | ||
|
9b3cb4f2aa | ||
|
4c802c0a86 | ||
|
86331561cd | ||
|
908bc24d72 | ||
|
0b4fd5a09c | ||
|
a811ab72f3 | ||
|
1a6f20f880 | ||
|
0d8a3eb240 | ||
|
8caedee1dd | ||
|
958edf5d4b | ||
|
2260e9862a | ||
|
9751314b2e | ||
|
abb783966b | ||
|
8ef0a1282d | ||
|
5e393b5c8d | ||
|
ba45724f37 | ||
|
478e831a2b | ||
|
1bfda5563c | ||
|
18c4d33491 | ||
|
601309743b | ||
|
9eb5b2b938 | ||
|
8cfcdea5fa | ||
|
a9824091f9 | ||
|
de35450565 | ||
|
3139c0bd7a | ||
|
e3eb09236b | ||
|
2570e76254 | ||
|
94c43e1921 | ||
|
0ab92a340f | ||
|
e54790f042 | ||
|
f343627af2 | ||
|
028236f96f | ||
|
21767c48f6 | ||
|
e116f0e2e4 | ||
|
ed0fe8ba5a | ||
|
b08374c708 | ||
|
c5e44a797e | ||
|
5124464786 | ||
|
d2964eccaf | ||
|
23b26d3b26 | ||
|
6580355f68 | ||
|
c4d7bed972 | ||
|
7be668ec63 | ||
|
8e8e7c35eb | ||
|
f593891576 | ||
|
3a8f1dc806 | ||
|
964ac05304 | ||
|
aa249071fc | ||
|
1163b5af3c | ||
|
5cfce75c9a | ||
|
6b7e77bfc9 | ||
|
4c675706f2 | ||
|
5e52f1cb74 | ||
|
917f4dca07 | ||
|
70f8d998df | ||
|
bf34df5460 | ||
|
fdc64df76a | ||
|
99eaa62157 | ||
|
842191a3fc | ||
|
611f8d8c45 | ||
|
b14ae65161 | ||
|
b2db2388e9 | ||
|
6d8cb64ea3 | ||
|
f30abc5fe4 | ||
|
632784d080 | ||
|
7c46bc1d7a | ||
|
5e70dd89f7 | ||
|
8c875b905d | ||
|
90985d2f94 | ||
|
9ab11b5a2d | ||
|
de0dcd8f04 | ||
|
e23208d657 | ||
|
4dc1dea0a6 | ||
|
fabaf5892a | ||
|
f938064c8d | ||
|
efc283ea0f | ||
|
5d74a4dc1f | ||
|
bc946f199f | ||
|
7845d37436 | ||
|
92cb366cf1 | ||
|
84d4c7f4da | ||
|
dd03a00484 | ||
|
5d1a36463e | ||
|
6e7d793b62 | ||
|
ff187406a6 | ||
|
67e7cbefcb | ||
|
94ae49ad03 | ||
|
bd67e0b8ba | ||
|
ed2f55b464 | ||
|
fe85b2aafe | ||
|
a8e3a8cc03 | ||
|
67880e7352 | ||
|
dbe6f7e739 | ||
|
621c32a3f3 | ||
|
506f10166e | ||
|
30d6c42539 | ||
|
d74dbb71d9 | ||
|
d69543779c | ||
|
3f20c9565c | ||
|
687cbecc1a | ||
|
d312eca131 | ||
|
5ca87d6bc1 | ||
|
a5110635fa | ||
|
a1197a2e61 | ||
|
c08cbfa7a2 | ||
|
e18ad707c8 | ||
|
2b7c04a7d9 | ||
|
a5e7b91fe0 | ||
|
72aa848eff | ||
|
3919a3d42a | ||
|
08f772b7c6 | ||
|
c6a77c874d | ||
|
14c92a0ec5 | ||
|
77edaa1c87 | ||
|
cd73d524b9 | ||
|
da69013f65 | ||
|
9206e4dfaf | ||
|
75fc10972f | ||
|
c7ef3adff2 | ||
|
a5887ec19a | ||
|
ae3f9c0f59 | ||
|
94996695bd | ||
|
4cbe7697a1 | ||
|
bdfd4666ac | ||
|
4c90f1b335 | ||
|
3f380b3dc9 | ||
|
baf72dcc52 | ||
|
37f8eef287 | ||
|
c9e1e6a6ad | ||
|
92fefe8a51 | ||
|
7a84e0d0f9 | ||
|
3115ae246c | ||
|
26ce8577f2 | ||
|
d136b969cf | ||
|
4b3ff92f36 | ||
|
48b2c90e2f | ||
|
a8253264f5 | ||
|
9dc0da2dea | ||
|
c72bfe8de2 | ||
|
983f990ed9 | ||
|
5da9bd0da2 | ||
|
20a98cecc9 | ||
|
e637f94339 | ||
|
4f75f1d31c | ||
|
0d59c944b1 | ||
|
15d071da9a | ||
|
5e675fb7e6 | ||
|
468e944166 | ||
|
8388a8705e | ||
|
5870ed88cc | ||
|
e74ec0acfc |
@@ -1,14 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<project name="TechBot" default="build">
|
||||
|
||||
<target name="build" description="Build components">
|
||||
<delete dir="bin" failonerror="false" />
|
||||
<nant buildfile="Compression/Default.build" />
|
||||
<nant buildfile="CHMLibrary/Default.build" />
|
||||
<nant buildfile="TechBot.IRCLibrary/Default.build" />
|
||||
<nant buildfile="TechBot.Library/Default.build" />
|
||||
<nant buildfile="TechBot.Console/Default.build" />
|
||||
<nant buildfile="TechBot/Default.build" />
|
||||
</target>
|
||||
|
||||
</project>
|
42
irc/TechBot/TechBot.Commands.Common/Base/BugCommand.cs
Normal file
42
irc/TechBot/TechBot.Commands.Common/Base/BugCommand.cs
Normal file
@@ -0,0 +1,42 @@
|
||||
using System;
|
||||
|
||||
using TechBot.Library;
|
||||
|
||||
namespace TechBot.Commands.Common
|
||||
{
|
||||
public abstract class BugCommand : Command
|
||||
{
|
||||
// private string m_BugID = null;
|
||||
|
||||
public BugCommand()
|
||||
{
|
||||
}
|
||||
|
||||
public string BugID
|
||||
{
|
||||
get { return Parameters; }
|
||||
set { Parameters = value; }
|
||||
}
|
||||
|
||||
public override void ExecuteCommand()
|
||||
{
|
||||
if (string.IsNullOrEmpty(BugID))
|
||||
{
|
||||
Say("Please provide a valid bug number.");
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
Say(BugUrl, Int32.Parse(BugID));
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
Say("{0} is not a valid bug number.", BugID);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected abstract string BugUrl { get; }
|
||||
}
|
||||
}
|
@@ -1,206 +1,180 @@
|
||||
using System;
|
||||
using System.Xml;
|
||||
using System.Collections;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
public class ErrorCommand : Command
|
||||
{
|
||||
private NtStatusCommand ntStatus;
|
||||
private WinerrorCommand winerror;
|
||||
private HResultCommand hresult;
|
||||
|
||||
public ErrorCommand(TechBotService techBot)
|
||||
: base(techBot)
|
||||
{
|
||||
this.ntStatus = new NtStatusCommand(techBot);
|
||||
this.winerror = new WinerrorCommand(techBot);
|
||||
this.hresult = new HResultCommand(techBot);
|
||||
}
|
||||
|
||||
/*
|
||||
public bool CanHandle(string commandName)
|
||||
{
|
||||
return CanHandle(commandName,
|
||||
new string[] { "error" });
|
||||
}
|
||||
*/
|
||||
|
||||
public override string[] AvailableCommands
|
||||
{
|
||||
get { return new string[] { "error" }; }
|
||||
}
|
||||
|
||||
private static int GetSeverity(long error)
|
||||
{
|
||||
return (int)((error >> 30) & 0x3);
|
||||
}
|
||||
|
||||
private static bool IsCustomer(long error)
|
||||
{
|
||||
return (error & 0x20000000) != 0;
|
||||
}
|
||||
|
||||
private static bool IsReserved(long error)
|
||||
{
|
||||
return (error & 0x10000000) != 0;
|
||||
}
|
||||
|
||||
private static int GetFacility(long error)
|
||||
{
|
||||
return (int)((error >> 16) & 0xFFF);
|
||||
}
|
||||
|
||||
private static short GetCode(long error)
|
||||
{
|
||||
return (short)((error >> 0) & 0xFFFF);
|
||||
}
|
||||
|
||||
private static string FormatSeverity(long error)
|
||||
{
|
||||
int severity = GetSeverity(error);
|
||||
switch (severity)
|
||||
{
|
||||
case 0: return "SUCCESS";
|
||||
case 1: return "INFORMATIONAL";
|
||||
case 2: return "WARNING";
|
||||
case 3: return "ERROR";
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static string FormatFacility(long error)
|
||||
{
|
||||
int facility = GetFacility(error);
|
||||
return facility.ToString();
|
||||
}
|
||||
|
||||
private static string FormatCode(long error)
|
||||
{
|
||||
int code = GetCode(error);
|
||||
return code.ToString();
|
||||
}
|
||||
|
||||
public override void Handle(MessageContext context,
|
||||
string commandName,
|
||||
string parameters)
|
||||
{
|
||||
string originalErrorText = parameters.Trim();
|
||||
if (originalErrorText.Equals(String.Empty))
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
"Please provide an Error Code.");
|
||||
return;
|
||||
}
|
||||
|
||||
string errorText = originalErrorText;
|
||||
|
||||
retry:
|
||||
NumberParser np = new NumberParser();
|
||||
long error = np.Parse(errorText);
|
||||
if (np.Error)
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
String.Format("{0} is not a valid Error Code.",
|
||||
originalErrorText));
|
||||
return;
|
||||
}
|
||||
|
||||
ArrayList descriptions = new ArrayList();
|
||||
|
||||
// Error is out of bounds
|
||||
if ((ulong)error > uint.MaxValue)
|
||||
{
|
||||
// Do nothing
|
||||
}
|
||||
// Error is outside of the range [0, 65535]: it cannot be a plain Win32 error code
|
||||
else if ((ulong)error > ushort.MaxValue)
|
||||
{
|
||||
// Customer bit is set: custom error code
|
||||
if (IsCustomer(error))
|
||||
{
|
||||
string description = String.Format("[custom, severity {0}, facility {1}, code {2}]",
|
||||
FormatSeverity(error),
|
||||
FormatFacility(error),
|
||||
FormatCode(error));
|
||||
descriptions.Add(description);
|
||||
}
|
||||
// Reserved bit is set: HRESULT_FROM_NT(ntstatus)
|
||||
else if (IsReserved(error))
|
||||
{
|
||||
int status = (int)(error & 0xCFFFFFFF);
|
||||
string description = ntStatus.GetNtstatusDescription(status);
|
||||
|
||||
if (description == null)
|
||||
description = status.ToString("X");
|
||||
|
||||
description = String.Format("HRESULT_FROM_NT({0})", description);
|
||||
descriptions.Add(description);
|
||||
}
|
||||
// Win32 facility: HRESULT_FROM_WIN32(winerror)
|
||||
else if (GetFacility(error) == 7)
|
||||
{
|
||||
// Must be an error code
|
||||
if (GetSeverity(error) == 2)
|
||||
{
|
||||
short err = GetCode(error);
|
||||
string description = winerror.GetWinerrorDescription(err);
|
||||
|
||||
if (description == null)
|
||||
description = err.ToString("D");
|
||||
|
||||
description = String.Format("HRESULT_FROM_WIN32({0})", description);
|
||||
descriptions.Add(description);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
string winerrorDescription = winerror.GetWinerrorDescription(error);
|
||||
string ntstatusDescription = ntStatus.GetNtstatusDescription(error);
|
||||
string hresultDescription = hresult.GetHresultDescription(error);
|
||||
|
||||
if (winerrorDescription != null)
|
||||
descriptions.Add(winerrorDescription);
|
||||
if (ntstatusDescription != null)
|
||||
descriptions.Add(ntstatusDescription);
|
||||
if (hresultDescription != null)
|
||||
descriptions.Add(hresultDescription);
|
||||
|
||||
if (descriptions.Count == 0)
|
||||
{
|
||||
// Last chance heuristics: attempt to parse a 8-digit decimal as hexadecimal
|
||||
if (errorText.Length == 8)
|
||||
{
|
||||
errorText = "0x" + errorText;
|
||||
goto retry;
|
||||
}
|
||||
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
String.Format("I don't know about Error Code {0}.",
|
||||
originalErrorText));
|
||||
}
|
||||
else if (descriptions.Count == 1)
|
||||
{
|
||||
string description = (string)descriptions[0];
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
String.Format("{0} is {1}.",
|
||||
originalErrorText,
|
||||
description));
|
||||
}
|
||||
else
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
String.Format("{0} could be:",
|
||||
originalErrorText));
|
||||
|
||||
foreach(string description in descriptions)
|
||||
TechBot.ServiceOutput.WriteLine(context, String.Format("\t{0}", description));
|
||||
}
|
||||
}
|
||||
|
||||
public override string Help()
|
||||
{
|
||||
return "!error <value>";
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Xml;
|
||||
using System.Collections;
|
||||
|
||||
using TechBot.Library;
|
||||
|
||||
namespace TechBot.Commands.Common
|
||||
{
|
||||
[Command("error", Help = "!error <value>")]
|
||||
public class ErrorCommand : Command
|
||||
{
|
||||
private NtStatusCommand ntStatus;
|
||||
private WinErrorCommand winerror;
|
||||
private HResultCommand hresult;
|
||||
|
||||
public ErrorCommand()
|
||||
{
|
||||
this.ntStatus = new NtStatusCommand();
|
||||
this.winerror = new WinErrorCommand();
|
||||
this.hresult = new HResultCommand();
|
||||
}
|
||||
|
||||
private static int GetSeverity(long error)
|
||||
{
|
||||
return (int)((error >> 30) & 0x3);
|
||||
}
|
||||
|
||||
private static bool IsCustomer(long error)
|
||||
{
|
||||
return (error & 0x20000000) != 0;
|
||||
}
|
||||
|
||||
private static bool IsReserved(long error)
|
||||
{
|
||||
return (error & 0x10000000) != 0;
|
||||
}
|
||||
|
||||
private static int GetFacility(long error)
|
||||
{
|
||||
return (int)((error >> 16) & 0xFFF);
|
||||
}
|
||||
|
||||
private static short GetCode(long error)
|
||||
{
|
||||
return (short)((error >> 0) & 0xFFFF);
|
||||
}
|
||||
|
||||
private static string FormatSeverity(long error)
|
||||
{
|
||||
int severity = GetSeverity(error);
|
||||
switch (severity)
|
||||
{
|
||||
case 0: return "SUCCESS";
|
||||
case 1: return "INFORMATIONAL";
|
||||
case 2: return "WARNING";
|
||||
case 3: return "ERROR";
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static string FormatFacility(long error)
|
||||
{
|
||||
int facility = GetFacility(error);
|
||||
return facility.ToString();
|
||||
}
|
||||
|
||||
private static string FormatCode(long error)
|
||||
{
|
||||
int code = GetCode(error);
|
||||
return code.ToString();
|
||||
}
|
||||
|
||||
public override void ExecuteCommand()
|
||||
{
|
||||
if (Parameters.Equals(String.Empty))
|
||||
{
|
||||
Say("Please provide an Error Code.");
|
||||
return;
|
||||
}
|
||||
|
||||
string errorText = Parameters;
|
||||
|
||||
retry:
|
||||
NumberParser np = new NumberParser();
|
||||
long error = np.Parse(errorText);
|
||||
if (np.Error)
|
||||
{
|
||||
Say("{0} is not a valid Error Code.", Parameters);
|
||||
return;
|
||||
}
|
||||
|
||||
ArrayList descriptions = new ArrayList();
|
||||
|
||||
// Error is out of bounds
|
||||
if ((ulong)error > uint.MaxValue)
|
||||
{
|
||||
// Do nothing
|
||||
}
|
||||
// Error is outside of the range [0, 65535]: it cannot be a plain Win32 error code
|
||||
else if ((ulong)error > ushort.MaxValue)
|
||||
{
|
||||
// Customer bit is set: custom error code
|
||||
if (IsCustomer(error))
|
||||
{
|
||||
string description = String.Format("[custom, severity {0}, facility {1}, code {2}]",
|
||||
FormatSeverity(error),
|
||||
FormatFacility(error),
|
||||
FormatCode(error));
|
||||
descriptions.Add(description);
|
||||
}
|
||||
// Reserved bit is set: HRESULT_FROM_NT(ntstatus)
|
||||
else if (IsReserved(error))
|
||||
{
|
||||
int status = (int)(error & 0xCFFFFFFF);
|
||||
string description = ntStatus.GetNtstatusDescription(status);
|
||||
|
||||
if (description == null)
|
||||
description = status.ToString("X");
|
||||
|
||||
description = String.Format("HRESULT_FROM_NT({0})", description);
|
||||
descriptions.Add(description);
|
||||
}
|
||||
// Win32 facility: HRESULT_FROM_WIN32(winerror)
|
||||
else if (GetFacility(error) == 7)
|
||||
{
|
||||
// Must be an error code
|
||||
if (GetSeverity(error) == 2)
|
||||
{
|
||||
short err = GetCode(error);
|
||||
string description = winerror.GetWinerrorDescription(err);
|
||||
|
||||
if (description == null)
|
||||
description = err.ToString("D");
|
||||
|
||||
description = String.Format("HRESULT_FROM_WIN32({0})", description);
|
||||
descriptions.Add(description);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
string winerrorDescription = winerror.GetWinerrorDescription(error);
|
||||
string ntstatusDescription = ntStatus.GetNtstatusDescription(error);
|
||||
string hresultDescription = hresult.GetHresultDescription(error);
|
||||
|
||||
if (winerrorDescription != null)
|
||||
descriptions.Add(winerrorDescription);
|
||||
if (ntstatusDescription != null)
|
||||
descriptions.Add(ntstatusDescription);
|
||||
if (hresultDescription != null)
|
||||
descriptions.Add(hresultDescription);
|
||||
|
||||
if (descriptions.Count == 0)
|
||||
{
|
||||
// Last chance heuristics: attempt to parse a 8-digit decimal as hexadecimal
|
||||
if (errorText.Length == 8)
|
||||
{
|
||||
errorText = "0x" + errorText;
|
||||
goto retry;
|
||||
}
|
||||
|
||||
Say("I don't know about Error Code {0}.",
|
||||
Parameters);
|
||||
}
|
||||
else if (descriptions.Count == 1)
|
||||
{
|
||||
string description = (string)descriptions[0];
|
||||
Say("{0} is {1}.",
|
||||
Parameters,
|
||||
description);
|
||||
}
|
||||
else
|
||||
{
|
||||
Say("{0} could be:", Parameters);
|
||||
|
||||
foreach (string description in descriptions)
|
||||
Say("\t{0}", description);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
66
irc/TechBot/TechBot.Commands.Common/HResultCommand.cs
Normal file
66
irc/TechBot/TechBot.Commands.Common/HResultCommand.cs
Normal file
@@ -0,0 +1,66 @@
|
||||
using System;
|
||||
using System.Xml;
|
||||
|
||||
using TechBot.Library;
|
||||
|
||||
namespace TechBot.Commands.Common
|
||||
{
|
||||
[Command("hresult", Help = "!hresult <value>")]
|
||||
public class HResultCommand : XmlLookupCommand
|
||||
{
|
||||
public HResultCommand()
|
||||
{
|
||||
}
|
||||
|
||||
public override string XmlFile
|
||||
{
|
||||
get { return Settings.Default.HResultXml; }
|
||||
}
|
||||
|
||||
public override void ExecuteCommand()
|
||||
{
|
||||
if (string.IsNullOrEmpty(Text))
|
||||
{
|
||||
Say("Please provide a valid HRESULT value.");
|
||||
}
|
||||
else
|
||||
{
|
||||
NumberParser np = new NumberParser();
|
||||
long hresult = np.Parse(Text);
|
||||
if (np.Error)
|
||||
{
|
||||
Say("{0} is not a valid HRESULT value.", Text);
|
||||
return;
|
||||
}
|
||||
|
||||
string description = GetHresultDescription(hresult);
|
||||
if (description != null)
|
||||
{
|
||||
Say("{0} is {1}.",
|
||||
Text,
|
||||
description);
|
||||
}
|
||||
else
|
||||
{
|
||||
Say("I don't know about HRESULT {0}.", Text);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string GetHresultDescription(long hresult)
|
||||
{
|
||||
XmlElement root = base.m_XmlDocument.DocumentElement;
|
||||
XmlNode node = root.SelectSingleNode(String.Format("Hresult[@value='{0}']",
|
||||
hresult.ToString("X8")));
|
||||
if (node != null)
|
||||
{
|
||||
XmlAttribute text = node.Attributes["text"];
|
||||
if (text == null)
|
||||
throw new Exception("Node has no text attribute.");
|
||||
return text.Value;
|
||||
}
|
||||
else
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
66
irc/TechBot/TechBot.Commands.Common/NtStatusCommand.cs
Normal file
66
irc/TechBot/TechBot.Commands.Common/NtStatusCommand.cs
Normal file
@@ -0,0 +1,66 @@
|
||||
using System;
|
||||
using System.Xml;
|
||||
|
||||
using TechBot.Library;
|
||||
|
||||
namespace TechBot.Commands.Common
|
||||
{
|
||||
[Command("ntstatus", Help = "!ntstatus <value>")]
|
||||
public class NtStatusCommand : XmlLookupCommand
|
||||
{
|
||||
public NtStatusCommand()
|
||||
{
|
||||
}
|
||||
|
||||
public override string XmlFile
|
||||
{
|
||||
get { return Settings.Default.NtStatusXml; }
|
||||
}
|
||||
|
||||
public override void ExecuteCommand()
|
||||
{
|
||||
if (string.IsNullOrEmpty(Text))
|
||||
{
|
||||
Say("Please provide a valid NTSTATUS value.");
|
||||
}
|
||||
else
|
||||
{
|
||||
NumberParser np = new NumberParser();
|
||||
long ntstatus = np.Parse(Text);
|
||||
if (np.Error)
|
||||
{
|
||||
Say("{0} is not a valid NTSTATUS value.", Text);
|
||||
return;
|
||||
}
|
||||
|
||||
string description = GetNtstatusDescription(ntstatus);
|
||||
if (description != null)
|
||||
{
|
||||
Say("{0} is {1}.",
|
||||
Text,
|
||||
description);
|
||||
}
|
||||
else
|
||||
{
|
||||
Say("I don't know about NTSTATUS {0}.", Text);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string GetNtstatusDescription(long ntstatus)
|
||||
{
|
||||
XmlElement root = base.m_XmlDocument.DocumentElement;
|
||||
XmlNode node = root.SelectSingleNode(String.Format("Ntstatus[@value='{0}']",
|
||||
ntstatus.ToString("X8")));
|
||||
if (node != null)
|
||||
{
|
||||
XmlAttribute text = node.Attributes["text"];
|
||||
if (text == null)
|
||||
throw new Exception("Node has no text attribute.");
|
||||
return text.Value;
|
||||
}
|
||||
else
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,35 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("TechBot.Commands.Common")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Sand")]
|
||||
[assembly: AssemblyProduct("TechBot.Commands.Common")]
|
||||
[assembly: AssemblyCopyright("Copyright © Sand 2008")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("5d39d6f8-37fb-423b-ba88-1d5d8e5a1317")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
21
irc/TechBot/TechBot.Commands.Common/ReactOSBugUrl.cs
Normal file
21
irc/TechBot/TechBot.Commands.Common/ReactOSBugUrl.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
using TechBot.Library;
|
||||
|
||||
namespace TechBot.Commands.Common
|
||||
{
|
||||
[Command("rosbug", Help = "!rosbug <number>", Description = "Will give you a link to the reqested ReactOS bug")]
|
||||
class ReactOSBugUrl : BugCommand
|
||||
{
|
||||
public ReactOSBugUrl()
|
||||
{
|
||||
}
|
||||
|
||||
protected override string BugUrl
|
||||
{
|
||||
get { return "http://www.reactos.org/bugzilla/show_bug.cgi?id={0}"; }
|
||||
}
|
||||
}
|
||||
}
|
21
irc/TechBot/TechBot.Commands.Common/SambaBugUrl.cs
Normal file
21
irc/TechBot/TechBot.Commands.Common/SambaBugUrl.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
using TechBot.Library;
|
||||
|
||||
namespace TechBot.Commands.Common
|
||||
{
|
||||
[Command("sambabug", Help = "!sambabug <number>", Description = "Will give you a link to the reqested Samba bug")]
|
||||
class SambaBugUrl : BugCommand
|
||||
{
|
||||
public SambaBugUrl()
|
||||
{
|
||||
}
|
||||
|
||||
protected override string BugUrl
|
||||
{
|
||||
get { return "https://bugzilla.samba.org/show_bug.cgi?id={0}"; }
|
||||
}
|
||||
}
|
||||
}
|
71
irc/TechBot/TechBot.Commands.Common/Settings.Designer.cs
generated
Normal file
71
irc/TechBot/TechBot.Commands.Common/Settings.Designer.cs
generated
Normal file
@@ -0,0 +1,71 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.1433
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace TechBot.Commands.Common {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("C:\\Ros\\current\\irc\\TechBot\\Resources\\ntstatus.xml")]
|
||||
public string NtStatusXml {
|
||||
get {
|
||||
return ((string)(this["NtStatusXml"]));
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("C:\\Ros\\current\\irc\\TechBot\\Resources\\winerror.xml")]
|
||||
public string WinErrorXml {
|
||||
get {
|
||||
return ((string)(this["WinErrorXml"]));
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("C:\\Ros\\current\\irc\\TechBot\\Resources\\hresult.xml")]
|
||||
public string HResultXml {
|
||||
get {
|
||||
return ((string)(this["HResultXml"]));
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("C:\\Ros\\current\\irc\\TechBot\\Resources\\wm.xml")]
|
||||
public string WMXml {
|
||||
get {
|
||||
return ((string)(this["WMXml"]));
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("svn://svn.reactos.org/trunk/reactos")]
|
||||
public string SVNRoot {
|
||||
get {
|
||||
return ((string)(this["SVNRoot"]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
28
irc/TechBot/TechBot.Commands.Common/Settings.cs
Normal file
28
irc/TechBot/TechBot.Commands.Common/Settings.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
namespace TechBot.Commands.Common {
|
||||
|
||||
|
||||
// This class allows you to handle specific events on the settings class:
|
||||
// The SettingChanging event is raised before a setting's value is changed.
|
||||
// The PropertyChanged event is raised after a setting's value is changed.
|
||||
// The SettingsLoaded event is raised after the setting values are loaded.
|
||||
// The SettingsSaving event is raised before the setting values are saved.
|
||||
internal sealed partial class Settings {
|
||||
|
||||
public Settings() {
|
||||
// // To add event handlers for saving and changing settings, uncomment the lines below:
|
||||
//
|
||||
// this.SettingChanging += this.SettingChangingEventHandler;
|
||||
//
|
||||
// this.SettingsSaving += this.SettingsSavingEventHandler;
|
||||
//
|
||||
}
|
||||
|
||||
private void SettingChangingEventHandler(object sender, System.Configuration.SettingChangingEventArgs e) {
|
||||
// Add code to handle the SettingChangingEvent event here.
|
||||
}
|
||||
|
||||
private void SettingsSavingEventHandler(object sender, System.ComponentModel.CancelEventArgs e) {
|
||||
// Add code to handle the SettingsSaving event here.
|
||||
}
|
||||
}
|
||||
}
|
21
irc/TechBot/TechBot.Commands.Common/Settings.settings
Normal file
21
irc/TechBot/TechBot.Commands.Common/Settings.settings
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="TechBot.Commands.Common" GeneratedClassName="Settings">
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="NtStatusXml" Type="System.String" Scope="Application">
|
||||
<Value Profile="(Default)">C:\Ros\current\irc\TechBot\Resources\ntstatus.xml</Value>
|
||||
</Setting>
|
||||
<Setting Name="WinErrorXml" Type="System.String" Scope="Application">
|
||||
<Value Profile="(Default)">C:\Ros\current\irc\TechBot\Resources\winerror.xml</Value>
|
||||
</Setting>
|
||||
<Setting Name="HResultXml" Type="System.String" Scope="Application">
|
||||
<Value Profile="(Default)">C:\Ros\current\irc\TechBot\Resources\hresult.xml</Value>
|
||||
</Setting>
|
||||
<Setting Name="WMXml" Type="System.String" Scope="Application">
|
||||
<Value Profile="(Default)">C:\Ros\current\irc\TechBot\Resources\wm.xml</Value>
|
||||
</Setting>
|
||||
<Setting Name="SVNRoot" Type="System.String" Scope="Application">
|
||||
<Value Profile="(Default)">svn://svn.reactos.org/trunk/reactos</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
22
irc/TechBot/TechBot.Commands.Common/SvnCommand.cs
Normal file
22
irc/TechBot/TechBot.Commands.Common/SvnCommand.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
|
||||
using TechBot.Library;
|
||||
|
||||
namespace TechBot.Commands.Common
|
||||
{
|
||||
[Command("svn", Help = "!svn" , Description="Where the ROS SVN repository is located")]
|
||||
public class SvnCommand : Command
|
||||
{
|
||||
private string m_SvnRoot;
|
||||
|
||||
public SvnCommand()
|
||||
{
|
||||
m_SvnRoot = Settings.Default.SVNRoot;
|
||||
}
|
||||
|
||||
public override void ExecuteCommand()
|
||||
{
|
||||
Say("svn co {0}", m_SvnRoot);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,75 @@
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.50727</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{041B5F06-BF97-4981-B024-3A7B6DD9F6AE}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>TechBot.Commands.Common</RootNamespace>
|
||||
<AssemblyName>TechBot.Commands.Common</AssemblyName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Base\BugCommand.cs" />
|
||||
<Compile Include="ErrorCommand.cs" />
|
||||
<Compile Include="HResultCommand.cs" />
|
||||
<Compile Include="NtStatusCommand.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="ReactOSBugUrl.cs" />
|
||||
<Compile Include="SambaBugUrl.cs" />
|
||||
<Compile Include="Settings.cs" />
|
||||
<Compile Include="Settings.Designer.cs">
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<Compile Include="SvnCommand.cs" />
|
||||
<Compile Include="WineBugUrl.cs" />
|
||||
<Compile Include="WinerrorCommand.cs" />
|
||||
<Compile Include="WMCommand.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\TechBot.Library\TechBot.Library.csproj">
|
||||
<Project>{1114F34D-F388-4F38-AE27-C0EE1B10B777}</Project>
|
||||
<Name>TechBot.Library</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
<None Include="Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
94
irc/TechBot/TechBot.Commands.Common/WMCommand.cs
Normal file
94
irc/TechBot/TechBot.Commands.Common/WMCommand.cs
Normal file
@@ -0,0 +1,94 @@
|
||||
using System;
|
||||
using System.Xml;
|
||||
|
||||
using TechBot.Library;
|
||||
|
||||
namespace TechBot.Commands.Common
|
||||
{
|
||||
[Command("wm" , Help = "!wm <value> or !wm <name>")]
|
||||
public class WMCommand : XmlCommand
|
||||
{
|
||||
public WMCommand()
|
||||
{
|
||||
}
|
||||
|
||||
public override string XmlFile
|
||||
{
|
||||
get { return Settings.Default.WMXml; }
|
||||
}
|
||||
|
||||
[CommandParameter("wm", "The windows message to check" , DefaultParameter = true)]
|
||||
public string WMText
|
||||
{
|
||||
get { return Parameters; }
|
||||
set { Parameters = value; }
|
||||
}
|
||||
|
||||
public override void ExecuteCommand()
|
||||
{
|
||||
if (string.IsNullOrEmpty(WMText))
|
||||
{
|
||||
Say("Please provide a valid window message value or name.");
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
NumberParser np = new NumberParser();
|
||||
long wm = np.Parse(WMText);
|
||||
string output;
|
||||
if (np.Error)
|
||||
{
|
||||
// Assume "!wm <name>" form.
|
||||
output = GetWmNumber(WMText);
|
||||
}
|
||||
else
|
||||
{
|
||||
output = GetWmDescription(wm);
|
||||
}
|
||||
|
||||
if (output != null)
|
||||
{
|
||||
Say("{0} is {1}.",
|
||||
WMText,
|
||||
output);
|
||||
}
|
||||
else
|
||||
{
|
||||
Say("I don't know about window message {0}.", WMText);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private string GetWmDescription(long wm)
|
||||
{
|
||||
XmlElement root = base.m_XmlDocument.DocumentElement;
|
||||
XmlNode node = root.SelectSingleNode(String.Format("WindowMessage[@value='{0}']",
|
||||
wm));
|
||||
if (node != null)
|
||||
{
|
||||
XmlAttribute text = node.Attributes["text"];
|
||||
if (text == null)
|
||||
throw new Exception("Node has no text attribute.");
|
||||
return text.Value;
|
||||
}
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
private string GetWmNumber(string wmName)
|
||||
{
|
||||
XmlElement root = base.m_XmlDocument.DocumentElement;
|
||||
XmlNode node = root.SelectSingleNode(String.Format("WindowMessage[@text='{0}']",
|
||||
wmName));
|
||||
if (node != null)
|
||||
{
|
||||
XmlAttribute value = node.Attributes["value"];
|
||||
if (value == null)
|
||||
throw new Exception("Node has no value attribute.");
|
||||
return value.Value;
|
||||
}
|
||||
else
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
21
irc/TechBot/TechBot.Commands.Common/WineBugUrl.cs
Normal file
21
irc/TechBot/TechBot.Commands.Common/WineBugUrl.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
using TechBot.Library;
|
||||
|
||||
namespace TechBot.Commands.Common
|
||||
{
|
||||
[Command("winebug", Help = "!winebug <number>" , Description="Will give you a link to the reqested Wine bug")]
|
||||
class WineBugUrl : BugCommand
|
||||
{
|
||||
public WineBugUrl()
|
||||
{
|
||||
}
|
||||
|
||||
protected override string BugUrl
|
||||
{
|
||||
get { return "http://bugs.winehq.org/show_bug.cgi?id={0}"; }
|
||||
}
|
||||
}
|
||||
}
|
66
irc/TechBot/TechBot.Commands.Common/WinerrorCommand.cs
Normal file
66
irc/TechBot/TechBot.Commands.Common/WinerrorCommand.cs
Normal file
@@ -0,0 +1,66 @@
|
||||
using System;
|
||||
using System.Xml;
|
||||
|
||||
using TechBot.Library;
|
||||
|
||||
namespace TechBot.Commands.Common
|
||||
{
|
||||
[Command("winerror", Help = "!winerror <value>")]
|
||||
public class WinErrorCommand : XmlLookupCommand
|
||||
{
|
||||
public WinErrorCommand()
|
||||
{
|
||||
}
|
||||
|
||||
public override string XmlFile
|
||||
{
|
||||
get { return Settings.Default.WinErrorXml; }
|
||||
}
|
||||
|
||||
public override void ExecuteCommand()
|
||||
{
|
||||
if (string.IsNullOrEmpty(Text))
|
||||
{
|
||||
Say("Please provide a valid System Error Code value.");
|
||||
}
|
||||
else
|
||||
{
|
||||
NumberParser np = new NumberParser();
|
||||
long winerror = np.Parse(Text);
|
||||
if (np.Error)
|
||||
{
|
||||
Say("{0} is not a valid System Error Code value.", Text);
|
||||
return;
|
||||
}
|
||||
|
||||
string description = GetWinerrorDescription(winerror);
|
||||
if (description != null)
|
||||
{
|
||||
Say("{0} is {1}.",
|
||||
Text,
|
||||
description);
|
||||
}
|
||||
else
|
||||
{
|
||||
Say("I don't know about System Error Code {0}.", Text);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string GetWinerrorDescription(long winerror)
|
||||
{
|
||||
XmlElement root = base.m_XmlDocument.DocumentElement;
|
||||
XmlNode node = root.SelectSingleNode(String.Format("Winerror[@value='{0}']",
|
||||
winerror.ToString()));
|
||||
if (node != null)
|
||||
{
|
||||
XmlAttribute text = node.Attributes["text"];
|
||||
if (text == null)
|
||||
throw new Exception("Node has no text attribute.");
|
||||
return text.Value;
|
||||
}
|
||||
else
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
27
irc/TechBot/TechBot.Commands.Common/app.config
Normal file
27
irc/TechBot/TechBot.Commands.Common/app.config
Normal file
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
|
||||
<section name="TechBot.Commands.Common.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<applicationSettings>
|
||||
<TechBot.Commands.Common.Settings>
|
||||
<setting name="NtStatusXml" serializeAs="String">
|
||||
<value>C:\Ros\current\irc\TechBot\Resources\ntstatus.xml</value>
|
||||
</setting>
|
||||
<setting name="WinErrorXml" serializeAs="String">
|
||||
<value>C:\Ros\current\irc\TechBot\Resources\winerror.xml</value>
|
||||
</setting>
|
||||
<setting name="HResultXml" serializeAs="String">
|
||||
<value>C:\Ros\current\irc\TechBot\Resources\hresult.xml</value>
|
||||
</setting>
|
||||
<setting name="WMXml" serializeAs="String">
|
||||
<value>C:\Ros\current\irc\TechBot\Resources\wm.xml</value>
|
||||
</setting>
|
||||
<setting name="SVNRoot" serializeAs="String">
|
||||
<value>svn://svn.reactos.org/trunk/reactos</value>
|
||||
</setting>
|
||||
</TechBot.Commands.Common.Settings>
|
||||
</applicationSettings>
|
||||
</configuration>
|
@@ -1,353 +1,309 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Data;
|
||||
using System.Text.RegularExpressions;
|
||||
using HtmlHelp;
|
||||
using HtmlHelp.ChmDecoding;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
public class ApiCommand : Command
|
||||
{
|
||||
private const bool IsVerbose = false;
|
||||
|
||||
private HtmlHelpSystem chm;
|
||||
private string chmPath;
|
||||
private string mainChm;
|
||||
|
||||
public ApiCommand(TechBotService techBot)
|
||||
: base(techBot)
|
||||
{
|
||||
Run();
|
||||
}
|
||||
|
||||
private void WriteIfVerbose(MessageContext context,
|
||||
string message)
|
||||
{
|
||||
if (IsVerbose)
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
message);
|
||||
}
|
||||
|
||||
private void Run()
|
||||
{
|
||||
string CHMFilename = Path.Combine(chmPath, mainChm);
|
||||
chm = new HtmlHelpSystem();
|
||||
chm.OpenFile(CHMFilename, null);
|
||||
|
||||
Console.WriteLine(String.Format("Loaded main CHM: {0}",
|
||||
Path.GetFileName(CHMFilename)));
|
||||
foreach (string filename in Directory.GetFiles(chmPath))
|
||||
{
|
||||
if (!Path.GetExtension(filename).ToLower().Equals(".chm"))
|
||||
continue;
|
||||
if (Path.GetFileName(filename).ToLower().Equals(mainChm))
|
||||
continue;
|
||||
|
||||
Console.WriteLine(String.Format("Loading CHM: {0}",
|
||||
Path.GetFileName(filename)));
|
||||
try
|
||||
{
|
||||
chm.MergeFile(filename);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine(String.Format("Could not load CHM: {0}. Exception {1}",
|
||||
Path.GetFileName(filename),
|
||||
ex));
|
||||
}
|
||||
}
|
||||
Console.WriteLine(String.Format("Loaded {0} CHMs",
|
||||
chm.FileList.Length));
|
||||
}
|
||||
|
||||
public override string[] AvailableCommands
|
||||
{
|
||||
get { return new string[] { "api" }; }
|
||||
}
|
||||
|
||||
/*
|
||||
public bool CanHandle(string commandName)
|
||||
{
|
||||
return CanHandle(commandName,
|
||||
new string[] { "api" });
|
||||
}
|
||||
*/
|
||||
|
||||
public override void Handle(MessageContext context,
|
||||
string commandName,
|
||||
string parameters)
|
||||
{
|
||||
if (parameters.Trim().Equals(String.Empty))
|
||||
DisplayNoKeyword(context);
|
||||
else
|
||||
Search(context,
|
||||
parameters);
|
||||
}
|
||||
|
||||
public override string Help()
|
||||
{
|
||||
return "!api <apiname>";
|
||||
}
|
||||
|
||||
private bool SearchIndex(MessageContext context,
|
||||
string keyword)
|
||||
{
|
||||
if (chm.HasIndex)
|
||||
{
|
||||
IndexItem item = chm.Index.SearchIndex(keyword,
|
||||
IndexType.KeywordLinks);
|
||||
if (item != null && item.Topics.Count > 0)
|
||||
{
|
||||
WriteIfVerbose(context,
|
||||
String.Format("Keyword {0} found in index",
|
||||
item.KeyWord));
|
||||
IndexTopic indexTopic = item.Topics[0] as IndexTopic;
|
||||
return DisplayResult(context,
|
||||
keyword,
|
||||
indexTopic);
|
||||
}
|
||||
else
|
||||
{
|
||||
WriteIfVerbose(context,
|
||||
String.Format("Keyword {0} not found in index",
|
||||
keyword));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
private void SearchFullText(MessageContext context,
|
||||
string keyword)
|
||||
{
|
||||
string sort = "Rating ASC";
|
||||
WriteIfVerbose(context,
|
||||
String.Format("Searching fulltext database for {0}",
|
||||
keyword));
|
||||
|
||||
bool partialMatches = false;
|
||||
bool titlesOnly = true;
|
||||
int maxResults = 100;
|
||||
DataTable results = chm.PerformSearch(keyword,
|
||||
maxResults,
|
||||
partialMatches,
|
||||
titlesOnly);
|
||||
WriteIfVerbose(context,
|
||||
String.Format("results.Rows.Count = {0}",
|
||||
results != null ?
|
||||
results.Rows.Count.ToString() : "(none)"));
|
||||
if (results != null && results.Rows.Count > 0)
|
||||
{
|
||||
results.DefaultView.Sort = sort;
|
||||
if (!DisplayResult(context,
|
||||
keyword,
|
||||
results))
|
||||
{
|
||||
DisplayNoResult(context,
|
||||
keyword);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
DisplayNoResult(context,
|
||||
keyword);
|
||||
}
|
||||
}
|
||||
|
||||
private void Search(MessageContext context,
|
||||
string keyword)
|
||||
{
|
||||
if (!SearchIndex(context,
|
||||
keyword))
|
||||
SearchFullText(context,
|
||||
keyword);
|
||||
}
|
||||
|
||||
private bool DisplayResult(MessageContext context,
|
||||
string keyword,
|
||||
IndexTopic indexTopic)
|
||||
{
|
||||
keyword = keyword.Trim().ToLower();
|
||||
string url = indexTopic.URL;
|
||||
WriteIfVerbose(context,
|
||||
String.Format("URL from index search {0}",
|
||||
url));
|
||||
string prototype = ExtractPrototype(context,
|
||||
url);
|
||||
if (prototype == null || prototype.Trim().Equals(String.Empty))
|
||||
return false;
|
||||
string formattedPrototype = FormatPrototype(prototype);
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
formattedPrototype);
|
||||
return true;
|
||||
}
|
||||
|
||||
private bool DisplayResult(MessageContext context,
|
||||
string keyword,
|
||||
DataTable results)
|
||||
{
|
||||
keyword = keyword.Trim().ToLower();
|
||||
for (int i = 0; i < results.DefaultView.Count; i++)
|
||||
{
|
||||
DataRowView row = results.DefaultView[i];
|
||||
string title = row["Title"].ToString();
|
||||
WriteIfVerbose(context,
|
||||
String.Format("Examining {0}", title));
|
||||
if (title.Trim().ToLower().Equals(keyword))
|
||||
{
|
||||
string location = row["Location"].ToString();
|
||||
string rating = row["Rating"].ToString();
|
||||
string url = row["Url"].ToString();
|
||||
string prototype = ExtractPrototype(context,
|
||||
url);
|
||||
if (prototype == null || prototype.Trim().Equals(String.Empty))
|
||||
continue;
|
||||
string formattedPrototype = FormatPrototype(prototype);
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
formattedPrototype);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private void DisplayNoResult(MessageContext context,
|
||||
string keyword)
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
String.Format("I don't know about keyword {0}",
|
||||
keyword));
|
||||
}
|
||||
|
||||
private void DisplayNoKeyword(MessageContext context)
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
"Please give me a keyword.");
|
||||
}
|
||||
|
||||
private string ReplaceComments(string s)
|
||||
{
|
||||
return Regex.Replace(s, "//(.+)\r\n", "");
|
||||
}
|
||||
|
||||
private string ReplaceLineEndings(string s)
|
||||
{
|
||||
return Regex.Replace(s, "(\r\n)+", " ");
|
||||
}
|
||||
|
||||
private string ReplaceSpaces(string s)
|
||||
{
|
||||
return Regex.Replace(s, @" +", " ");
|
||||
}
|
||||
|
||||
private string ReplaceSpacesBeforeLeftParenthesis(string s)
|
||||
{
|
||||
return Regex.Replace(s, @"\( ", @"(");
|
||||
}
|
||||
|
||||
private string ReplaceSpacesBeforeRightParenthesis(string s)
|
||||
{
|
||||
return Regex.Replace(s, @" \)", @")");
|
||||
}
|
||||
|
||||
private string ReplaceSemicolon(string s)
|
||||
{
|
||||
return Regex.Replace(s, @";", @"");
|
||||
}
|
||||
|
||||
private string FormatPrototype(string prototype)
|
||||
{
|
||||
string s = ReplaceComments(prototype);
|
||||
s = ReplaceLineEndings(s);
|
||||
s = ReplaceSpaces(s);
|
||||
s = ReplaceSpacesBeforeLeftParenthesis(s);
|
||||
s = ReplaceSpacesBeforeRightParenthesis(s);
|
||||
s = ReplaceSemicolon(s);
|
||||
return s;
|
||||
}
|
||||
|
||||
private string ExtractPrototype(MessageContext context,
|
||||
string url)
|
||||
{
|
||||
string page = GetPage(context,
|
||||
url);
|
||||
Match match = Regex.Match(page,
|
||||
"<PRE class=\"?syntax\"?>(.+)</PRE>",
|
||||
RegexOptions.Multiline |
|
||||
RegexOptions.Singleline);
|
||||
if (match.Groups.Count > 1)
|
||||
{
|
||||
string prototype = match.Groups[1].ToString();
|
||||
return StripHtml(StripAfterSlashPre(prototype));
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
private string StripAfterSlashPre(string html)
|
||||
{
|
||||
int index = html.IndexOf("</PRE>");
|
||||
if (index != -1)
|
||||
{
|
||||
return html.Substring(0, index);
|
||||
}
|
||||
else
|
||||
return html;
|
||||
}
|
||||
|
||||
private string StripHtml(string html)
|
||||
{
|
||||
return Regex.Replace(html, @"<(.|\n)*?>", String.Empty);
|
||||
}
|
||||
|
||||
private string GetPage(MessageContext context,
|
||||
string url)
|
||||
{
|
||||
string CHMFileName = "";
|
||||
string topicName = "";
|
||||
string anchor = "";
|
||||
CHMStream.CHMStream baseStream;
|
||||
if (!chm.BaseStream.GetCHMParts(url, ref CHMFileName, ref topicName, ref anchor))
|
||||
{
|
||||
baseStream = chm.BaseStream;
|
||||
CHMFileName = baseStream.CHMFileName;
|
||||
topicName = url;
|
||||
anchor = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
baseStream = GetBaseStreamFromCHMFileName(context,
|
||||
CHMFileName);
|
||||
}
|
||||
|
||||
if ((topicName == "") || (CHMFileName == "") || (baseStream == null))
|
||||
{
|
||||
return "";
|
||||
}
|
||||
|
||||
return baseStream.ExtractTextFile(topicName);
|
||||
}
|
||||
|
||||
private CHMStream.CHMStream GetBaseStreamFromCHMFileName(MessageContext context,
|
||||
string CHMFileName)
|
||||
{
|
||||
foreach (CHMFile file in chm.FileList)
|
||||
{
|
||||
WriteIfVerbose(context,
|
||||
String.Format("Compare: {0} <> {1}",
|
||||
file.ChmFilePath,
|
||||
CHMFileName));
|
||||
if (file.ChmFilePath.ToLower().Equals(CHMFileName.ToLower()))
|
||||
{
|
||||
return file.BaseStream;
|
||||
}
|
||||
}
|
||||
WriteIfVerbose(context,
|
||||
String.Format("Could not find loaded CHM file in list: {0}",
|
||||
CHMFileName));
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Data;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
using HtmlHelp;
|
||||
using HtmlHelp.ChmDecoding;
|
||||
|
||||
using TechBot.Library;
|
||||
|
||||
namespace TechBot.Commands.MSDN
|
||||
{
|
||||
[Command("api", Help = "!api <apiname>")]
|
||||
public class ApiCommand : Command
|
||||
{
|
||||
private bool IsVerbose = false;
|
||||
|
||||
private HtmlHelpSystem chm;
|
||||
|
||||
public ApiCommand()
|
||||
{
|
||||
LoadCHM();
|
||||
}
|
||||
|
||||
[CommandParameter("api", "The API name")]
|
||||
public string API
|
||||
{
|
||||
get { return Parameters; }
|
||||
set { Parameters = value; }
|
||||
}
|
||||
|
||||
private void WriteIfVerbose(string message)
|
||||
{
|
||||
if (IsVerbose)
|
||||
Say(message);
|
||||
}
|
||||
|
||||
private void LoadCHM()
|
||||
{
|
||||
string CHMFilename = Path.Combine(Settings.Default.ChmPath, Settings.Default.MainChm);
|
||||
chm = new HtmlHelpSystem();
|
||||
chm.OpenFile(CHMFilename, null);
|
||||
|
||||
Console.WriteLine(String.Format("Loaded main CHM: {0}",
|
||||
Path.GetFileName(CHMFilename)));
|
||||
foreach (string filename in Directory.GetFiles(Settings.Default.ChmPath))
|
||||
{
|
||||
if (!Path.GetExtension(filename).ToLower().Equals(".chm"))
|
||||
continue;
|
||||
if (Path.GetFileName(filename).ToLower().Equals(Settings.Default.MainChm))
|
||||
continue;
|
||||
|
||||
Console.WriteLine(String.Format("Loading CHM: {0}",
|
||||
Path.GetFileName(filename)));
|
||||
try
|
||||
{
|
||||
chm.MergeFile(filename);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine(String.Format("Could not load CHM: {0}. Exception {1}",
|
||||
Path.GetFileName(filename),
|
||||
ex));
|
||||
}
|
||||
}
|
||||
Console.WriteLine(String.Format("Loaded {0} CHMs",
|
||||
chm.FileList.Length));
|
||||
}
|
||||
|
||||
public override void ExecuteCommand()
|
||||
{
|
||||
if (Name.Trim().Equals(String.Empty))
|
||||
{
|
||||
Say("Please give me a keyword.");
|
||||
}
|
||||
else
|
||||
{
|
||||
Search(Name);
|
||||
}
|
||||
}
|
||||
|
||||
private bool SearchIndex(
|
||||
string keyword)
|
||||
{
|
||||
if (chm.HasIndex)
|
||||
{
|
||||
IndexItem item = chm.Index.SearchIndex(keyword,
|
||||
IndexType.KeywordLinks);
|
||||
if (item != null && item.Topics.Count > 0)
|
||||
{
|
||||
WriteIfVerbose(String.Format("Keyword {0} found in index",
|
||||
item.KeyWord));
|
||||
IndexTopic indexTopic = item.Topics[0] as IndexTopic;
|
||||
return DisplayResult( keyword,
|
||||
indexTopic);
|
||||
}
|
||||
else
|
||||
{
|
||||
WriteIfVerbose(String.Format("Keyword {0} not found in index",
|
||||
keyword));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
private void SearchFullText(string keyword)
|
||||
{
|
||||
string sort = "Rating ASC";
|
||||
WriteIfVerbose(String.Format("Searching fulltext database for {0}",
|
||||
keyword));
|
||||
|
||||
bool partialMatches = false;
|
||||
bool titlesOnly = true;
|
||||
int maxResults = 100;
|
||||
DataTable results = chm.PerformSearch(keyword,
|
||||
maxResults,
|
||||
partialMatches,
|
||||
titlesOnly);
|
||||
WriteIfVerbose(String.Format("results.Rows.Count = {0}",
|
||||
results != null ?
|
||||
results.Rows.Count.ToString() : "(none)"));
|
||||
if (results != null && results.Rows.Count > 0)
|
||||
{
|
||||
results.DefaultView.Sort = sort;
|
||||
if (!DisplayResult(keyword,
|
||||
results))
|
||||
{
|
||||
Say("No result");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Say("No result");
|
||||
}
|
||||
}
|
||||
|
||||
private void Search(string keyword)
|
||||
{
|
||||
if (!SearchIndex(keyword))
|
||||
SearchFullText(keyword);
|
||||
}
|
||||
|
||||
private bool DisplayResult(string keyword,
|
||||
IndexTopic indexTopic)
|
||||
{
|
||||
keyword = keyword.Trim().ToLower();
|
||||
string url = indexTopic.URL;
|
||||
WriteIfVerbose(String.Format("URL from index search {0}",
|
||||
url));
|
||||
string prototype = ExtractPrototype(url);
|
||||
if (prototype == null || prototype.Trim().Equals(String.Empty))
|
||||
return false;
|
||||
string formattedPrototype = FormatPrototype(prototype);
|
||||
Say(formattedPrototype);
|
||||
return true;
|
||||
}
|
||||
|
||||
private bool DisplayResult(string keyword,
|
||||
DataTable results)
|
||||
{
|
||||
keyword = keyword.Trim().ToLower();
|
||||
for (int i = 0; i < results.DefaultView.Count; i++)
|
||||
{
|
||||
DataRowView row = results.DefaultView[i];
|
||||
string title = row["Title"].ToString();
|
||||
WriteIfVerbose(String.Format("Examining {0}", title));
|
||||
if (title.Trim().ToLower().Equals(keyword))
|
||||
{
|
||||
string location = row["Location"].ToString();
|
||||
string rating = row["Rating"].ToString();
|
||||
string url = row["Url"].ToString();
|
||||
string prototype = ExtractPrototype(url);
|
||||
if (prototype == null || prototype.Trim().Equals(String.Empty))
|
||||
continue;
|
||||
string formattedPrototype = FormatPrototype(prototype);
|
||||
Say(formattedPrototype);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private void DisplayNoResult(MessageContext context,
|
||||
string keyword)
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
String.Format("I don't know about keyword {0}",
|
||||
keyword));
|
||||
}
|
||||
|
||||
private string ReplaceComments(string s)
|
||||
{
|
||||
return Regex.Replace(s, "//(.+)\r\n", "");
|
||||
}
|
||||
|
||||
private string ReplaceLineEndings(string s)
|
||||
{
|
||||
return Regex.Replace(s, "(\r\n)+", " ");
|
||||
}
|
||||
|
||||
private string ReplaceSpaces(string s)
|
||||
{
|
||||
return Regex.Replace(s, @" +", " ");
|
||||
}
|
||||
|
||||
private string ReplaceSpacesBeforeLeftParenthesis(string s)
|
||||
{
|
||||
return Regex.Replace(s, @"\( ", @"(");
|
||||
}
|
||||
|
||||
private string ReplaceSpacesBeforeRightParenthesis(string s)
|
||||
{
|
||||
return Regex.Replace(s, @" \)", @")");
|
||||
}
|
||||
|
||||
private string ReplaceSemicolon(string s)
|
||||
{
|
||||
return Regex.Replace(s, @";", @"");
|
||||
}
|
||||
|
||||
private string FormatPrototype(string prototype)
|
||||
{
|
||||
string s = ReplaceComments(prototype);
|
||||
s = ReplaceLineEndings(s);
|
||||
s = ReplaceSpaces(s);
|
||||
s = ReplaceSpacesBeforeLeftParenthesis(s);
|
||||
s = ReplaceSpacesBeforeRightParenthesis(s);
|
||||
s = ReplaceSemicolon(s);
|
||||
return s;
|
||||
}
|
||||
|
||||
private string ExtractPrototype(string url)
|
||||
{
|
||||
string page = GetPage(url);
|
||||
Match match = Regex.Match(page,
|
||||
"<PRE class=\"?syntax\"?>(.+)</PRE>",
|
||||
RegexOptions.Multiline |
|
||||
RegexOptions.Singleline);
|
||||
if (match.Groups.Count > 1)
|
||||
{
|
||||
string prototype = match.Groups[1].ToString();
|
||||
return StripHtml(StripAfterSlashPre(prototype));
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
private string StripAfterSlashPre(string html)
|
||||
{
|
||||
int index = html.IndexOf("</PRE>");
|
||||
if (index != -1)
|
||||
{
|
||||
return html.Substring(0, index);
|
||||
}
|
||||
else
|
||||
return html;
|
||||
}
|
||||
|
||||
private string StripHtml(string html)
|
||||
{
|
||||
return Regex.Replace(html, @"<(.|\n)*?>", String.Empty);
|
||||
}
|
||||
|
||||
private string GetPage(string url)
|
||||
{
|
||||
string CHMFileName = "";
|
||||
string topicName = "";
|
||||
string anchor = "";
|
||||
CHMStream.CHMStream baseStream;
|
||||
if (!chm.BaseStream.GetCHMParts(url, ref CHMFileName, ref topicName, ref anchor))
|
||||
{
|
||||
baseStream = chm.BaseStream;
|
||||
CHMFileName = baseStream.CHMFileName;
|
||||
topicName = url;
|
||||
anchor = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
baseStream = GetBaseStreamFromCHMFileName(CHMFileName);
|
||||
}
|
||||
|
||||
if ((topicName == "") || (CHMFileName == "") || (baseStream == null))
|
||||
{
|
||||
return "";
|
||||
}
|
||||
|
||||
return baseStream.ExtractTextFile(topicName);
|
||||
}
|
||||
|
||||
private CHMStream.CHMStream GetBaseStreamFromCHMFileName(string CHMFileName)
|
||||
{
|
||||
foreach (CHMFile file in chm.FileList)
|
||||
{
|
||||
WriteIfVerbose(String.Format("Compare: {0} <> {1}",
|
||||
file.ChmFilePath,
|
||||
CHMFileName));
|
||||
if (file.ChmFilePath.ToLower().Equals(CHMFileName.ToLower()))
|
||||
{
|
||||
return file.BaseStream;
|
||||
}
|
||||
}
|
||||
WriteIfVerbose(String.Format("Could not find loaded CHM file in list: {0}",
|
||||
CHMFileName));
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
35
irc/TechBot/TechBot.Commands.MSDN/Properties/AssemblyInfo.cs
Normal file
35
irc/TechBot/TechBot.Commands.MSDN/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("TechBot.Commands.MSDN")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Sand")]
|
||||
[assembly: AssemblyProduct("TechBot.Commands.MSDN")]
|
||||
[assembly: AssemblyCopyright("Copyright © Sand 2008")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("8a6332ce-82e3-4fbd-a799-8f4b8d025955")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
50
irc/TechBot/TechBot.Commands.MSDN/Settings.Designer.cs
generated
Normal file
50
irc/TechBot/TechBot.Commands.MSDN/Settings.Designer.cs
generated
Normal file
@@ -0,0 +1,50 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.1433
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace TechBot.Commands.MSDN {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("C:\\IRC\\TechBot\\CHM")]
|
||||
public string ChmPath {
|
||||
get {
|
||||
return ((string)(this["ChmPath"]));
|
||||
}
|
||||
set {
|
||||
this["ChmPath"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("kmarch.chm")]
|
||||
public string MainChm {
|
||||
get {
|
||||
return ((string)(this["MainChm"]));
|
||||
}
|
||||
set {
|
||||
this["MainChm"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
12
irc/TechBot/TechBot.Commands.MSDN/Settings.settings
Normal file
12
irc/TechBot/TechBot.Commands.MSDN/Settings.settings
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="TechBot.Commands.MSDN" GeneratedClassName="Settings">
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="ChmPath" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">C:\IRC\TechBot\CHM</Value>
|
||||
</Setting>
|
||||
<Setting Name="MainChm" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">kmarch.chm</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
@@ -0,0 +1,69 @@
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.50727</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{ADBF1ED6-A586-4707-BD59-4CD53448D0FE}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>TechBot.Commands.MSDN</RootNamespace>
|
||||
<AssemblyName>TechBot.Commands.MSDN</AssemblyName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="ApiCommand.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\CHMLibrary\CHMLibrary.csproj">
|
||||
<Project>{72E5CCA1-6318-4D62-964D-CB23A5C743B5}</Project>
|
||||
<Name>CHMLibrary</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\TechBot.Library\TechBot.Library.csproj">
|
||||
<Project>{1114F34D-F388-4F38-AE27-C0EE1B10B777}</Project>
|
||||
<Name>TechBot.Library</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
<None Include="Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
@@ -0,0 +1,5 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ProjectView>ProjectFiles</ProjectView>
|
||||
</PropertyGroup>
|
||||
</Project>
|
18
irc/TechBot/TechBot.Commands.MSDN/app.config
Normal file
18
irc/TechBot/TechBot.Commands.MSDN/app.config
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
|
||||
<section name="TechBot.Commands.MSDN.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<userSettings>
|
||||
<TechBot.Commands.MSDN.Settings>
|
||||
<setting name="ChmPath" serializeAs="String">
|
||||
<value>C:\IRC\TechBot\CHM</value>
|
||||
</setting>
|
||||
<setting name="MainChm" serializeAs="String">
|
||||
<value>kmarch.chm</value>
|
||||
</setting>
|
||||
</TechBot.Commands.MSDN.Settings>
|
||||
</userSettings>
|
||||
</configuration>
|
@@ -1,15 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<appSettings>
|
||||
<add key="IRCServerHostName" value="irc.eu.freenode.net" />
|
||||
<add key="IRCServerHostPort" value="6667" />
|
||||
<add key="IRCChannelNames" value="channel1;channel2" />
|
||||
<add key="IRCBotName" value="MyBot" />
|
||||
<add key="IRCBotPassword" value="MyPassword" />
|
||||
<add key="ChmPath" value="C:\IRC\TechBot\CHM" />
|
||||
<add key="MainChm" value="kmarch.chm" />
|
||||
<add key="BugUrl" value="http://www.reactos.org/bugzilla/show_bug.cgi?id={0}" />
|
||||
<add key="WineBugUrl" value="http://bugs.winehq.org/show_bug.cgi?id={0}" />
|
||||
<add key="SambaBugUrl" value="https://bugzilla.samba.org/show_bug.cgi?id={0}" />
|
||||
</appSettings>
|
||||
</configuration>
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
|
||||
<section name="TechBot.Console.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<userSettings>
|
||||
<TechBot.Console.Settings>
|
||||
<setting name="IRCServerHostName" serializeAs="String">
|
||||
<value>irc.eu.freenode.net</value>
|
||||
</setting>
|
||||
<setting name="IRCChannelNames" serializeAs="String">
|
||||
<value>rbuildbottest2</value>
|
||||
</setting>
|
||||
<setting name="IRCBotName" serializeAs="String">
|
||||
<value>RBuildBot2</value>
|
||||
</setting>
|
||||
<setting name="IRCBotPassword" serializeAs="String">
|
||||
<value>qwerty</value>
|
||||
</setting>
|
||||
<setting name="IRCServerHostPort" serializeAs="String">
|
||||
<value>6667</value>
|
||||
</setting>
|
||||
</TechBot.Console.Settings>
|
||||
</userSettings>
|
||||
</configuration>
|
37
irc/TechBot/TechBot.Console/ConsoleTechBotService.cs
Normal file
37
irc/TechBot/TechBot.Console/ConsoleTechBotService.cs
Normal file
@@ -0,0 +1,37 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
using TechBot.Library;
|
||||
|
||||
namespace TechBot.Console
|
||||
{
|
||||
public class ConsoleServiceOutput : IServiceOutput
|
||||
{
|
||||
public void WriteLine(MessageContext context,
|
||||
string message)
|
||||
{
|
||||
System.Console.WriteLine(message);
|
||||
}
|
||||
}
|
||||
|
||||
public class ConsoleTechBotService : TechBotService
|
||||
{
|
||||
public ConsoleTechBotService()
|
||||
: base(new ConsoleServiceOutput())
|
||||
{
|
||||
System.Console.WriteLine("TechBot running console service...");
|
||||
}
|
||||
|
||||
public override void Run()
|
||||
{
|
||||
//Call the base class
|
||||
base.Run();
|
||||
|
||||
while (true)
|
||||
{
|
||||
InjectMessage(System.Console.ReadLine());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,260 +1,29 @@
|
||||
using System;
|
||||
using System.Configuration;
|
||||
using TechBot.Library;
|
||||
|
||||
namespace TechBot.Console
|
||||
{
|
||||
public class ConsoleServiceOutput : IServiceOutput
|
||||
{
|
||||
public void WriteLine(MessageContext context,
|
||||
string message)
|
||||
{
|
||||
System.Console.WriteLine(message);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class MainClass
|
||||
{
|
||||
private static void VerifyRequiredOption(string optionName,
|
||||
string optionValue)
|
||||
{
|
||||
if (optionValue == null)
|
||||
{
|
||||
throw new Exception(String.Format("Option '{0}' not set.",
|
||||
optionName));
|
||||
}
|
||||
}
|
||||
|
||||
private static string IRCServerHostName
|
||||
{
|
||||
get
|
||||
{
|
||||
string optionName = "IRCServerHostName";
|
||||
string s = ConfigurationSettings.AppSettings[optionName];
|
||||
VerifyRequiredOption(optionName,
|
||||
s);
|
||||
return s;
|
||||
}
|
||||
}
|
||||
|
||||
private static int IRCServerHostPort
|
||||
{
|
||||
get
|
||||
{
|
||||
string optionName = "IRCServerHostPort";
|
||||
string s = ConfigurationSettings.AppSettings[optionName];
|
||||
VerifyRequiredOption(optionName,
|
||||
s);
|
||||
return Int32.Parse(s);
|
||||
}
|
||||
}
|
||||
|
||||
private static string IRCChannelNames
|
||||
{
|
||||
get
|
||||
{
|
||||
string optionName = "IRCChannelNames";
|
||||
string s = ConfigurationSettings.AppSettings[optionName];
|
||||
VerifyRequiredOption(optionName,
|
||||
s);
|
||||
return s;
|
||||
}
|
||||
}
|
||||
|
||||
private static string IRCBotName
|
||||
{
|
||||
get
|
||||
{
|
||||
string optionName = "IRCBotName";
|
||||
string s = ConfigurationSettings.AppSettings[optionName];
|
||||
VerifyRequiredOption(optionName,
|
||||
s);
|
||||
return s;
|
||||
}
|
||||
}
|
||||
|
||||
private static string IRCBotPassword
|
||||
{
|
||||
get
|
||||
{
|
||||
string optionName = "IRCBotPassword";
|
||||
string s = ConfigurationSettings.AppSettings[optionName];
|
||||
VerifyRequiredOption(optionName,
|
||||
s);
|
||||
return s;
|
||||
}
|
||||
}
|
||||
|
||||
private static string ChmPath
|
||||
{
|
||||
get
|
||||
{
|
||||
string optionName = "ChmPath";
|
||||
string s = ConfigurationSettings.AppSettings[optionName];
|
||||
VerifyRequiredOption(optionName,
|
||||
s);
|
||||
return s;
|
||||
}
|
||||
}
|
||||
|
||||
private static string MainChm
|
||||
{
|
||||
get
|
||||
{
|
||||
string optionName = "MainChm";
|
||||
string s = ConfigurationSettings.AppSettings[optionName];
|
||||
VerifyRequiredOption(optionName,
|
||||
s);
|
||||
return s;
|
||||
}
|
||||
}
|
||||
|
||||
private static string NtstatusXml
|
||||
{
|
||||
get
|
||||
{
|
||||
string optionName = "NtstatusXml";
|
||||
string s = ConfigurationSettings.AppSettings[optionName];
|
||||
VerifyRequiredOption(optionName,
|
||||
s);
|
||||
return s;
|
||||
}
|
||||
}
|
||||
|
||||
private static string WinerrorXml
|
||||
{
|
||||
get
|
||||
{
|
||||
string optionName = "WinerrorXml";
|
||||
string s = ConfigurationSettings.AppSettings[optionName];
|
||||
VerifyRequiredOption(optionName,
|
||||
s);
|
||||
return s;
|
||||
}
|
||||
}
|
||||
|
||||
private static string HresultXml
|
||||
{
|
||||
get
|
||||
{
|
||||
string optionName = "HresultXml";
|
||||
string s = ConfigurationSettings.AppSettings[optionName];
|
||||
VerifyRequiredOption(optionName,
|
||||
s);
|
||||
return s;
|
||||
}
|
||||
}
|
||||
|
||||
private static string WmXml
|
||||
{
|
||||
get
|
||||
{
|
||||
string optionName = "WmXml";
|
||||
string s = ConfigurationSettings.AppSettings[optionName];
|
||||
VerifyRequiredOption(optionName,
|
||||
s);
|
||||
return s;
|
||||
}
|
||||
}
|
||||
|
||||
private static string SvnCommand
|
||||
{
|
||||
get
|
||||
{
|
||||
string optionName = "SvnCommand";
|
||||
string s = ConfigurationSettings.AppSettings[optionName];
|
||||
VerifyRequiredOption(optionName,
|
||||
s);
|
||||
return s;
|
||||
}
|
||||
}
|
||||
|
||||
private static string BugUrl
|
||||
{
|
||||
get
|
||||
{
|
||||
string optionName = "BugUrl";
|
||||
string s = ConfigurationSettings.AppSettings[optionName];
|
||||
VerifyRequiredOption(optionName,
|
||||
s);
|
||||
return s;
|
||||
}
|
||||
}
|
||||
|
||||
private static string WineBugUrl
|
||||
{
|
||||
get
|
||||
{
|
||||
string optionName = "WineBugUrl";
|
||||
string s = ConfigurationSettings.AppSettings[optionName];
|
||||
VerifyRequiredOption(optionName,
|
||||
s);
|
||||
return s;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static string SambaBugUrl
|
||||
{
|
||||
get
|
||||
{
|
||||
string optionName = "SambaBugUrl";
|
||||
string s = ConfigurationSettings.AppSettings[optionName];
|
||||
VerifyRequiredOption(optionName,
|
||||
s);
|
||||
return s;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static void RunIrcService()
|
||||
{
|
||||
IrcService ircService = new IrcService(IRCServerHostName,
|
||||
IRCServerHostPort,
|
||||
IRCChannelNames,
|
||||
IRCBotName,
|
||||
IRCBotPassword,
|
||||
ChmPath,
|
||||
MainChm,
|
||||
//NtstatusXml,
|
||||
//WinerrorXml,
|
||||
//HresultXml,
|
||||
//WmXml,
|
||||
//SvnCommand,
|
||||
BugUrl,
|
||||
WineBugUrl,
|
||||
SambaBugUrl);
|
||||
ircService.Run();
|
||||
}
|
||||
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
if (args.Length > 0 && args[0].ToLower().Equals("irc"))
|
||||
{
|
||||
RunIrcService();
|
||||
return;
|
||||
}
|
||||
|
||||
System.Console.WriteLine("TechBot running console service...");
|
||||
TechBotService service = new TechBotService(new ConsoleServiceOutput(),
|
||||
ChmPath,
|
||||
MainChm);
|
||||
//NtstatusXml,
|
||||
//WinerrorXml,
|
||||
//HresultXml,
|
||||
//WmXml,
|
||||
//SvnCommand,
|
||||
//BugUrl,
|
||||
//WineBugUrl,
|
||||
//SambaBugUrl);
|
||||
service.Run();
|
||||
while (true)
|
||||
{
|
||||
string s = System.Console.ReadLine();
|
||||
service.InjectMessage(null,
|
||||
s);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Configuration;
|
||||
using TechBot.Library;
|
||||
|
||||
namespace TechBot.Console
|
||||
{
|
||||
class MainClass
|
||||
{
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
TechBotService m_TechBot = null;
|
||||
|
||||
if (args.Length > 0 && args[0].ToLower().Equals("irc"))
|
||||
{
|
||||
m_TechBot = new IrcTechBotService(Settings.Default.IRCServerHostName,
|
||||
Settings.Default.IRCServerHostPort,
|
||||
Settings.Default.IRCChannelNames,
|
||||
Settings.Default.IRCBotName,
|
||||
Settings.Default.IRCBotPassword);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_TechBot = new ConsoleTechBotService();
|
||||
}
|
||||
|
||||
m_TechBot.Run();
|
||||
}
|
||||
}
|
||||
}
|
86
irc/TechBot/TechBot.Console/Settings.Designer.cs
generated
Normal file
86
irc/TechBot/TechBot.Console/Settings.Designer.cs
generated
Normal file
@@ -0,0 +1,86 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.1433
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace TechBot.Console {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("irc.eu.freenode.net")]
|
||||
public string IRCServerHostName {
|
||||
get {
|
||||
return ((string)(this["IRCServerHostName"]));
|
||||
}
|
||||
set {
|
||||
this["IRCServerHostName"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("rbuildbottest2")]
|
||||
public string IRCChannelNames {
|
||||
get {
|
||||
return ((string)(this["IRCChannelNames"]));
|
||||
}
|
||||
set {
|
||||
this["IRCChannelNames"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("RBuildBot2")]
|
||||
public string IRCBotName {
|
||||
get {
|
||||
return ((string)(this["IRCBotName"]));
|
||||
}
|
||||
set {
|
||||
this["IRCBotName"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("qwerty")]
|
||||
public string IRCBotPassword {
|
||||
get {
|
||||
return ((string)(this["IRCBotPassword"]));
|
||||
}
|
||||
set {
|
||||
this["IRCBotPassword"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("6667")]
|
||||
public int IRCServerHostPort {
|
||||
get {
|
||||
return ((int)(this["IRCServerHostPort"]));
|
||||
}
|
||||
set {
|
||||
this["IRCServerHostPort"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
21
irc/TechBot/TechBot.Console/Settings.settings
Normal file
21
irc/TechBot/TechBot.Console/Settings.settings
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="TechBot.Console" GeneratedClassName="Settings">
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="IRCServerHostName" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">irc.eu.freenode.net</Value>
|
||||
</Setting>
|
||||
<Setting Name="IRCChannelNames" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">rbuildbottest2</Value>
|
||||
</Setting>
|
||||
<Setting Name="IRCBotName" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">RBuildBot2</Value>
|
||||
</Setting>
|
||||
<Setting Name="IRCBotPassword" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">qwerty</Value>
|
||||
</Setting>
|
||||
<Setting Name="IRCServerHostPort" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">6667</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
@@ -38,12 +38,26 @@
|
||||
-->
|
||||
<ItemGroup>
|
||||
<Compile Include="AssemblyInfo.cs" />
|
||||
<Compile Include="ConsoleTechBotService.cs" />
|
||||
<Compile Include="Main.cs" />
|
||||
<Compile Include="Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\TechBot.Commands.Common\TechBot.Commands.Common.csproj">
|
||||
<Project>{041B5F06-BF97-4981-B024-3A7B6DD9F6AE}</Project>
|
||||
<Name>TechBot.Commands.Common</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\TechBot.Commands.RBuild\TechBot.Commands.RBuild.csproj">
|
||||
<Project>{D676FEDE-62DD-4B4D-94C6-308598E827F9}</Project>
|
||||
<Name>TechBot.Commands.RBuild</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\TechBot.IRCLibrary\TechBot.IRCLibrary.csproj">
|
||||
<Project>{D2A57931-DF04-4BC3-BD11-75DF4F3B0A88}</Project>
|
||||
<Name>TechBot.IRCLibrary</Name>
|
||||
@@ -54,7 +68,11 @@
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
<None Include="app.config" />
|
||||
<None Include="Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
|
@@ -16,6 +16,10 @@ namespace TechBot.IRCLibrary
|
||||
/// </summary>
|
||||
public delegate void ChannelUserDatabaseChangedHandler(IrcChannel channel);
|
||||
|
||||
public delegate void OnConnectHandler ();
|
||||
public delegate void OnDisconnectHandler();
|
||||
public delegate void OnConnectionLostHandler();
|
||||
|
||||
/// <summary>
|
||||
/// An IRC client.
|
||||
/// </summary>
|
||||
@@ -202,6 +206,10 @@ namespace TechBot.IRCLibrary
|
||||
|
||||
public event ChannelUserDatabaseChangedHandler ChannelUserDatabaseChanged;
|
||||
|
||||
public event OnConnectHandler OnConnect;
|
||||
public event OnConnectionLostHandler OnConnectionLost;
|
||||
public event OnDisconnectHandler OnDisconnect;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Public properties
|
||||
@@ -291,20 +299,39 @@ namespace TechBot.IRCLibrary
|
||||
/// <param name="ar">IAsyncResult object.</param>
|
||||
private void ReadComplete(IAsyncResult ar)
|
||||
{
|
||||
StateObject stateObject = (StateObject) ar.AsyncState;
|
||||
if (stateObject.Stream.CanRead)
|
||||
{
|
||||
int bytesReceived = stateObject.Stream.EndRead(ar);
|
||||
if (bytesReceived > 0)
|
||||
{
|
||||
messageStream.Write(Encoding.GetString(stateObject.Buffer, 0, bytesReceived));
|
||||
while (messageStream.DataAvailable)
|
||||
{
|
||||
OnMessageReceived(new IrcMessage(messageStream.Read()));
|
||||
}
|
||||
}
|
||||
}
|
||||
Receive();
|
||||
try
|
||||
{
|
||||
StateObject stateObject = (StateObject)ar.AsyncState;
|
||||
if (stateObject.Stream.CanRead)
|
||||
{
|
||||
int bytesReceived = stateObject.Stream.EndRead(ar);
|
||||
if (bytesReceived > 0)
|
||||
{
|
||||
messageStream.Write(Encoding.GetString(stateObject.Buffer, 0, bytesReceived));
|
||||
while (messageStream.DataAvailable)
|
||||
{
|
||||
OnMessageReceived(new IrcMessage(messageStream.Read()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Receive();
|
||||
}
|
||||
catch (SocketException)
|
||||
{
|
||||
if (OnConnectionLost != null)
|
||||
OnConnectionLost();
|
||||
}
|
||||
catch (IOException)
|
||||
{
|
||||
if (OnConnectionLost != null)
|
||||
OnConnectionLost();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
if (OnConnectionLost != null)
|
||||
OnConnectionLost();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -498,6 +525,9 @@ namespace TechBot.IRCLibrary
|
||||
connected = false;
|
||||
tcpClient.Close();
|
||||
tcpClient = null;
|
||||
|
||||
if (OnDisconnect != null)
|
||||
OnDisconnect();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -507,19 +537,37 @@ namespace TechBot.IRCLibrary
|
||||
/// <param name="message">The message to be sent.</param>
|
||||
public void SendMessage(IrcMessage message)
|
||||
{
|
||||
if (!connected)
|
||||
{
|
||||
throw new NotConnectedException();
|
||||
}
|
||||
|
||||
/* Serialize sending messages */
|
||||
lock (typeof(IrcClient))
|
||||
{
|
||||
NetworkStream networkStream = tcpClient.GetStream();
|
||||
byte[] bytes = Encoding.GetBytes(message.Line);
|
||||
networkStream.Write(bytes, 0, bytes.Length);
|
||||
networkStream.Flush();
|
||||
}
|
||||
try
|
||||
{
|
||||
if (!connected)
|
||||
{
|
||||
throw new NotConnectedException();
|
||||
}
|
||||
|
||||
/* Serialize sending messages */
|
||||
lock (typeof(IrcClient))
|
||||
{
|
||||
NetworkStream networkStream = tcpClient.GetStream();
|
||||
byte[] bytes = Encoding.GetBytes(message.Line);
|
||||
networkStream.Write(bytes, 0, bytes.Length);
|
||||
networkStream.Flush();
|
||||
}
|
||||
}
|
||||
catch (SocketException)
|
||||
{
|
||||
if (OnConnectionLost != null)
|
||||
OnConnectionLost();
|
||||
}
|
||||
catch (IOException)
|
||||
{
|
||||
if (OnConnectionLost != null)
|
||||
OnConnectionLost();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
if (OnConnectionLost != null)
|
||||
OnConnectionLost();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@@ -50,6 +50,9 @@
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
|
15
irc/TechBot/TechBot.IRCLibrary/app.config
Normal file
15
irc/TechBot/TechBot.IRCLibrary/app.config
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
|
||||
<section name="TechBot.IRCLibrary.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<userSettings>
|
||||
<TechBot.IRCLibrary.Settings>
|
||||
<setting name="CommandPrefix" serializeAs="String">
|
||||
<value>@</value>
|
||||
</setting>
|
||||
</TechBot.IRCLibrary.Settings>
|
||||
</userSettings>
|
||||
</configuration>
|
35
irc/TechBot/TechBot.Library/Attributes/CommandAttribute.cs
Normal file
35
irc/TechBot/TechBot.Library/Attributes/CommandAttribute.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
public class CommandAttribute : Attribute
|
||||
{
|
||||
private string m_Name = null;
|
||||
private string m_Help = "No help for this command is available";
|
||||
private string m_Desc = "No description for this command is available";
|
||||
|
||||
public CommandAttribute(string name)
|
||||
{
|
||||
m_Name = name;
|
||||
}
|
||||
|
||||
public string Name
|
||||
{
|
||||
get { return m_Name; }
|
||||
}
|
||||
|
||||
public string Help
|
||||
{
|
||||
get { return m_Help; }
|
||||
set { m_Help = value; }
|
||||
}
|
||||
|
||||
public string Description
|
||||
{
|
||||
get { return m_Desc; }
|
||||
set { m_Desc = value; }
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
/// <summary>
|
||||
/// This class implements an alias attribute to work in conjunction
|
||||
/// with the <see cref="CommandLineSwitchAttribute">CommandLineSwitchAttribute</see>
|
||||
/// attribute. If the CommandLineSwitchAttribute exists, then this attribute
|
||||
/// defines an alias for it.
|
||||
/// </summary>
|
||||
[AttributeUsage( AttributeTargets.Property )]
|
||||
public class CommandParameterAliasAttribute : Attribute
|
||||
{
|
||||
#region Private Variables
|
||||
protected string m_Alias = "";
|
||||
#endregion
|
||||
|
||||
#region Public Properties
|
||||
public string Alias
|
||||
{
|
||||
get { return m_Alias; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
public CommandParameterAliasAttribute(string alias)
|
||||
{
|
||||
m_Alias = alias;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,50 @@
|
||||
using System;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
/// <summary>Implements a basic command-line switch by taking the
|
||||
/// switching name and the associated description.</summary>
|
||||
/// <remark>Only currently is implemented for properties, so all
|
||||
/// auto-switching variables should have a get/set method supplied.</remark>
|
||||
[AttributeUsage( AttributeTargets.Property )]
|
||||
public class CommandParameterAttribute : Attribute
|
||||
{
|
||||
#region Private Variables
|
||||
private string m_name = "";
|
||||
private string m_description = "";
|
||||
private bool m_Required = true;
|
||||
private bool m_Default = false;
|
||||
#endregion
|
||||
|
||||
#region Public Properties
|
||||
/// <summary>Accessor for retrieving the switch-name for an associated
|
||||
/// property.</summary>
|
||||
public string Name { get { return m_name; } }
|
||||
|
||||
/// <summary>Accessor for retrieving the description for a switch of
|
||||
/// an associated property.</summary>
|
||||
public string Description { get { return m_description; } }
|
||||
|
||||
public bool Required { get { return m_Required; } }
|
||||
|
||||
public bool DefaultParameter
|
||||
{
|
||||
get { return m_Default; }
|
||||
set { m_Default = value; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
/// Attribute constructor.
|
||||
/// </summary>
|
||||
public CommandParameterAttribute(string name, string description)
|
||||
{
|
||||
m_name = name;
|
||||
m_description = description;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
@@ -1,50 +0,0 @@
|
||||
using System;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
public abstract class BugCommand : Command//, ICommand
|
||||
{
|
||||
public BugCommand(TechBotService techBot) : base (techBot)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Handle(MessageContext context,
|
||||
string commandName,
|
||||
string parameters)
|
||||
{
|
||||
string bugText = parameters;
|
||||
if (bugText.Equals(String.Empty))
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
"Please provide a valid bug number.");
|
||||
return;
|
||||
}
|
||||
|
||||
NumberParser np = new NumberParser();
|
||||
long bug = np.Parse(bugText);
|
||||
if (np.Error)
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
String.Format("{0} is not a valid bug number.",
|
||||
bugText));
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
string bugUrl = this.RosBugUrl;
|
||||
|
||||
if (context is ChannelMessageContext)
|
||||
{
|
||||
ChannelMessageContext channelContext = context as ChannelMessageContext;
|
||||
if (channelContext.Channel.Name == "winehackers")
|
||||
bugUrl = this.WineBugUrl;
|
||||
else if (channelContext.Channel.Name == "samba-technical")
|
||||
bugUrl = this.SambaBugUrl;
|
||||
}*/
|
||||
|
||||
TechBot.ServiceOutput.WriteLine(context, String.Format(BugUrl, bug));
|
||||
}
|
||||
|
||||
protected abstract string BugUrl { get; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
public class CommandBuilderCollection : List<CommandBuilder>
|
||||
{
|
||||
public CommandBuilder Find(string name)
|
||||
{
|
||||
foreach (CommandBuilder command in this)
|
||||
{
|
||||
if (command.Name == name)
|
||||
return command;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,53 +0,0 @@
|
||||
using System;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
/*
|
||||
public interface ICommand
|
||||
{
|
||||
bool CanHandle(string commandName);
|
||||
void Handle(MessageContext context,
|
||||
string commandName,
|
||||
string parameters);
|
||||
//string Help();
|
||||
}*/
|
||||
|
||||
public abstract class Command
|
||||
{
|
||||
protected TechBotService m_TechBotService = null;
|
||||
|
||||
public Command(TechBotService techbot)
|
||||
{
|
||||
m_TechBotService = techbot;
|
||||
}
|
||||
|
||||
public TechBotService TechBot
|
||||
{
|
||||
get { return m_TechBotService; }
|
||||
}
|
||||
|
||||
public abstract string[] AvailableCommands { get; }
|
||||
|
||||
public abstract void Handle(MessageContext context,
|
||||
string commandName,
|
||||
string parameters);
|
||||
|
||||
/*
|
||||
protected bool CanHandle(string commandName,
|
||||
string[] availableCommands)
|
||||
{
|
||||
foreach (string availableCommand in availableCommands)
|
||||
{
|
||||
if (String.Compare(availableCommand, commandName, true) == 0)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
|
||||
public virtual string Help()
|
||||
{
|
||||
return "No help is available for this command";
|
||||
}
|
||||
}
|
||||
}
|
90
irc/TechBot/TechBot.Library/Commands/Base/Command.cs
Normal file
90
irc/TechBot/TechBot.Library/Commands/Base/Command.cs
Normal file
@@ -0,0 +1,90 @@
|
||||
using System;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
public abstract class Command
|
||||
{
|
||||
protected TechBotService m_TechBotService = null;
|
||||
protected MessageContext m_Context = null;
|
||||
protected string m_Params = null;
|
||||
|
||||
public TechBotService TechBot
|
||||
{
|
||||
get { return m_TechBotService; }
|
||||
set { m_TechBotService = value; }
|
||||
}
|
||||
|
||||
public MessageContext Context
|
||||
{
|
||||
get { return m_Context; }
|
||||
set { m_Context = value; }
|
||||
}
|
||||
|
||||
public virtual bool AnswerInPublic
|
||||
{
|
||||
get { return true; }
|
||||
}
|
||||
|
||||
public string Name
|
||||
{
|
||||
get
|
||||
{
|
||||
CommandAttribute commandAttribute = (CommandAttribute)
|
||||
Attribute.GetCustomAttribute(GetType(), typeof(CommandAttribute));
|
||||
|
||||
return commandAttribute.Name;
|
||||
}
|
||||
}
|
||||
|
||||
public string Parameters
|
||||
{
|
||||
get { return m_Params; }
|
||||
set { m_Params = value; }
|
||||
}
|
||||
|
||||
protected virtual void Say()
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(Context, string.Empty);
|
||||
}
|
||||
|
||||
protected virtual void Say(string message)
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(Context, message);
|
||||
}
|
||||
|
||||
protected virtual void Say(string format , params object[] args)
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(Context, String.Format(format, args));
|
||||
}
|
||||
|
||||
public void Run()
|
||||
{
|
||||
if (Context is ChannelMessageContext)
|
||||
{
|
||||
if (AnswerInPublic)
|
||||
{
|
||||
ExecuteCommand();
|
||||
}
|
||||
else
|
||||
{
|
||||
Say("Sorry, I only respond '{0}' in private , PM me!", Name);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ExecuteCommand();
|
||||
}
|
||||
}
|
||||
|
||||
public abstract void ExecuteCommand();
|
||||
|
||||
public virtual void Initialize()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void DeInitialize()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
@@ -9,8 +9,7 @@ namespace TechBot.Library
|
||||
{
|
||||
protected XmlDocument m_XmlDocument;
|
||||
|
||||
public XmlCommand(TechBotService techBot)
|
||||
: base(techBot)
|
||||
public XmlCommand()
|
||||
{
|
||||
m_XmlDocument = new XmlDocument();
|
||||
m_XmlDocument.Load(XmlFile);
|
||||
|
@@ -0,0 +1,15 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
public abstract class XmlLookupCommand : XmlCommand
|
||||
{
|
||||
public virtual string Text
|
||||
{
|
||||
get { return Parameters; }
|
||||
set { Parameters = value; }
|
||||
}
|
||||
}
|
||||
}
|
78
irc/TechBot/TechBot.Library/Commands/HelpCommand.cs
Normal file
78
irc/TechBot/TechBot.Library/Commands/HelpCommand.cs
Normal file
@@ -0,0 +1,78 @@
|
||||
using System;
|
||||
using System.Reflection;
|
||||
using System.Collections;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
[Command("help", Help = "!help or !help -name:[CommandName]", Description = "Shows this help , type 'help -name:[CommandName]'")]
|
||||
public class HelpCommand : Command
|
||||
{
|
||||
public HelpCommand()
|
||||
{
|
||||
}
|
||||
|
||||
public override bool AnswerInPublic
|
||||
{
|
||||
get { return false; }
|
||||
}
|
||||
|
||||
[CommandParameter("Name", "The command name to show help")]
|
||||
public string CommandName
|
||||
{
|
||||
get { return Parameters; }
|
||||
set { Parameters = value; }
|
||||
}
|
||||
|
||||
public override void ExecuteCommand()
|
||||
{
|
||||
if (string.IsNullOrEmpty(CommandName))
|
||||
{
|
||||
Say("I support the following commands:");
|
||||
|
||||
foreach (CommandBuilder command in TechBot.Commands)
|
||||
{
|
||||
Say("{0}{1} - {2}",
|
||||
Settings.Default.CommandPrefix,
|
||||
command.Name,
|
||||
command.Description);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CommandBuilder cmdBuilder = TechBot.Commands.Find(CommandName);
|
||||
|
||||
if (cmdBuilder == null)
|
||||
{
|
||||
Say("Command '{0}' is not recognized. Type '!help' to show all available commands", CommandName);
|
||||
}
|
||||
else
|
||||
{
|
||||
Say("Command '{0}' help:", CommandName);
|
||||
Say();
|
||||
Say(cmdBuilder.Description);
|
||||
Say();
|
||||
Say(cmdBuilder.Help);
|
||||
Say();
|
||||
Say("Parameters :");
|
||||
Say();
|
||||
|
||||
PropertyInfo[] propertyInfoArray = cmdBuilder.Type.GetProperties(BindingFlags.Public | BindingFlags.Instance);
|
||||
foreach (PropertyInfo propertyInfo in propertyInfoArray)
|
||||
{
|
||||
CommandParameterAttribute[] commandAttributes = (CommandParameterAttribute[])
|
||||
Attribute.GetCustomAttributes(propertyInfo, typeof(CommandParameterAttribute));
|
||||
|
||||
foreach (CommandParameterAttribute parameter in commandAttributes)
|
||||
{
|
||||
Say("\t-{0}: [{1}]",
|
||||
parameter.Name,
|
||||
parameter.Description);
|
||||
}
|
||||
}
|
||||
|
||||
Say();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
52
irc/TechBot/TechBot.Library/Factory/CommandBuilder.cs
Normal file
52
irc/TechBot/TechBot.Library/Factory/CommandBuilder.cs
Normal file
@@ -0,0 +1,52 @@
|
||||
using System;
|
||||
using System.Reflection;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
public class CommandBuilder
|
||||
{
|
||||
private Type m_CommandType;
|
||||
private string m_CommandName;
|
||||
private string m_CommandHelp;
|
||||
private string m_CommandDesc;
|
||||
|
||||
public CommandBuilder(Type commandType)
|
||||
{
|
||||
m_CommandType = commandType;
|
||||
|
||||
CommandAttribute commandAttribute = (CommandAttribute)
|
||||
Attribute.GetCustomAttribute(commandType, typeof(CommandAttribute));
|
||||
|
||||
m_CommandName = commandAttribute.Name;
|
||||
m_CommandHelp = commandAttribute.Help;
|
||||
m_CommandDesc = commandAttribute.Description;
|
||||
}
|
||||
|
||||
public string Name
|
||||
{
|
||||
get { return m_CommandName; }
|
||||
}
|
||||
|
||||
public string Help
|
||||
{
|
||||
get { return m_CommandHelp; }
|
||||
}
|
||||
|
||||
public string Description
|
||||
{
|
||||
get { return m_CommandDesc; }
|
||||
}
|
||||
|
||||
public Type Type
|
||||
{
|
||||
get { return m_CommandType; }
|
||||
}
|
||||
|
||||
public Command CreateCommand()
|
||||
{
|
||||
return (Command)Type.Assembly.CreateInstance(Type.FullName, true);
|
||||
}
|
||||
}
|
||||
}
|
60
irc/TechBot/TechBot.Library/Factory/CommandFactory.cs
Normal file
60
irc/TechBot/TechBot.Library/Factory/CommandFactory.cs
Normal file
@@ -0,0 +1,60 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Reflection;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
public class CommandFactory
|
||||
{
|
||||
private static CommandBuilderCollection m_Commands = new CommandBuilderCollection();
|
||||
|
||||
private CommandFactory()
|
||||
{
|
||||
}
|
||||
|
||||
public static void LoadPlugins()
|
||||
{
|
||||
//get the file names of the dll files in the current directory.
|
||||
foreach (string fileName in Directory.GetFiles(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location), "*.dll"))
|
||||
{
|
||||
LoadPluginsFromDLLFile(fileName);
|
||||
}
|
||||
}
|
||||
|
||||
private static void LoadPluginsFromDLLFile(string sFile)
|
||||
{
|
||||
Assembly assPlugin = Assembly.LoadFile(sFile);
|
||||
|
||||
Console.WriteLine("Loading plugins from : {0}", assPlugin.Location);
|
||||
|
||||
if (assPlugin != null)
|
||||
{
|
||||
foreach (Type pluginType in assPlugin.GetTypes())
|
||||
{
|
||||
if (pluginType.IsSubclassOf(typeof(Command)))
|
||||
{
|
||||
if (pluginType.IsAbstract == false)
|
||||
{
|
||||
CommandBuilder cmdBuilder = new CommandBuilder(pluginType);
|
||||
|
||||
Console.WriteLine("{0}:{1}",
|
||||
cmdBuilder.Name,
|
||||
cmdBuilder.Description);
|
||||
|
||||
//Add it to the list.
|
||||
Commands.Add(new CommandBuilder(pluginType));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static CommandBuilderCollection Commands
|
||||
{
|
||||
get { return m_Commands; }
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,37 +0,0 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
public class HelpCommand : Command
|
||||
{
|
||||
public HelpCommand(TechBotService techBot)
|
||||
: base(techBot)
|
||||
{
|
||||
}
|
||||
|
||||
public override string[] AvailableCommands
|
||||
{
|
||||
get { return new string[] { "help" }; }
|
||||
}
|
||||
|
||||
public override void Handle(
|
||||
MessageContext context,
|
||||
string commandName,
|
||||
string parameters)
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context, "I support the following commands:");
|
||||
|
||||
foreach (Command command in TechBot.Commands)
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
command.Help());
|
||||
}
|
||||
}
|
||||
|
||||
public override string Help()
|
||||
{
|
||||
return "!help";
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,90 +0,0 @@
|
||||
using System;
|
||||
using System.Xml;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
public class HResultCommand : XmlCommand
|
||||
{
|
||||
public HResultCommand(TechBotService techBot)
|
||||
: base(techBot)
|
||||
{
|
||||
}
|
||||
|
||||
public override string XmlFile
|
||||
{
|
||||
get { return Settings.Default.HResultXml; }
|
||||
}
|
||||
|
||||
public override string[] AvailableCommands
|
||||
{
|
||||
get { return new string[] { "hresult" }; }
|
||||
}
|
||||
|
||||
/*
|
||||
public bool CanHandle(string commandName)
|
||||
{
|
||||
return CanHandle(commandName,
|
||||
new string[] { "hresult" });
|
||||
}
|
||||
*/
|
||||
|
||||
public override void Handle(MessageContext context,
|
||||
string commandName,
|
||||
string parameters)
|
||||
{
|
||||
string hresultText = parameters;
|
||||
if (hresultText.Equals(String.Empty))
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
"Please provide a valid HRESULT value.");
|
||||
return;
|
||||
}
|
||||
|
||||
NumberParser np = new NumberParser();
|
||||
long hresult = np.Parse(hresultText);
|
||||
if (np.Error)
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
String.Format("{0} is not a valid HRESULT value.",
|
||||
hresultText));
|
||||
return;
|
||||
}
|
||||
|
||||
string description = GetHresultDescription(hresult);
|
||||
if (description != null)
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
String.Format("{0} is {1}.",
|
||||
hresultText,
|
||||
description));
|
||||
}
|
||||
else
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
String.Format("I don't know about HRESULT {0}.",
|
||||
hresultText));
|
||||
}
|
||||
}
|
||||
|
||||
public override string Help()
|
||||
{
|
||||
return "!hresult <value>";
|
||||
}
|
||||
|
||||
public string GetHresultDescription(long hresult)
|
||||
{
|
||||
XmlElement root = base.m_XmlDocument.DocumentElement;
|
||||
XmlNode node = root.SelectSingleNode(String.Format("Hresult[@value='{0}']",
|
||||
hresult.ToString("X8")));
|
||||
if (node != null)
|
||||
{
|
||||
XmlAttribute text = node.Attributes["text"];
|
||||
if (text == null)
|
||||
throw new Exception("Node has no text attribute.");
|
||||
return text.Value;
|
||||
}
|
||||
else
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
@@ -7,43 +7,33 @@ namespace TechBot.Library
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
public class ChannelMessageContext : MessageContext
|
||||
{
|
||||
private IrcChannel channel;
|
||||
private IrcChannel m_IrcChannel;
|
||||
|
||||
public IrcChannel Channel
|
||||
{
|
||||
get
|
||||
{
|
||||
return channel;
|
||||
}
|
||||
}
|
||||
public IrcChannel Channel
|
||||
{
|
||||
get { return m_IrcChannel; }
|
||||
}
|
||||
|
||||
public ChannelMessageContext(IrcChannel channel)
|
||||
{
|
||||
this.channel = channel;
|
||||
m_IrcChannel = channel;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public class UserMessageContext : MessageContext
|
||||
{
|
||||
private IrcUser user;
|
||||
private IrcUser m_IrcUser;
|
||||
|
||||
public IrcUser User
|
||||
{
|
||||
get
|
||||
{
|
||||
return user;
|
||||
}
|
||||
}
|
||||
public IrcUser User
|
||||
{
|
||||
get { return m_IrcUser; }
|
||||
}
|
||||
|
||||
public UserMessageContext(IrcUser user)
|
||||
{
|
||||
this.user = user;
|
||||
m_IrcUser = user;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,88 +0,0 @@
|
||||
using System;
|
||||
using System.Xml;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
public class NtStatusCommand : XmlCommand
|
||||
{
|
||||
public NtStatusCommand(TechBotService techBot)
|
||||
: base(techBot)
|
||||
{
|
||||
}
|
||||
|
||||
public override string XmlFile
|
||||
{
|
||||
get { return Settings.Default.NtStatusXml; }
|
||||
}
|
||||
|
||||
public override string[] AvailableCommands
|
||||
{
|
||||
get { return new string[] { "ntstatus" }; }
|
||||
}
|
||||
/*
|
||||
public bool CanHandle(string commandName)
|
||||
{
|
||||
return CanHandle(commandName,
|
||||
new string[] { "ntstatus" });
|
||||
}
|
||||
*/
|
||||
public override void Handle(MessageContext context,
|
||||
string commandName,
|
||||
string parameters)
|
||||
{
|
||||
string ntstatusText = parameters;
|
||||
if (ntstatusText.Equals(String.Empty))
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
"Please provide a valid NTSTATUS value.");
|
||||
return;
|
||||
}
|
||||
|
||||
NumberParser np = new NumberParser();
|
||||
long ntstatus = np.Parse(ntstatusText);
|
||||
if (np.Error)
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
String.Format("{0} is not a valid NTSTATUS value.",
|
||||
ntstatusText));
|
||||
return;
|
||||
}
|
||||
|
||||
string description = GetNtstatusDescription(ntstatus);
|
||||
if (description != null)
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
String.Format("{0} is {1}.",
|
||||
ntstatusText,
|
||||
description));
|
||||
}
|
||||
else
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
String.Format("I don't know about NTSTATUS {0}.",
|
||||
ntstatusText));
|
||||
}
|
||||
}
|
||||
|
||||
public override string Help()
|
||||
{
|
||||
return "!ntstatus <value>";
|
||||
}
|
||||
|
||||
public string GetNtstatusDescription(long ntstatus)
|
||||
{
|
||||
XmlElement root = base.m_XmlDocument.DocumentElement;
|
||||
XmlNode node = root.SelectSingleNode(String.Format("Ntstatus[@value='{0}']",
|
||||
ntstatus.ToString("X8")));
|
||||
if (node != null)
|
||||
{
|
||||
XmlAttribute text = node.Attributes["text"];
|
||||
if (text == null)
|
||||
throw new Exception("Node has no text attribute.");
|
||||
return text.Value;
|
||||
}
|
||||
else
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,29 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
class ReactOSBugUrl : BugCommand
|
||||
{
|
||||
public ReactOSBugUrl(TechBotService techBot)
|
||||
: base(techBot)
|
||||
{
|
||||
}
|
||||
|
||||
public override string[] AvailableCommands
|
||||
{
|
||||
get { return new string[] { "rosbug" }; }
|
||||
}
|
||||
|
||||
protected override string BugUrl
|
||||
{
|
||||
get { return "http://www.reactos.org/bugzilla/show_bug.cgi?id={0}"; }
|
||||
}
|
||||
|
||||
public override string Help()
|
||||
{
|
||||
return "!rosbug <number>";
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,29 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
class SambaBugUrl : BugCommand
|
||||
{
|
||||
public SambaBugUrl(TechBotService techBot)
|
||||
: base(techBot)
|
||||
{
|
||||
}
|
||||
|
||||
public override string[] AvailableCommands
|
||||
{
|
||||
get { return new string[] { "sambabug" }; }
|
||||
}
|
||||
|
||||
protected override string BugUrl
|
||||
{
|
||||
get { return "https://bugzilla.samba.org/show_bug.cgi?id={0}"; }
|
||||
}
|
||||
|
||||
public override string Help()
|
||||
{
|
||||
return "!sambabug <number>";
|
||||
}
|
||||
}
|
||||
}
|
@@ -2,9 +2,8 @@ using System;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
public interface IServiceOutput
|
||||
{
|
||||
void WriteLine(MessageContext context,
|
||||
string message);
|
||||
}
|
||||
public interface IServiceOutput
|
||||
{
|
||||
void WriteLine(MessageContext context, string message);
|
||||
}
|
||||
}
|
||||
|
11
irc/TechBot/TechBot.Library/Settings.Designer.cs
generated
11
irc/TechBot/TechBot.Library/Settings.Designer.cs
generated
@@ -1,7 +1,7 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.832
|
||||
// Runtime Version:2.0.50727.1433
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
@@ -67,5 +67,14 @@ namespace TechBot.Library {
|
||||
return ((string)(this["SVNRoot"]));
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("@")]
|
||||
public string CommandPrefix {
|
||||
get {
|
||||
return ((string)(this["CommandPrefix"]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -17,5 +17,8 @@
|
||||
<Setting Name="SVNRoot" Type="System.String" Scope="Application">
|
||||
<Value Profile="(Default)">svn://svn.reactos.org/trunk/reactos</Value>
|
||||
</Setting>
|
||||
<Setting Name="CommandPrefix" Type="System.String" Scope="Application">
|
||||
<Value Profile="(Default)">@</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
@@ -1,32 +0,0 @@
|
||||
using System;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
public class SvnCommand : Command
|
||||
{
|
||||
private string m_SvnRoot;
|
||||
|
||||
public SvnCommand(TechBotService techBot)
|
||||
: base(techBot)
|
||||
{
|
||||
m_SvnRoot = Settings.Default.SVNRoot;
|
||||
}
|
||||
|
||||
public override string[] AvailableCommands
|
||||
{
|
||||
get { return new string[] { "svn" }; }
|
||||
}
|
||||
|
||||
public override void Handle(MessageContext context,
|
||||
string commandName,
|
||||
string parameters)
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context, string.Format("svn co {0}" , m_SvnRoot));
|
||||
}
|
||||
|
||||
public override string Help()
|
||||
{
|
||||
return "!svn";
|
||||
}
|
||||
}
|
||||
}
|
@@ -39,21 +39,19 @@
|
||||
</Target>
|
||||
-->
|
||||
<ItemGroup>
|
||||
<Compile Include="ApiCommand.cs" />
|
||||
<Compile Include="BugCommand.cs" />
|
||||
<Compile Include="Attributes\CommandAttribute.cs" />
|
||||
<Compile Include="Attributes\CommandParameterAliasAttribute.cs" />
|
||||
<Compile Include="Attributes\CommandParameterAttribute.cs" />
|
||||
<Compile Include="Collections\CommandBuilderCollection.cs" />
|
||||
<Compile Include="Commands\Base\XmlLookupCommand.cs" />
|
||||
<Compile Include="Factory\CommandBuilder.cs" />
|
||||
<Compile Include="Factory\CommandFactory.cs" />
|
||||
<Compile Include="Commands\Base\Command.cs" />
|
||||
<Compile Include="Commands\Base\XmlCommand.cs" />
|
||||
<Compile Include="SambaBugUrl.cs" />
|
||||
<Compile Include="WineBugUrl.cs" />
|
||||
<Compile Include="ErrorCommand.cs" />
|
||||
<Compile Include="HelpCommand.cs" />
|
||||
<Compile Include="HresultCommand.cs" />
|
||||
<Compile Include="Command.cs" />
|
||||
<Compile Include="IrcService.cs" />
|
||||
<Compile Include="Commands\HelpCommand.cs" />
|
||||
<Compile Include="MessageContext.cs" />
|
||||
<Compile Include="NtStatusCommand.cs" />
|
||||
<Compile Include="NumberParser.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="ReactOSBugUrl.cs" />
|
||||
<Compile Include="ServiceOutput.cs" />
|
||||
<Compile Include="Settings.cs" />
|
||||
<Compile Include="Settings.Designer.cs">
|
||||
@@ -61,10 +59,8 @@
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SvnCommand.cs" />
|
||||
<Compile Include="TechBotIrcService.cs" />
|
||||
<Compile Include="TechBotService.cs" />
|
||||
<Compile Include="WinerrorCommand.cs" />
|
||||
<Compile Include="WmCommand.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
@@ -72,10 +68,6 @@
|
||||
<Reference Include="System.XML" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\CHMLibrary\CHMLibrary.csproj">
|
||||
<Project>{72E5CCA1-6318-4D62-964D-CB23A5C743B5}</Project>
|
||||
<Name>CHMLibrary</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\TechBot.IRCLibrary\TechBot.IRCLibrary.csproj">
|
||||
<Project>{D2A57931-DF04-4BC3-BD11-75DF4F3B0A88}</Project>
|
||||
<Name>TechBot.IRCLibrary</Name>
|
||||
|
@@ -1,296 +1,304 @@
|
||||
using System;
|
||||
using System.Text;
|
||||
using System.Collections;
|
||||
using System.Threading;
|
||||
|
||||
using TechBot.IRCLibrary;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
public class IrcService : IServiceOutput
|
||||
{
|
||||
private string hostname;
|
||||
private int port;
|
||||
private string channelnames;
|
||||
private string botname;
|
||||
private string password;
|
||||
private string chmPath;
|
||||
private string mainChm;
|
||||
private string ntstatusXml;
|
||||
private string winerrorXml;
|
||||
private string hresultXml;
|
||||
private string wmXml;
|
||||
private string svnCommand;
|
||||
private string bugUrl, WineBugUrl, SambaBugUrl;
|
||||
private IrcClient m_IrcClient;
|
||||
private ArrayList channels = new ArrayList(); /* IrcChannel */
|
||||
private TechBotService service;
|
||||
private bool isStopped = false;
|
||||
|
||||
public IrcService(string hostname,
|
||||
int port,
|
||||
string channelnames,
|
||||
string botname,
|
||||
string password,
|
||||
string chmPath,
|
||||
string mainChm,
|
||||
//string ntstatusXml,
|
||||
//string winerrorXml,
|
||||
//string hresultXml,
|
||||
//string wmXml,
|
||||
//string svnCommand,
|
||||
string BugUrl,
|
||||
string WineBugUrl,
|
||||
string SambaBugUrl)
|
||||
{
|
||||
this.hostname = hostname;
|
||||
this.port = port;
|
||||
this.channelnames = channelnames;
|
||||
this.botname = botname;
|
||||
if (password == null || password.Trim() == "")
|
||||
this.password = null;
|
||||
else
|
||||
this.password = password;
|
||||
this.chmPath = chmPath;
|
||||
this.mainChm = mainChm;
|
||||
this.ntstatusXml = ntstatusXml;
|
||||
this.winerrorXml = winerrorXml;
|
||||
this.hresultXml = hresultXml;
|
||||
this.wmXml = wmXml;
|
||||
this.svnCommand = svnCommand;
|
||||
this.bugUrl = BugUrl;
|
||||
this.WineBugUrl = WineBugUrl;
|
||||
this.SambaBugUrl = SambaBugUrl;
|
||||
}
|
||||
|
||||
public void Run()
|
||||
{
|
||||
service = new TechBotService(this,
|
||||
chmPath,
|
||||
mainChm);
|
||||
//ntstatusXml,
|
||||
//winerrorXml,
|
||||
//hresultXml,
|
||||
//wmXml,
|
||||
//svnCommand,
|
||||
//bugUrl,
|
||||
//WineBugUrl,
|
||||
//SambaBugUrl);
|
||||
service.Run();
|
||||
|
||||
m_IrcClient = new IrcClient();
|
||||
m_IrcClient.Encoding = Encoding.GetEncoding("iso-8859-1");
|
||||
m_IrcClient.MessageReceived += new MessageReceivedHandler(client_MessageReceived);
|
||||
m_IrcClient.ChannelUserDatabaseChanged += new ChannelUserDatabaseChangedHandler(client_ChannelUserDatabaseChanged);
|
||||
Console.WriteLine("Connecting to {0} port {1}",
|
||||
hostname,
|
||||
port);
|
||||
m_IrcClient.Connect(hostname, port);
|
||||
Console.WriteLine("Connected...");
|
||||
m_IrcClient.Register(botname, password, null);
|
||||
Console.WriteLine("Registered as {0}...", botname);
|
||||
JoinChannels();
|
||||
|
||||
while (!isStopped)
|
||||
{
|
||||
Thread.Sleep(1000);
|
||||
}
|
||||
|
||||
PartChannels();
|
||||
m_IrcClient.Diconnect();
|
||||
Console.WriteLine("Disconnected...");
|
||||
}
|
||||
|
||||
public void Stop()
|
||||
{
|
||||
isStopped = true;
|
||||
}
|
||||
|
||||
private void JoinChannels()
|
||||
{
|
||||
foreach (string channelname in channelnames.Split(new char[] { ';' }))
|
||||
{
|
||||
IrcChannel channel = m_IrcClient.JoinChannel(channelname);
|
||||
channels.Add(channel);
|
||||
System.Console.WriteLine(String.Format("Joined channel #{0}...",
|
||||
channel.Name));
|
||||
}
|
||||
}
|
||||
|
||||
private void PartChannels()
|
||||
{
|
||||
foreach (IrcChannel channel in channels)
|
||||
{
|
||||
m_IrcClient.PartChannel(channel, "Caught in the bitstream...");
|
||||
System.Console.WriteLine(String.Format("Parted channel #{0}...",
|
||||
channel.Name));
|
||||
}
|
||||
}
|
||||
|
||||
private string GetMessageSource(MessageContext context)
|
||||
{
|
||||
if (context is ChannelMessageContext)
|
||||
{
|
||||
ChannelMessageContext channelContext = context as ChannelMessageContext;
|
||||
return String.Format("#{0}",
|
||||
channelContext.Channel.Name);
|
||||
}
|
||||
else if (context is UserMessageContext)
|
||||
{
|
||||
UserMessageContext userContext = context as UserMessageContext;
|
||||
return userContext.User.Nickname;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new InvalidOperationException(String.Format("Unhandled message context '{0}'",
|
||||
context.GetType()));
|
||||
}
|
||||
}
|
||||
|
||||
public void WriteLine(MessageContext context,
|
||||
string message)
|
||||
{
|
||||
if (context is ChannelMessageContext)
|
||||
{
|
||||
ChannelMessageContext channelContext = context as ChannelMessageContext;
|
||||
channelContext.Channel.Talk(message);
|
||||
}
|
||||
else if (context is UserMessageContext)
|
||||
{
|
||||
UserMessageContext userContext = context as UserMessageContext;
|
||||
userContext.User.Talk(message);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new InvalidOperationException(String.Format("Unhandled message context '{0}'",
|
||||
context.GetType()));
|
||||
}
|
||||
}
|
||||
|
||||
private void ExtractMessage(string parameters,
|
||||
out string message)
|
||||
{
|
||||
int startIndex = parameters.IndexOf(':');
|
||||
if (startIndex != -1)
|
||||
{
|
||||
message = parameters.Substring(startIndex + 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
message = parameters;
|
||||
}
|
||||
}
|
||||
|
||||
private bool GetChannelName(IrcMessage message,
|
||||
out string channelName)
|
||||
{
|
||||
if (message.Parameters == null || !message.Parameters.StartsWith("#"))
|
||||
{
|
||||
channelName = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
int index = message.Parameters.IndexOf(' ');
|
||||
if (index == -1)
|
||||
index = message.Parameters.Length;
|
||||
else
|
||||
index = index - 1;
|
||||
channelName = message.Parameters.Substring(1, index);
|
||||
return true;
|
||||
}
|
||||
|
||||
private bool GetTargetNickname(IrcMessage message,
|
||||
out string nickname)
|
||||
{
|
||||
if (message.Parameters == null)
|
||||
{
|
||||
nickname = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
int index = message.Parameters.IndexOf(' ');
|
||||
if (index == -1)
|
||||
index = message.Parameters.Length;
|
||||
nickname = message.Parameters.Substring(0, index);
|
||||
Console.WriteLine("nickname: " + nickname);
|
||||
return true;
|
||||
}
|
||||
|
||||
private bool ShouldAcceptMessage(IrcMessage message,
|
||||
out MessageContext context)
|
||||
{
|
||||
if (message.Command.ToUpper().Equals("PRIVMSG"))
|
||||
{
|
||||
string channelName;
|
||||
string nickname;
|
||||
if (GetChannelName(message,
|
||||
out channelName))
|
||||
{
|
||||
foreach (IrcChannel channel in channels)
|
||||
{
|
||||
if (String.Compare(channel.Name, channelName, true) == 0)
|
||||
{
|
||||
context = new ChannelMessageContext(channel);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (GetTargetNickname(message,
|
||||
out nickname))
|
||||
{
|
||||
IrcUser targetUser = new IrcUser(m_IrcClient,
|
||||
nickname);
|
||||
if (String.Compare(targetUser.Nickname, botname, true) == 0)
|
||||
{
|
||||
IrcUser sourceUser = new IrcUser(m_IrcClient,
|
||||
message.PrefixNickname);
|
||||
context = new UserMessageContext(sourceUser);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
context = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
private void client_MessageReceived(IrcMessage message)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (message.Command != null &&
|
||||
message.Parameters != null)
|
||||
{
|
||||
string injectMessage;
|
||||
ExtractMessage(message.Parameters,
|
||||
out injectMessage);
|
||||
MessageContext context;
|
||||
if (ShouldAcceptMessage(message,
|
||||
out context))
|
||||
{
|
||||
Console.WriteLine(String.Format("Injecting: {0} from {1}",
|
||||
injectMessage,
|
||||
GetMessageSource(context)));
|
||||
service.InjectMessage(context,
|
||||
injectMessage);
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("Received: " + message.Line);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("Received: " + message.Line);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine(String.Format("Exception: {0}", ex));
|
||||
}
|
||||
}
|
||||
|
||||
private void client_ChannelUserDatabaseChanged(IrcChannel channel)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Text;
|
||||
using System.Collections;
|
||||
using System.Threading;
|
||||
|
||||
using TechBot.IRCLibrary;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
public class IrcServiceOutput : IServiceOutput
|
||||
{
|
||||
public void WriteLine(MessageContext context,
|
||||
string message)
|
||||
{
|
||||
if (context is ChannelMessageContext)
|
||||
{
|
||||
Thread.Sleep (500);
|
||||
ChannelMessageContext channelContext = context as ChannelMessageContext;
|
||||
channelContext.Channel.Talk(message);
|
||||
}
|
||||
else if (context is UserMessageContext)
|
||||
{
|
||||
UserMessageContext userContext = context as UserMessageContext;
|
||||
userContext.User.Talk(message);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new InvalidOperationException(String.Format("Unhandled message context '{0}'",
|
||||
context.GetType()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class IrcTechBotService : TechBotService
|
||||
{
|
||||
private int port;
|
||||
private string hostname;
|
||||
private string channelnames;
|
||||
private string botname;
|
||||
private string password;
|
||||
private IrcClient m_IrcClient;
|
||||
private ArrayList channels = new ArrayList();
|
||||
private bool isStopped = false;
|
||||
|
||||
public IrcTechBotService(string hostname,
|
||||
int port,
|
||||
string channelnames,
|
||||
string botname,
|
||||
string password)
|
||||
: base (new IrcServiceOutput())
|
||||
{
|
||||
this.hostname = hostname;
|
||||
this.port = port;
|
||||
this.channelnames = channelnames;
|
||||
this.botname = botname;
|
||||
if (password == null || password.Trim() == "")
|
||||
this.password = null;
|
||||
else
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public override void Run()
|
||||
{
|
||||
//Call the base class
|
||||
base.Run();
|
||||
|
||||
m_IrcClient = new IrcClient();
|
||||
m_IrcClient.Encoding = Encoding.GetEncoding("iso-8859-1");
|
||||
m_IrcClient.OnConnect += new OnConnectHandler(m_IrcClient_OnConnect);
|
||||
m_IrcClient.OnConnectionLost += new OnConnectionLostHandler(m_IrcClient_OnConnectionLost);
|
||||
m_IrcClient.OnDisconnect += new OnDisconnectHandler(m_IrcClient_OnDisconnect);
|
||||
m_IrcClient.MessageReceived += new MessageReceivedHandler(client_MessageReceived);
|
||||
m_IrcClient.ChannelUserDatabaseChanged += new ChannelUserDatabaseChangedHandler(client_ChannelUserDatabaseChanged);
|
||||
|
||||
Connect();
|
||||
}
|
||||
|
||||
void m_IrcClient_OnConnect()
|
||||
{
|
||||
Console.WriteLine("Connected...");
|
||||
}
|
||||
|
||||
private void Connect()
|
||||
{
|
||||
Console.WriteLine("Connecting to {0} port {1}",
|
||||
hostname,
|
||||
port);
|
||||
m_IrcClient.Connect(hostname, port);
|
||||
|
||||
m_IrcClient.Register(botname, password, null);
|
||||
Console.WriteLine("Registered as {0}...", botname);
|
||||
JoinChannels();
|
||||
|
||||
while (!isStopped)
|
||||
{
|
||||
Thread.Sleep(1000);
|
||||
}
|
||||
|
||||
PartChannels();
|
||||
m_IrcClient.Diconnect();
|
||||
}
|
||||
|
||||
void m_IrcClient_OnDisconnect()
|
||||
{
|
||||
Console.WriteLine("Disconnected...");
|
||||
}
|
||||
|
||||
void m_IrcClient_OnConnectionLost()
|
||||
{
|
||||
//Dispose old connection
|
||||
Disconnect();
|
||||
|
||||
//Sleep for 1 minute
|
||||
Thread.Sleep(1000 * 60);
|
||||
|
||||
//Try to reconnect
|
||||
Connect();
|
||||
}
|
||||
|
||||
private void Disconnect()
|
||||
{
|
||||
try
|
||||
{
|
||||
m_IrcClient.Diconnect();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
public void Stop()
|
||||
{
|
||||
isStopped = true;
|
||||
}
|
||||
|
||||
private void JoinChannels()
|
||||
{
|
||||
foreach (string channelname in channelnames.Split(new char[] { ';' }))
|
||||
{
|
||||
IrcChannel channel = m_IrcClient.JoinChannel(channelname);
|
||||
channels.Add(channel);
|
||||
System.Console.WriteLine(String.Format("Joined channel #{0}...",
|
||||
channel.Name));
|
||||
}
|
||||
}
|
||||
|
||||
private void PartChannels()
|
||||
{
|
||||
foreach (IrcChannel channel in channels)
|
||||
{
|
||||
m_IrcClient.PartChannel(channel, "Caught in the bitstream...");
|
||||
System.Console.WriteLine(String.Format("Parted channel #{0}...",
|
||||
channel.Name));
|
||||
}
|
||||
}
|
||||
|
||||
private string GetMessageSource(MessageContext context)
|
||||
{
|
||||
if (context is ChannelMessageContext)
|
||||
{
|
||||
ChannelMessageContext channelContext = context as ChannelMessageContext;
|
||||
return String.Format("#{0}",
|
||||
channelContext.Channel.Name);
|
||||
}
|
||||
else if (context is UserMessageContext)
|
||||
{
|
||||
UserMessageContext userContext = context as UserMessageContext;
|
||||
return userContext.User.Nickname;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new InvalidOperationException(String.Format("Unhandled message context '{0}'",
|
||||
context.GetType()));
|
||||
}
|
||||
}
|
||||
|
||||
private void ExtractMessage(string parameters,
|
||||
out string message)
|
||||
{
|
||||
int startIndex = parameters.IndexOf(':');
|
||||
if (startIndex != -1)
|
||||
{
|
||||
message = parameters.Substring(startIndex + 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
message = parameters;
|
||||
}
|
||||
}
|
||||
|
||||
private bool GetChannelName(IrcMessage message,
|
||||
out string channelName)
|
||||
{
|
||||
if (message.Parameters == null || !message.Parameters.StartsWith("#"))
|
||||
{
|
||||
channelName = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
int index = message.Parameters.IndexOf(' ');
|
||||
if (index == -1)
|
||||
index = message.Parameters.Length;
|
||||
else
|
||||
index = index - 1;
|
||||
channelName = message.Parameters.Substring(1, index);
|
||||
return true;
|
||||
}
|
||||
|
||||
private bool GetTargetNickname(IrcMessage message,
|
||||
out string nickname)
|
||||
{
|
||||
if (message.Parameters == null)
|
||||
{
|
||||
nickname = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
int index = message.Parameters.IndexOf(' ');
|
||||
if (index == -1)
|
||||
index = message.Parameters.Length;
|
||||
nickname = message.Parameters.Substring(0, index);
|
||||
Console.WriteLine("nickname: " + nickname);
|
||||
return true;
|
||||
}
|
||||
|
||||
private bool ShouldAcceptMessage(IrcMessage message,
|
||||
out MessageContext context)
|
||||
{
|
||||
if (message.Command.ToUpper().Equals("PRIVMSG"))
|
||||
{
|
||||
string channelName;
|
||||
string nickname;
|
||||
if (GetChannelName(message,
|
||||
out channelName))
|
||||
{
|
||||
foreach (IrcChannel channel in channels)
|
||||
{
|
||||
if (String.Compare(channel.Name, channelName, true) == 0)
|
||||
{
|
||||
context = new ChannelMessageContext(channel);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (GetTargetNickname(message,
|
||||
out nickname))
|
||||
{
|
||||
IrcUser targetUser = new IrcUser(m_IrcClient,
|
||||
nickname);
|
||||
if (String.Compare(targetUser.Nickname, botname, true) == 0)
|
||||
{
|
||||
IrcUser sourceUser = new IrcUser(m_IrcClient,
|
||||
message.PrefixNickname);
|
||||
context = new UserMessageContext(sourceUser);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
context = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
private void client_MessageReceived(IrcMessage message)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (message.Command != null &&
|
||||
message.Parameters != null)
|
||||
{
|
||||
string injectMessage;
|
||||
ExtractMessage(message.Parameters,
|
||||
out injectMessage);
|
||||
MessageContext context;
|
||||
if (ShouldAcceptMessage(message,
|
||||
out context))
|
||||
{
|
||||
Console.WriteLine(String.Format("Injecting: {0} from {1}",
|
||||
injectMessage,
|
||||
GetMessageSource(context)));
|
||||
InjectMessage(context,
|
||||
injectMessage);
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("Received: " + message.Line);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("Received: " + message.Line);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine(String.Format("Exception: {0}", ex));
|
||||
}
|
||||
}
|
||||
|
||||
private void client_ChannelUserDatabaseChanged(IrcChannel channel)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,122 +1,101 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Data;
|
||||
using System.Threading;
|
||||
using TechBot.IRCLibrary;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
public class TechBotService
|
||||
{
|
||||
private IServiceOutput serviceOutput;
|
||||
private string chmPath;
|
||||
private string mainChm;
|
||||
private string ntstatusXml;
|
||||
private string winerrorXml;
|
||||
private string hresultXml;
|
||||
private string wmXml;
|
||||
private string svnCommand;
|
||||
private string bugUrl, WineBugUrl, SambaBugUrl;
|
||||
private List<Command> commands = new List<Command>();
|
||||
|
||||
public TechBotService(IServiceOutput serviceOutput,
|
||||
string chmPath,
|
||||
string mainChm)
|
||||
//string ntstatusXml,
|
||||
//string winerrorXml,
|
||||
//string hresultXml,
|
||||
//string wmXml,
|
||||
//string svnCommand,
|
||||
//string bugUrl,
|
||||
//string WineBugUrl,
|
||||
//string SambaBugUrl)
|
||||
{
|
||||
this.serviceOutput = serviceOutput;
|
||||
this.chmPath = chmPath;
|
||||
this.mainChm = mainChm;
|
||||
this.ntstatusXml = ntstatusXml;
|
||||
this.winerrorXml = winerrorXml;
|
||||
this.hresultXml = hresultXml;
|
||||
this.wmXml = wmXml;
|
||||
this.svnCommand = svnCommand;
|
||||
this.bugUrl = bugUrl;
|
||||
this.WineBugUrl = WineBugUrl;
|
||||
this.SambaBugUrl = SambaBugUrl;
|
||||
}
|
||||
|
||||
public void Run()
|
||||
{
|
||||
commands.Add(new HelpCommand(this));
|
||||
/*commands.Add(new ApiCommand(serviceOutput,
|
||||
chmPath,
|
||||
mainChm));*/
|
||||
commands.Add(new NtStatusCommand(this));
|
||||
commands.Add(new WinerrorCommand(this));
|
||||
commands.Add(new HResultCommand(this));
|
||||
commands.Add(new ErrorCommand(this));
|
||||
commands.Add(new WMCommand(this));
|
||||
commands.Add(new SvnCommand(this));
|
||||
commands.Add(new ReactOSBugUrl(this));
|
||||
commands.Add(new SambaBugUrl(this));
|
||||
commands.Add(new WineBugUrl(this));
|
||||
}
|
||||
|
||||
public IServiceOutput ServiceOutput
|
||||
{
|
||||
get { return serviceOutput; }
|
||||
}
|
||||
|
||||
public IList<Command> Commands
|
||||
{
|
||||
get { return commands; }
|
||||
}
|
||||
|
||||
public void InjectMessage(MessageContext context,
|
||||
string message)
|
||||
{
|
||||
if (message.StartsWith("!"))
|
||||
ParseCommandMessage(context,
|
||||
message);
|
||||
}
|
||||
|
||||
private bool IsCommandMessage(string message)
|
||||
{
|
||||
return message.StartsWith("!");
|
||||
}
|
||||
|
||||
public void ParseCommandMessage(MessageContext context,
|
||||
string message)
|
||||
{
|
||||
if (!IsCommandMessage(message))
|
||||
return;
|
||||
|
||||
message = message.Substring(1).Trim();
|
||||
int index = message.IndexOf(' ');
|
||||
string commandName;
|
||||
string commandParams = "";
|
||||
if (index != -1)
|
||||
{
|
||||
commandName = message.Substring(0, index).Trim();
|
||||
commandParams = message.Substring(index).Trim();
|
||||
}
|
||||
else
|
||||
commandName = message.Trim();
|
||||
|
||||
foreach (Command command in commands)
|
||||
{
|
||||
foreach (string cmd in command.AvailableCommands)
|
||||
{
|
||||
if (cmd == commandName)
|
||||
{
|
||||
command.Handle(context,
|
||||
commandName,
|
||||
commandParams);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Data;
|
||||
using System.Threading;
|
||||
|
||||
using TechBot.IRCLibrary;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
public abstract class TechBotService
|
||||
{
|
||||
protected IServiceOutput m_ServiceOutput;
|
||||
|
||||
public TechBotService(IServiceOutput serviceOutput)
|
||||
{
|
||||
m_ServiceOutput = serviceOutput;
|
||||
}
|
||||
|
||||
public virtual void Run()
|
||||
{
|
||||
CommandFactory.LoadPlugins();
|
||||
}
|
||||
|
||||
public IServiceOutput ServiceOutput
|
||||
{
|
||||
get { return m_ServiceOutput; }
|
||||
}
|
||||
|
||||
public CommandBuilderCollection Commands
|
||||
{
|
||||
get { return CommandFactory.Commands; }
|
||||
}
|
||||
|
||||
public void InjectMessage(MessageContext context, string message)
|
||||
{
|
||||
ParseCommandMessage(context,
|
||||
message);
|
||||
}
|
||||
|
||||
private bool IsCommandMessage(string message)
|
||||
{
|
||||
return message.StartsWith(Settings.Default.CommandPrefix);
|
||||
}
|
||||
|
||||
public void InjectMessage(string message)
|
||||
{
|
||||
ParseCommandMessage(null, message);
|
||||
}
|
||||
|
||||
public void ParseCommandMessage(MessageContext context,
|
||||
string message)
|
||||
{
|
||||
if (!IsCommandMessage(message))
|
||||
return;
|
||||
|
||||
message = message.Substring(1).Trim();
|
||||
int index = message.IndexOf(' ');
|
||||
string commandName;
|
||||
string commandParams = "";
|
||||
if (index != -1)
|
||||
{
|
||||
commandName = message.Substring(0, index).Trim();
|
||||
commandParams = message.Substring(index).Trim();
|
||||
}
|
||||
else
|
||||
commandName = message.Trim();
|
||||
|
||||
foreach (CommandBuilder command in Commands)
|
||||
{
|
||||
if (command.Name == commandName)
|
||||
{
|
||||
//Create a new instance of the required command type
|
||||
Command cmd = command.CreateCommand();
|
||||
|
||||
cmd.TechBot = this;
|
||||
cmd.Context = context;
|
||||
cmd.Parameters = commandParams;
|
||||
|
||||
try
|
||||
{
|
||||
cmd.Initialize();
|
||||
cmd.Run();
|
||||
cmd.DeInitialize();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
ServiceOutput.WriteLine(context, string.Format("Uops! Just crashed with exception '{0}' at {1}",
|
||||
e.Message,
|
||||
e.Source));
|
||||
|
||||
ServiceOutput.WriteLine(context, e.StackTrace);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,29 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
class WineBugUrl : BugCommand
|
||||
{
|
||||
public WineBugUrl(TechBotService techBot)
|
||||
: base(techBot)
|
||||
{
|
||||
}
|
||||
|
||||
public override string[] AvailableCommands
|
||||
{
|
||||
get { return new string[] { "winebug" }; }
|
||||
}
|
||||
|
||||
protected override string BugUrl
|
||||
{
|
||||
get { return "http://bugs.winehq.org/show_bug.cgi?id={0}"; }
|
||||
}
|
||||
|
||||
public override string Help()
|
||||
{
|
||||
return "!winebug <number>";
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,82 +0,0 @@
|
||||
using System;
|
||||
using System.Xml;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
public class WinerrorCommand : XmlCommand
|
||||
{
|
||||
public WinerrorCommand(TechBotService techBot)
|
||||
: base(techBot)
|
||||
{
|
||||
}
|
||||
|
||||
public override string XmlFile
|
||||
{
|
||||
get { return Settings.Default.WinErrorXml; }
|
||||
}
|
||||
|
||||
public override string[] AvailableCommands
|
||||
{
|
||||
get { return new string[] { "winerror" }; }
|
||||
}
|
||||
|
||||
public override void Handle(MessageContext context,
|
||||
string commandName,
|
||||
string parameters)
|
||||
{
|
||||
string winerrorText = parameters;
|
||||
if (winerrorText.Equals(String.Empty))
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
"Please provide a valid System Error Code value.");
|
||||
return;
|
||||
}
|
||||
|
||||
NumberParser np = new NumberParser();
|
||||
long winerror = np.Parse(winerrorText);
|
||||
if (np.Error)
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
String.Format("{0} is not a valid System Error Code value.",
|
||||
winerrorText));
|
||||
return;
|
||||
}
|
||||
|
||||
string description = GetWinerrorDescription(winerror);
|
||||
if (description != null)
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
String.Format("{0} is {1}.",
|
||||
winerrorText,
|
||||
description));
|
||||
}
|
||||
else
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
String.Format("I don't know about System Error Code {0}.",
|
||||
winerrorText));
|
||||
}
|
||||
}
|
||||
|
||||
public override string Help()
|
||||
{
|
||||
return "!winerror <value>";
|
||||
}
|
||||
|
||||
public string GetWinerrorDescription(long winerror)
|
||||
{
|
||||
XmlElement root = base.m_XmlDocument.DocumentElement;
|
||||
XmlNode node = root.SelectSingleNode(String.Format("Winerror[@value='{0}']",
|
||||
winerror));
|
||||
if (node != null)
|
||||
{
|
||||
XmlAttribute text = node.Attributes["text"];
|
||||
if (text == null)
|
||||
throw new Exception("Node has no text attribute.");
|
||||
return text.Value;
|
||||
}
|
||||
else
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,100 +0,0 @@
|
||||
using System;
|
||||
using System.Xml;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
public class WMCommand : XmlCommand
|
||||
{
|
||||
public WMCommand(TechBotService techBot)
|
||||
: base(techBot)
|
||||
{
|
||||
}
|
||||
|
||||
public override string XmlFile
|
||||
{
|
||||
get { return Settings.Default.WMXml; }
|
||||
}
|
||||
|
||||
public override string[] AvailableCommands
|
||||
{
|
||||
get { return new string[] { "wm" }; }
|
||||
}
|
||||
|
||||
public override void Handle(MessageContext context,
|
||||
string commandName,
|
||||
string parameters)
|
||||
{
|
||||
string wmText = parameters;
|
||||
if (wmText.Equals(String.Empty))
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
"Please provide a valid window message value or name.");
|
||||
return;
|
||||
}
|
||||
|
||||
NumberParser np = new NumberParser();
|
||||
long wm = np.Parse(wmText);
|
||||
string output;
|
||||
if (np.Error)
|
||||
{
|
||||
// Assume "!wm <name>" form.
|
||||
output = GetWmNumber(wmText);
|
||||
}
|
||||
else
|
||||
{
|
||||
output = GetWmDescription(wm);
|
||||
}
|
||||
|
||||
if (output != null)
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
String.Format("{0} is {1}.",
|
||||
wmText,
|
||||
output));
|
||||
}
|
||||
else
|
||||
{
|
||||
TechBot.ServiceOutput.WriteLine(context,
|
||||
String.Format("I don't know about window message {0}.",
|
||||
wmText));
|
||||
}
|
||||
}
|
||||
|
||||
public override string Help()
|
||||
{
|
||||
return "!wm <value> or !wm <name>";
|
||||
}
|
||||
|
||||
private string GetWmDescription(long wm)
|
||||
{
|
||||
XmlElement root = base.m_XmlDocument.DocumentElement;
|
||||
XmlNode node = root.SelectSingleNode(String.Format("WindowMessage[@value='{0}']",
|
||||
wm));
|
||||
if (node != null)
|
||||
{
|
||||
XmlAttribute text = node.Attributes["text"];
|
||||
if (text == null)
|
||||
throw new Exception("Node has no text attribute.");
|
||||
return text.Value;
|
||||
}
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
private string GetWmNumber(string wmName)
|
||||
{
|
||||
XmlElement root = base.m_XmlDocument.DocumentElement;
|
||||
XmlNode node = root.SelectSingleNode(String.Format("WindowMessage[@text='{0}']",
|
||||
wmName));
|
||||
if (node != null)
|
||||
{
|
||||
XmlAttribute value = node.Attributes["value"];
|
||||
if (value == null)
|
||||
throw new Exception("Node has no value attribute.");
|
||||
return value.Value;
|
||||
}
|
||||
else
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
@@ -22,6 +22,9 @@
|
||||
<setting name="SVNRoot" serializeAs="String">
|
||||
<value>svn://svn.reactos.org/trunk/reactos</value>
|
||||
</setting>
|
||||
<setting name="CommandPrefix" serializeAs="String">
|
||||
<value>@</value>
|
||||
</setting>
|
||||
</TechBot.Library.Settings>
|
||||
</applicationSettings>
|
||||
</configuration>
|
@@ -1,36 +0,0 @@
|
||||
<Combine fileversion="1.0" name="TechBot" description="">
|
||||
<StartMode startupentry="TechBot" single="True">
|
||||
<Execute entry="TechBot" type="None" />
|
||||
<Execute entry="TechBot.Library" type="None" />
|
||||
<Execute entry="CHMLibrary" type="None" />
|
||||
<Execute entry="Compression" type="None" />
|
||||
<Execute entry="TechBot.Console" type="None" />
|
||||
<Execute entry="TechBot.IRCLibrary" type="None" />
|
||||
</StartMode>
|
||||
<Entries>
|
||||
<Entry filename=".\TechBot\TechBot.prjx" />
|
||||
<Entry filename=".\TechBot.Library\TechBot.Library.prjx" />
|
||||
<Entry filename=".\CHMLibrary\CHMLibrary.prjx" />
|
||||
<Entry filename=".\Compression\Compression.prjx" />
|
||||
<Entry filename=".\TechBot.Console\TechBot.Console.prjx" />
|
||||
<Entry filename=".\TechBot.IRCLibrary\TechBot.IRCLibrary.prjx" />
|
||||
</Entries>
|
||||
<Configurations active="Debug">
|
||||
<Configuration name="Release">
|
||||
<Entry name="TechBot" configurationname="Debug" build="False" />
|
||||
<Entry name="TechBot.Library" configurationname="Debug" build="False" />
|
||||
<Entry name="CHMLibrary" configurationname="Debug" build="False" />
|
||||
<Entry name="Compression" configurationname="Debug" build="False" />
|
||||
<Entry name="TechBot.Console" configurationname="Debug" build="False" />
|
||||
<Entry name="TechBot.IRCLibrary" configurationname="Debug" build="False" />
|
||||
</Configuration>
|
||||
<Configuration name="Debug">
|
||||
<Entry name="TechBot" configurationname="Debug" build="False" />
|
||||
<Entry name="TechBot.Library" configurationname="Debug" build="False" />
|
||||
<Entry name="CHMLibrary" configurationname="Debug" build="False" />
|
||||
<Entry name="Compression" configurationname="Debug" build="False" />
|
||||
<Entry name="TechBot.Console" configurationname="Debug" build="False" />
|
||||
<Entry name="TechBot.IRCLibrary" configurationname="Debug" build="False" />
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
</Combine>
|
@@ -13,6 +13,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TechBot.IRCLibrary", "TechB
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TechBot.Library", "TechBot.Library\TechBot.Library.csproj", "{1114F34D-F388-4F38-AE27-C0EE1B10B777}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TechBot.Commands.Common", "TechBot.Commands.Common\TechBot.Commands.Common.csproj", "{041B5F06-BF97-4981-B024-3A7B6DD9F6AE}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TechBot.Commands.MSDN", "TechBot.Commands.MSDN\TechBot.Commands.MSDN.csproj", "{ADBF1ED6-A586-4707-BD59-4CD53448D0FE}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TechBot.Commands.RBuild", "TechBot.Commands.RBuild\TechBot.Commands.RBuild.csproj", "{D676FEDE-62DD-4B4D-94C6-308598E827F9}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@@ -43,6 +49,18 @@ Global
|
||||
{1114F34D-F388-4F38-AE27-C0EE1B10B777}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1114F34D-F388-4F38-AE27-C0EE1B10B777}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1114F34D-F388-4F38-AE27-C0EE1B10B777}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{041B5F06-BF97-4981-B024-3A7B6DD9F6AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{041B5F06-BF97-4981-B024-3A7B6DD9F6AE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{041B5F06-BF97-4981-B024-3A7B6DD9F6AE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{041B5F06-BF97-4981-B024-3A7B6DD9F6AE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{ADBF1ED6-A586-4707-BD59-4CD53448D0FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{ADBF1ED6-A586-4707-BD59-4CD53448D0FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{ADBF1ED6-A586-4707-BD59-4CD53448D0FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{ADBF1ED6-A586-4707-BD59-4CD53448D0FE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D676FEDE-62DD-4B4D-94C6-308598E827F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D676FEDE-62DD-4B4D-94C6-308598E827F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D676FEDE-62DD-4B4D-94C6-308598E827F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D676FEDE-62DD-4B4D-94C6-308598E827F9}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@@ -1,20 +1,44 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<appSettings>
|
||||
<add key="IRCServerHostName" value="irc.eu.freenode.net" />
|
||||
<add key="IRCServerHostPort" value="6667" />
|
||||
<add key="IRCChannelNames" value="channel1;channel2" />
|
||||
<add key="IRCBotName" value="MyBot" />
|
||||
<add key="IRCBotPassword" value="MyPassword" />
|
||||
<add key="ChmPath" value="C:\IRC\TechBot\CHM" />
|
||||
<add key="MainChm" value="kmarch.chm" />
|
||||
<add key="NtstatusXml" value="C:\IRC\TechBot\ntstatus.xml" />
|
||||
<add key="WinerrorXml" value="C:\IRC\TechBot\winerror.xml" />
|
||||
<add key="HresultXml" value="C:\IRC\TechBot\hresult.xml" />
|
||||
<add key="WmXml" value="C:\IRC\TechBot\wm.xml" />
|
||||
<add key="SvnCommand" value="svn co svn://svn.reactos.org/trunk/reactos" />
|
||||
<add key="BugUrl" value="http://www.reactos.org/bugzilla/show_bug.cgi?id={0}" />
|
||||
<add key="WineBugUrl" value="http://bugs.winehq.org/show_bug.cgi?id={0}" />
|
||||
<add key="SambaBugUrl" value="https://bugzilla.samba.org/show_bug.cgi?id={0}" />
|
||||
</appSettings>
|
||||
</configuration>
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
|
||||
<section name="TechBot.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<appSettings>
|
||||
<add key="IRCServerHostName" value="irc.eu.freenode.net" />
|
||||
<add key="IRCServerHostPort" value="6667" />
|
||||
<add key="IRCChannelNames" value="channel1;channel2" />
|
||||
<add key="IRCBotName" value="MyBot" />
|
||||
<add key="IRCBotPassword" value="MyPassword" />
|
||||
<add key="ChmPath" value="C:\IRC\TechBot\CHM" />
|
||||
<add key="MainChm" value="kmarch.chm" />
|
||||
<add key="NtstatusXml" value="C:\IRC\TechBot\ntstatus.xml" />
|
||||
<add key="WinerrorXml" value="C:\IRC\TechBot\winerror.xml" />
|
||||
<add key="HresultXml" value="C:\IRC\TechBot\hresult.xml" />
|
||||
<add key="WmXml" value="C:\IRC\TechBot\wm.xml" />
|
||||
<add key="SvnCommand" value="svn co svn://svn.reactos.org/trunk/reactos" />
|
||||
<add key="BugUrl" value="http://www.reactos.org/bugzilla/show_bug.cgi?id={0}" />
|
||||
<add key="WineBugUrl" value="http://bugs.winehq.org/show_bug.cgi?id={0}" />
|
||||
<add key="SambaBugUrl" value="https://bugzilla.samba.org/show_bug.cgi?id={0}" />
|
||||
</appSettings>
|
||||
<userSettings>
|
||||
<TechBot.Settings>
|
||||
<setting name="IRCServerHostName" serializeAs="String">
|
||||
<value>irc.eu.freenode.net</value>
|
||||
</setting>
|
||||
<setting name="IRCChannelNames" serializeAs="String">
|
||||
<value>rbuildbottest</value>
|
||||
</setting>
|
||||
<setting name="IRCBotName" serializeAs="String">
|
||||
<value>RBuildBot</value>
|
||||
</setting>
|
||||
<setting name="IRCBotPassword" serializeAs="String">
|
||||
<value>qwerty</value>
|
||||
</setting>
|
||||
<setting name="IRCServerHostPort" serializeAs="String">
|
||||
<value>6667</value>
|
||||
</setting>
|
||||
</TechBot.Settings>
|
||||
</userSettings>
|
||||
</configuration>
|
||||
|
28
irc/TechBot/TechBot/ProjectInstaller.cs
Normal file
28
irc/TechBot/TechBot/ProjectInstaller.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.ServiceProcess;
|
||||
using System.Configuration.Install;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace TechBot
|
||||
{
|
||||
[RunInstaller(true)]
|
||||
public class ProjectInstaller : Installer
|
||||
{
|
||||
public ProjectInstaller()
|
||||
{
|
||||
ServiceProcessInstaller spi = null;
|
||||
ServiceInstaller si = null;
|
||||
|
||||
spi = new ServiceProcessInstaller();
|
||||
spi.Account = ServiceAccount.LocalSystem;
|
||||
|
||||
si = new ServiceInstaller();
|
||||
si.ServiceName = "TechBot";
|
||||
si.StartType = ServiceStartMode.Automatic;
|
||||
|
||||
Installers.AddRange(new Installer[] { spi, si });
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,84 +1,43 @@
|
||||
using System;
|
||||
using System.Configuration;
|
||||
using System.Diagnostics;
|
||||
using TechBot.Library;
|
||||
|
||||
namespace TechBot
|
||||
{
|
||||
public class ServiceThread
|
||||
{
|
||||
private string IRCServerHostName;
|
||||
private int IRCServerHostPort;
|
||||
private string IRCChannelNames;
|
||||
private string IRCBotName;
|
||||
private string IRCBotPassword;
|
||||
private string ChmPath;
|
||||
private string MainChm;
|
||||
private string NtstatusXml;
|
||||
private string HresultXml;
|
||||
private string WmXml;
|
||||
private string WinerrorXml;
|
||||
private string SvnCommand;
|
||||
private string BugUrl, WineBugUrl, SambaBugUrl;
|
||||
private EventLog eventLog;
|
||||
|
||||
public ServiceThread(EventLog eventLog)
|
||||
{
|
||||
this.eventLog = eventLog;
|
||||
}
|
||||
|
||||
private void SetupConfiguration()
|
||||
{
|
||||
IRCServerHostName = ConfigurationSettings.AppSettings["IRCServerHostName"];
|
||||
IRCServerHostPort = Int32.Parse(ConfigurationSettings.AppSettings["IRCServerHostPort"]);
|
||||
IRCChannelNames = ConfigurationSettings.AppSettings["IRCChannelNames"];
|
||||
IRCBotName = ConfigurationSettings.AppSettings["IRCBotName"];
|
||||
IRCBotPassword = ConfigurationSettings.AppSettings["IRCBotPassword"];
|
||||
ChmPath = ConfigurationSettings.AppSettings["ChmPath"];
|
||||
MainChm = ConfigurationSettings.AppSettings["MainChm"];
|
||||
NtstatusXml = ConfigurationSettings.AppSettings["NtstatusXml"];
|
||||
HresultXml = ConfigurationSettings.AppSettings["HresultXml"];
|
||||
WmXml = ConfigurationSettings.AppSettings["WmXml"];
|
||||
WinerrorXml = ConfigurationSettings.AppSettings["WinerrorXml"];
|
||||
SvnCommand = ConfigurationSettings.AppSettings["SvnCommand"];
|
||||
BugUrl = ConfigurationSettings.AppSettings["BugUrl"];
|
||||
WineBugUrl = ConfigurationSettings.AppSettings["WineBugUrl"];
|
||||
SambaBugUrl = ConfigurationSettings.AppSettings["SambaBugUrl"];
|
||||
}
|
||||
|
||||
public void Run()
|
||||
{
|
||||
SetupConfiguration();
|
||||
System.Console.WriteLine("TechBot irc service...");
|
||||
|
||||
IrcService ircService = new IrcService(IRCServerHostName,
|
||||
IRCServerHostPort,
|
||||
IRCChannelNames,
|
||||
IRCBotName,
|
||||
IRCBotPassword,
|
||||
ChmPath,
|
||||
MainChm,
|
||||
//NtstatusXml,
|
||||
//WinerrorXml,
|
||||
//HresultXml,
|
||||
//WmXml,
|
||||
//SvnCommand,
|
||||
BugUrl,
|
||||
WineBugUrl,
|
||||
SambaBugUrl);
|
||||
ircService.Run();
|
||||
}
|
||||
|
||||
public void Start()
|
||||
{
|
||||
try
|
||||
{
|
||||
Run();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
eventLog.WriteEntry(String.Format("Ex. {0}", ex));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Configuration;
|
||||
using System.Diagnostics;
|
||||
using TechBot.Library;
|
||||
|
||||
namespace TechBot
|
||||
{
|
||||
public class ServiceThread
|
||||
{
|
||||
private EventLog m_EventLog;
|
||||
|
||||
public ServiceThread(EventLog eventLog)
|
||||
{
|
||||
m_EventLog = eventLog;
|
||||
}
|
||||
|
||||
public void Run()
|
||||
{
|
||||
System.Console.WriteLine("TechBot irc service...");
|
||||
|
||||
IrcTechBotService ircService = new IrcTechBotService(
|
||||
Settings.Default.IRCServerHostName,
|
||||
Settings.Default.IRCServerHostPort,
|
||||
Settings.Default.IRCChannelNames,
|
||||
Settings.Default.IRCBotName,
|
||||
Settings.Default.IRCBotPassword);
|
||||
|
||||
ircService.Run();
|
||||
}
|
||||
|
||||
public void Start()
|
||||
{
|
||||
try
|
||||
{
|
||||
Run();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
m_EventLog.WriteEntry(String.Format("Ex. {0}", ex));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
86
irc/TechBot/TechBot/Settings.Designer.cs
generated
Normal file
86
irc/TechBot/TechBot/Settings.Designer.cs
generated
Normal file
@@ -0,0 +1,86 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.1433
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace TechBot {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("irc.eu.freenode.net")]
|
||||
public string IRCServerHostName {
|
||||
get {
|
||||
return ((string)(this["IRCServerHostName"]));
|
||||
}
|
||||
set {
|
||||
this["IRCServerHostName"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("rbuildbottest")]
|
||||
public string IRCChannelNames {
|
||||
get {
|
||||
return ((string)(this["IRCChannelNames"]));
|
||||
}
|
||||
set {
|
||||
this["IRCChannelNames"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("RBuildBot")]
|
||||
public string IRCBotName {
|
||||
get {
|
||||
return ((string)(this["IRCBotName"]));
|
||||
}
|
||||
set {
|
||||
this["IRCBotName"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("qwerty")]
|
||||
public string IRCBotPassword {
|
||||
get {
|
||||
return ((string)(this["IRCBotPassword"]));
|
||||
}
|
||||
set {
|
||||
this["IRCBotPassword"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("6667")]
|
||||
public int IRCServerHostPort {
|
||||
get {
|
||||
return ((int)(this["IRCServerHostPort"]));
|
||||
}
|
||||
set {
|
||||
this["IRCServerHostPort"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
21
irc/TechBot/TechBot/Settings.settings
Normal file
21
irc/TechBot/TechBot/Settings.settings
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="TechBot" GeneratedClassName="Settings">
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="IRCServerHostName" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">irc.eu.freenode.net</Value>
|
||||
</Setting>
|
||||
<Setting Name="IRCChannelNames" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">rbuildbottest</Value>
|
||||
</Setting>
|
||||
<Setting Name="IRCBotName" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">RBuildBot</Value>
|
||||
</Setting>
|
||||
<Setting Name="IRCBotPassword" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">qwerty</Value>
|
||||
</Setting>
|
||||
<Setting Name="IRCServerHostPort" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">6667</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
@@ -39,10 +39,22 @@
|
||||
-->
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
<None Include="Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="AssemblyInfo.cs" />
|
||||
<Compile Include="ProjectInstaller.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ServiceThread.cs" />
|
||||
<Compile Include="Settings.Designer.cs">
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<Compile Include="TechBotService.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
@@ -52,6 +64,7 @@
|
||||
<Reference Include="System.Configuration.Install" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.ServiceProcess" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\TechBot.IRCLibrary\TechBot.IRCLibrary.csproj">
|
||||
|
@@ -9,7 +9,7 @@ using System.Configuration.Install;
|
||||
|
||||
namespace TechBot
|
||||
{
|
||||
public class TechBotService : System.ServiceProcess.ServiceBase
|
||||
public class TechBotService : ServiceBase
|
||||
{
|
||||
private Thread thread;
|
||||
private ServiceThread threadWorker;
|
||||
@@ -80,18 +80,3 @@ namespace TechBot
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[RunInstaller(true)]
|
||||
public class ProjectInstaller : Installer
|
||||
{
|
||||
public ProjectInstaller()
|
||||
{
|
||||
ServiceProcessInstaller spi = new ServiceProcessInstaller();
|
||||
spi.Account = ServiceAccount.LocalSystem;
|
||||
|
||||
ServiceInstaller si = new ServiceInstaller();
|
||||
si.ServiceName = "TechBot";
|
||||
si.StartType = ServiceStartMode.Automatic;
|
||||
Installers.AddRange(new Installer[] {spi, si});
|
||||
}
|
||||
}
|
||||
|
@@ -29,11 +29,12 @@ Hartmut Birr <hartmut.birr@gmx.de>
|
||||
Hernan Ochoa
|
||||
Herve Poussineau <hpoussin@reactos.com>
|
||||
Iwan Fatahi <i_fatahi@hotmail.com>
|
||||
James B. Tabor <jimtabor@adsl-64-217-116-74.dsl.hstntx.swbell.net>
|
||||
James B. Tabor <jimtabor.rosdev@gmail.com> <jimtabor@adsl-64-217-116-74.dsl.hstntx.swbell.net>
|
||||
Jason Eager
|
||||
Jason Filby <jasonfilby@yahoo.com>
|
||||
Jason Weiler
|
||||
Jean Michault
|
||||
Jeffrey Morlan <mrnobo1024@yahoo.com>
|
||||
Jim Noeth
|
||||
Johannes Anderwald <johannes.anderwald@student.tugraz.at>
|
||||
Jonathan Wilson <jonwil@tpgi.com.au>
|
||||
@@ -59,6 +60,7 @@ Robert Bergkvist <fragdance@hotmail.com>
|
||||
Robert Dickenson <robd@reactos.org>
|
||||
Royce Mitchell III <royce3@ev1.net>
|
||||
Saveliy Tretiakov <saveliyt@mail.ru>
|
||||
Stefan Ginsberg <stefan__100__@hotmail.com>
|
||||
Steven Edwards <steven_ed4153@yahoo.com>
|
||||
Thomas Weidenmueller <w3seek@users.sourceforge.net>
|
||||
Timo Kreuzer <timo.kreuzer@reactos.org>
|
||||
|
131
reactos/Makefile
131
reactos/Makefile
@@ -126,6 +126,9 @@
|
||||
# ROS_AUTOMAKE
|
||||
# Alternate name of makefile.auto
|
||||
#
|
||||
# ROS_BUILDENGINE
|
||||
# The Build engine to be used. The variable defaults to rbuild (RBUILD_TARGET)
|
||||
#
|
||||
|
||||
# check for versions of make that don't have features we need...
|
||||
# the function "eval" is only available in 3.80+, which happens to be the minimum
|
||||
@@ -386,7 +389,6 @@ BUILDNO_H = $(INTERMEDIATE_)include$(SEP)reactos$(SEP)buildno.h
|
||||
|
||||
include lib/lib.mak
|
||||
include tools/tools.mak
|
||||
include boot/freeldr/bootsect/bootsect.mak
|
||||
-include $(ROS_AUTOMAKE)
|
||||
|
||||
PREAUTO := \
|
||||
@@ -395,14 +397,19 @@ PREAUTO := \
|
||||
$(BUILDNO_H) \
|
||||
$(GENDIB_DIB_FILES) \
|
||||
$(NCI_SERVICE_FILES)
|
||||
|
||||
ifeq ($(ARCH),powerpc)
|
||||
PREAUTO += $(OFW_INTERFACE_SERVICE_FILES) $(PPCMMU_TARGETS)
|
||||
endif
|
||||
|
||||
$(ROS_AUTOMAKE): $(RBUILD_TARGET) $(XMLBUILDFILES) | $(PREAUTO)
|
||||
ifeq ($(ROS_BUILDENGINE),)
|
||||
ROS_BUILDENGINE=$(RBUILD_TARGET)
|
||||
endif
|
||||
|
||||
$(ROS_AUTOMAKE): $(ROS_BUILDENGINE) $(XMLBUILDFILES) | $(PREAUTO)
|
||||
${mkdir} $(OUTPUT_)media$(SEP)inf 2>$(NUL)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) mingw
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) mingw
|
||||
|
||||
world: all bootcd livecd
|
||||
|
||||
@@ -435,143 +442,143 @@ rgenstat: $(RGENSTAT_TARGET)
|
||||
$(Q)$(RGENSTAT_TARGET) apistatus.lst apistatus.xml
|
||||
|
||||
.PHONY: cb
|
||||
cb: $(RBUILD_TARGET)
|
||||
cb: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) cb
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) cb
|
||||
|
||||
.PHONY: msbuild
|
||||
msbuild: $(RBUILD_TARGET)
|
||||
msbuild: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) msbuild
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) msbuild
|
||||
|
||||
.PHONY: msbuild_clean
|
||||
msbuild_clean: $(RBUILD_TARGET)
|
||||
msbuild_clean: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c msbuild
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c msbuild
|
||||
|
||||
.PHONY: depmap
|
||||
depmap: $(RBUILD_TARGET)
|
||||
depmap: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) depmap
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) depmap
|
||||
|
||||
.PHONY: vreport
|
||||
vreport:$(RBUILD_TARGET)
|
||||
vreport:$(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) vreport
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) vreport
|
||||
|
||||
.PHONY: msvc
|
||||
msvc: $(RBUILD_TARGET)
|
||||
msvc: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) msvc
|
||||
|
||||
.PHONY: msvc6
|
||||
msvc6: $(RBUILD_TARGET)
|
||||
msvc6: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs6.00 -voversionconfiguration msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs6.00 -voversionconfiguration msvc
|
||||
|
||||
.PHONY: msvc7
|
||||
msvc7: $(RBUILD_TARGET)
|
||||
msvc7: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.00 -voversionconfiguration msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.00 -voversionconfiguration msvc
|
||||
|
||||
.PHONY: msvc71
|
||||
msvc71: $(RBUILD_TARGET)
|
||||
msvc71: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.10 -voversionconfiguration msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.10 -voversionconfiguration msvc
|
||||
|
||||
.PHONY: msvc8
|
||||
msvc8: $(RBUILD_TARGET)
|
||||
msvc8: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs8.00 -voversionconfiguration msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs8.00 -voversionconfiguration msvc
|
||||
|
||||
.PHONY: msvc9
|
||||
msvc9: $(RBUILD_TARGET)
|
||||
msvc9: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs9.00 -voversionconfiguration msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs9.00 -voversionconfiguration msvc
|
||||
|
||||
.PHONY: msvc6_clean
|
||||
msvc6_clean: $(RBUILD_TARGET)
|
||||
msvc6_clean: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs6.00 -voversionconfiguration msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs6.00 -voversionconfiguration msvc
|
||||
|
||||
.PHONY: msvc7_clean
|
||||
msvc7_clean: $(RBUILD_TARGET)
|
||||
msvc7_clean: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs7.00 -voversionconfiguration msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs7.00 -voversionconfiguration msvc
|
||||
|
||||
.PHONY: msvc71_clean
|
||||
msvc71_clean: $(RBUILD_TARGET)
|
||||
msvc71_clean: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs7.10 -voversionconfiguration msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs7.10 -voversionconfiguration msvc
|
||||
|
||||
.PHONY: msvc8_clean
|
||||
msvc8_clean: $(RBUILD_TARGET)
|
||||
msvc8_clean: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs8.00 -voversionconfiguration msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs8.00 -voversionconfiguration msvc
|
||||
|
||||
.PHONY: msvc9_clean
|
||||
msvc9_clean: $(RBUILD_TARGET)
|
||||
msvc9_clean: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs9.00 -voversionconfiguration msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs9.00 -voversionconfiguration msvc
|
||||
|
||||
.PHONY: msvc_clean
|
||||
msvc_clean: $(RBUILD_TARGET)
|
||||
msvc_clean: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c msvc
|
||||
|
||||
.PHONY: msvc_clean_all
|
||||
msvc_clean_all: $(RBUILD_TARGET)
|
||||
msvc_clean_all: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs6.00 -voversionconfiguration msvc
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs7.00 -voversionconfiguration msvc
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs7.10 -voversionconfiguration msvc
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs8.10 -voversionconfiguration msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs6.00 -voversionconfiguration msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs7.00 -voversionconfiguration msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs7.10 -voversionconfiguration msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs8.10 -voversionconfiguration msvc
|
||||
|
||||
.PHONY: msvc7_install_debug
|
||||
msvc7_install_debug: $(RBUILD_TARGET)
|
||||
msvc7_install_debug: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.00 -vcdebug -voversionconfiguration msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.00 -vcdebug -voversionconfiguration msvc
|
||||
|
||||
.PHONY: msvc7_install_release
|
||||
msvc7_install_release: $(RBUILD_TARGET)
|
||||
msvc7_install_release: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.00 -vcrelease -voversionconfiguration msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.00 -vcrelease -voversionconfiguration msvc
|
||||
|
||||
.PHONY: msvc7_install_speed
|
||||
msvc7_install_speed: $(RBUILD_TARGET)
|
||||
msvc7_install_speed: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.00 -vcspeed -voversionconfiguration msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.00 -vcspeed -voversionconfiguration msvc
|
||||
|
||||
.PHONY: msvc71_install_debug
|
||||
msvc71_install_debug: $(RBUILD_TARGET)
|
||||
msvc71_install_debug: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.10 -vcdebug -voversionconfiguration msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.10 -vcdebug -voversionconfiguration msvc
|
||||
|
||||
.PHONY: msvc71_install_release
|
||||
msvc71_install_release: $(RBUILD_TARGET)
|
||||
msvc71_install_release: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.10 -vcrelease -voversionconfiguration msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.10 -vcrelease -voversionconfiguration msvc
|
||||
|
||||
|
||||
.PHONY: msvc71_install_speed
|
||||
msvc71_install_speed: $(RBUILD_TARGET)
|
||||
msvc71_install_speed: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.10 -vcspeed -voversionconfiguration msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.10 -vcspeed -voversionconfiguration msvc
|
||||
|
||||
.PHONY: msvc8_install_debug
|
||||
msvc8_install_debug: $(RBUILD_TARGET)
|
||||
msvc8_install_debug: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs8.00 -vcdebug -voversionconfiguration msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs8.00 -vcdebug -voversionconfiguration msvc
|
||||
|
||||
.PHONY: msvc8_install_release
|
||||
msvc8_install_release: $(RBUILD_TARGET)
|
||||
msvc8_install_release: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs8.00 -vcrelease -voversionconfiguration msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs8.00 -vcrelease -voversionconfiguration msvc
|
||||
|
||||
.PHONY: msvc8_install_speed
|
||||
msvc8_install_speed: $(RBUILD_TARGET)
|
||||
msvc8_install_speed: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs8.00 -vcspeed -voversionconfiguration msvc
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs8.00 -vcspeed -voversionconfiguration msvc
|
||||
|
||||
.PHONY: makefile_auto_clean
|
||||
makefile_auto_clean:
|
||||
@@ -581,6 +588,6 @@ makefile_auto_clean:
|
||||
clean: makefile_auto_clean
|
||||
|
||||
.PHONY: depends
|
||||
depends: $(RBUILD_TARGET)
|
||||
depends: $(ROS_BUILDENGINE)
|
||||
$(ECHO_RBUILD)
|
||||
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) mingw
|
||||
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) mingw
|
||||
|
@@ -7,14 +7,47 @@
|
||||
</xi:fallback>
|
||||
</xi:include>
|
||||
|
||||
<xi:include href="ReactOS-generic.rbuild" />
|
||||
<xi:include href="baseaddress.rbuild" />
|
||||
|
||||
<define name="__REACTOS__" />
|
||||
<define name="_ARM_" />
|
||||
<define name="__arm__" />
|
||||
|
||||
<if property="DBG" value="1">
|
||||
<define name="DBG">1</define>
|
||||
<define name="_SEH_ENABLE_TRACE" />
|
||||
<property name="DBG_OR_KDBG" value="true" />
|
||||
</if>
|
||||
<if property="KDBG" value="1">
|
||||
<define name="KDBG">1</define>
|
||||
<property name="DBG_OR_KDBG" value="true" />
|
||||
</if>
|
||||
|
||||
<include>.</include>
|
||||
<include>include</include>
|
||||
<include root="intermediate">include</include>
|
||||
<include>include/psdk</include>
|
||||
<include root="intermediate">include/psdk</include>
|
||||
<include>include/dxsdk</include>
|
||||
<include root="intermediate">include/dxsdk</include>
|
||||
<include>include/crt</include>
|
||||
<include>include/crt/mingw32</include>
|
||||
<include>include/ddk</include>
|
||||
<include>include/GL</include>
|
||||
<include>include/ndk</include>
|
||||
<include>include/reactos</include>
|
||||
<include root="intermediate">include/reactos</include>
|
||||
<include root="intermediate">include/reactos/mc</include>
|
||||
<include>include/reactos/libs</include>
|
||||
<include>include/reactos/arm</include>
|
||||
|
||||
<property name="WINEBUILD_FLAGS" value="--kill-at"/>
|
||||
<property name="NTOSKRNL_SHARED" value="-Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -shared"/>
|
||||
|
||||
<if property="SARCH" value="versatile">
|
||||
<define name="BOARD_CONFIG_VERSATILE"/>
|
||||
</if>
|
||||
|
||||
<if property="OPTIMIZE" value="1">
|
||||
<compilerflag>-Os</compilerflag>
|
||||
<compilerflag>-ftracer</compilerflag>
|
||||
@@ -37,4 +70,124 @@
|
||||
<linkerflag>-s</linkerflag>
|
||||
<linkerflag>-lgcc</linkerflag>
|
||||
<linkerflag>-static</linkerflag>
|
||||
|
||||
<directory name="media">
|
||||
<directory name="nls">
|
||||
<xi:include href="media/nls/nls.rbuild" />
|
||||
</directory>
|
||||
</directory>
|
||||
<directory name="lib">
|
||||
<directory name="drivers">
|
||||
<directory name="csq">
|
||||
<xi:include href="lib/drivers/csq/csq.rbuild" />
|
||||
</directory>
|
||||
</directory>
|
||||
<directory name="debugsup">
|
||||
<xi:include href="lib/debugsup/debugsup.rbuild" />
|
||||
</directory>
|
||||
<directory name="3rdparty">
|
||||
<directory name="zlib">
|
||||
<xi:include href="lib/3rdparty/zlib/zlib.rbuild" />
|
||||
</directory>
|
||||
</directory>
|
||||
<directory name="rtl">
|
||||
<xi:include href="lib/rtl/rtl.rbuild" />
|
||||
</directory>
|
||||
<directory name="host">
|
||||
<directory name="wcsfuncs">
|
||||
<xi:include href="lib/host/wcsfuncs/wcsfuncs.rbuild" />
|
||||
</directory>
|
||||
</directory>
|
||||
<directory name="inflib">
|
||||
<xi:include href="lib/inflib/inflib.rbuild" />
|
||||
</directory>
|
||||
<directory name="cmlib">
|
||||
<xi:include href="lib/cmlib/cmlib.rbuild" />
|
||||
</directory>
|
||||
<directory name="pseh">
|
||||
<xi:include href="lib/pseh/pseh.rbuild" />
|
||||
</directory>
|
||||
<directory name="rossym">
|
||||
<xi:include href="lib/rossym/rossym.rbuild" />
|
||||
</directory>
|
||||
<directory name="sdk">
|
||||
<directory name="crt">
|
||||
<xi:include href="lib/sdk/crt/crt.rbuild" />
|
||||
<xi:include href="lib/sdk/crt/libcntpr.rbuild" />
|
||||
</directory>
|
||||
<directory name="wdmguid">
|
||||
<xi:include href="lib/sdk/wdmguid/wdmguid.rbuild" />
|
||||
</directory>
|
||||
</directory>
|
||||
</directory>
|
||||
<directory name="include">
|
||||
<xi:include href="include/directory.rbuild" />
|
||||
</directory>
|
||||
<directory name="tools">
|
||||
<xi:include href="tools/tools.rbuild" />
|
||||
</directory>
|
||||
<directory name="ntoskrnl">
|
||||
<xi:include href="ntoskrnl/ntoskrnl.rbuild" />
|
||||
</directory>
|
||||
<directory name="hal">
|
||||
<directory name="halarm">
|
||||
<directory name="generic">
|
||||
<xi:include href="hal/halarm/generic/generic.rbuild" />
|
||||
</directory>
|
||||
<directory name="up">
|
||||
<xi:include href="hal/halarm/up/halup.rbuild" />
|
||||
</directory>
|
||||
</directory>
|
||||
<directory name="hal">
|
||||
<xi:include href="hal/hal/hal.rbuild" />
|
||||
</directory>
|
||||
</directory>
|
||||
<directory name="boot">
|
||||
<xi:include href="boot/boot.rbuild" />
|
||||
</directory>
|
||||
<directory name="drivers">
|
||||
<directory name="storage">
|
||||
<directory name="scsiport">
|
||||
<xi:include href="drivers/storage/scsiport/scsiport.rbuild" />
|
||||
</directory>
|
||||
<directory name="port">
|
||||
<directory name="buslogic">
|
||||
<xi:include href="drivers/storage/port/buslogic/buslogic.rbuild" />
|
||||
</directory>
|
||||
</directory>
|
||||
<directory name="ide">
|
||||
<directory name="atapi">
|
||||
<xi:include href="drivers/storage/ide/atapi/atapi.rbuild" />
|
||||
</directory>
|
||||
</directory>
|
||||
<directory name="class">
|
||||
<directory name="class2">
|
||||
<xi:include href="drivers/storage/class/class2/class2.rbuild" />
|
||||
</directory>
|
||||
<directory name="disk">
|
||||
<xi:include href="drivers/storage/class/disk/disk.rbuild" />
|
||||
</directory>
|
||||
</directory>
|
||||
</directory>
|
||||
<directory name="filesystems">
|
||||
<directory name="fastfat">
|
||||
<xi:include href="drivers/filesystems/fastfat/vfatfs.rbuild" />
|
||||
</directory>
|
||||
</directory>
|
||||
<directory name="network">
|
||||
<directory name="ndis">
|
||||
<xi:include href="drivers/network/ndis/ndis.rbuild" />
|
||||
</directory>
|
||||
</directory>
|
||||
<directory name="base">
|
||||
<directory name="kdcom">
|
||||
<xi:include href="drivers/base/kdcom/kdcom.rbuild" />
|
||||
</directory>
|
||||
<directory name="bootvid">
|
||||
<xi:include href="drivers/base/bootvid/bootvid.rbuild" />
|
||||
</directory>
|
||||
</directory>
|
||||
</directory>
|
||||
|
||||
|
||||
</project>
|
||||
|
@@ -3,7 +3,7 @@
|
||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<xi:include href="baseaddress.rbuild" />
|
||||
|
||||
<define name="__REACTOS__" overridable="true" />
|
||||
<define name="__REACTOS__" />
|
||||
<if property="DBG" value="1">
|
||||
<define name="DBG">1</define>
|
||||
<define name="_SEH_ENABLE_TRACE" />
|
||||
@@ -28,6 +28,7 @@
|
||||
<include>include/ndk</include>
|
||||
<include>include/reactos</include>
|
||||
<include root="intermediate">include/reactos</include>
|
||||
<include root="intermediate">include/reactos/mc</include>
|
||||
<include>include/reactos/libs</include>
|
||||
|
||||
<directory name="base">
|
||||
@@ -57,6 +58,9 @@
|
||||
<directory name="modules">
|
||||
<xi:include href="modules/directory.rbuild" />
|
||||
</directory>
|
||||
<!--<directory name="nls">
|
||||
<xi:include href="nls/nls.rbuild" />
|
||||
</directory>-->
|
||||
<directory name="ntoskrnl">
|
||||
<xi:include href="ntoskrnl/ntoskrnl.rbuild" />
|
||||
<!-- <xi:include href="ntoskrnl/ntkrnlmp.rbuild" /> -->
|
||||
|
@@ -25,6 +25,11 @@
|
||||
<directory name="hh">
|
||||
<xi:include href="hh/hh.rbuild" />
|
||||
</directory>
|
||||
<!--
|
||||
<directory name="iexplore">
|
||||
<xi:include href="iexplore/iexplore.rbuild" />
|
||||
</directory>
|
||||
-->
|
||||
<directory name="kbswitch">
|
||||
<xi:include href="kbswitch/kbswitch.rbuild" />
|
||||
</directory>
|
||||
@@ -49,6 +54,9 @@
|
||||
<directory name="regedit">
|
||||
<xi:include href="regedit/regedit.rbuild" />
|
||||
</directory>
|
||||
<directory name="regedt32">
|
||||
<xi:include href="regedt32/regedt32.rbuild" />
|
||||
</directory>
|
||||
<directory name="sc">
|
||||
<xi:include href="sc/sc.rbuild" />
|
||||
</directory>
|
||||
@@ -64,8 +72,8 @@
|
||||
<directory name="taskmgr">
|
||||
<xi:include href="taskmgr/taskmgr.rbuild" />
|
||||
</directory>
|
||||
<directory name="winhelp">
|
||||
<xi:include href="winhelp/winhelp.rbuild" />
|
||||
<directory name="winhlp32">
|
||||
<xi:include href="winhlp32/winhlp32.rbuild" />
|
||||
</directory>
|
||||
<directory name="wordpad">
|
||||
<xi:include href="wordpad/wordpad.rbuild" />
|
||||
|
@@ -10,7 +10,7 @@
|
||||
#include "lang/fr-FR.rc"
|
||||
#include "lang/id-ID.rc"
|
||||
#include "lang/it-IT.rc"
|
||||
#include "lang/ko-KO.rc"
|
||||
#include "lang/ko-KR.rc"
|
||||
#include "lang/nb-NO.rc"
|
||||
#include "lang/nl-NL.rc"
|
||||
#include "lang/pl-PL.rc"
|
||||
|
@@ -31,6 +31,12 @@
|
||||
#define IDC_STATIC ((DWORD)-1)
|
||||
#endif
|
||||
|
||||
#ifdef UNICODE
|
||||
#define CF_TCHAR CF_UNICODETEXT
|
||||
#else
|
||||
#define CF_TCHAR CF_TEXT
|
||||
#endif
|
||||
|
||||
#define CALC_VERSION TEXT("1.06")
|
||||
|
||||
/*#define USE_KEYBOARD_HOOK*/
|
||||
@@ -137,8 +143,8 @@ typedef struct {
|
||||
DWORD degr;
|
||||
DWORD action;
|
||||
HWND hStatWnd;
|
||||
char *Clipboard;
|
||||
char *ClipPtr;
|
||||
TCHAR *Clipboard;
|
||||
TCHAR *ClipPtr;
|
||||
unsigned int last_operator;
|
||||
unsigned int prev_operator;
|
||||
TCHAR sDecimal[8];
|
@@ -1,17 +1,16 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<module name="calc" type="win32gui" installbase="system32" installname="calc.exe">
|
||||
<module name="calc" type="win32gui" installbase="system32" installname="calc.exe" allowwarnings="true" unicode="yes">
|
||||
<include base="calc">.</include>
|
||||
<define name="_WIN32_IE">0x0501</define>
|
||||
<define name="WINVER">0x0501</define>
|
||||
<define name="UNICODE" />
|
||||
<define name="_UNICODE" />
|
||||
<library>kernel32</library>
|
||||
<define name="_WIN32_WINNT">0x0501</define>
|
||||
<library>user32</library>
|
||||
<library>gdi32</library>
|
||||
<library>comctl32</library>
|
||||
<file>dialog.c</file>
|
||||
<file>stats.c</file>
|
||||
<file>winecalc.c</file>
|
||||
<file>rsrc.rc</file>
|
||||
<library>kernel32</library>
|
||||
<file>about.c</file>
|
||||
<file>function.c</file>
|
||||
<file>rpn.c</file>
|
||||
<file>utl.c</file>
|
||||
<file>winmain.c</file>
|
||||
<file>resource.rc</file>
|
||||
</module>
|
||||
|
@@ -1,94 +0,0 @@
|
||||
/*
|
||||
* WineCalc (dialog.c)
|
||||
*
|
||||
* Copyright 2003 James Briggs
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
#include <tchar.h>
|
||||
#include "dialog.h"
|
||||
#include "resource.h"
|
||||
#include "winecalc.h"
|
||||
|
||||
extern HINSTANCE hInstance;
|
||||
|
||||
BOOL CALLBACK AboutDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam )
|
||||
{
|
||||
HDC hdc;
|
||||
PAINTSTRUCT ps;
|
||||
|
||||
switch( uMsg ) {
|
||||
|
||||
case WM_INITDIALOG:
|
||||
SendMessage (hDlg, WM_SETFONT, (UINT)GetStockObject(DEFAULT_GUI_FONT), TRUE);
|
||||
return TRUE;
|
||||
|
||||
case WM_COMMAND:
|
||||
switch(LOWORD(wParam)) {
|
||||
case IDOK:
|
||||
EndDialog( hDlg, 0 );
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_PAINT:
|
||||
{
|
||||
HDC hMemDC;
|
||||
HFONT hFont;
|
||||
HFONT hFontOrg;
|
||||
|
||||
TCHAR c1[CALC_BUF_SIZE];
|
||||
TCHAR c2[CALC_BUF_SIZE];
|
||||
TCHAR c3[CALC_BUF_SIZE];
|
||||
TCHAR c4[CALC_BUF_SIZE];
|
||||
TCHAR c5[CALC_BUF_SIZE];
|
||||
|
||||
hdc = BeginPaint( hDlg, &ps );
|
||||
|
||||
hMemDC = CreateCompatibleDC( hdc );
|
||||
|
||||
LoadString( hInstance, IDS_COPYRIGHT1, c1, sizeof(c1) / sizeof(c1[0]));
|
||||
LoadString( hInstance, IDS_COPYRIGHT2, c2, sizeof(c2) / sizeof(c2[0]));
|
||||
LoadString( hInstance, IDS_COPYRIGHT3, c3, sizeof(c3) / sizeof(c3[0]));
|
||||
LoadString( hInstance, IDS_COPYRIGHT4, c4, sizeof(c4) / sizeof(c4[0]));
|
||||
LoadString( hInstance, IDS_COPYRIGHT5, c5, sizeof(c5) / sizeof(c5[0]));
|
||||
|
||||
hFont = GetStockObject(DEFAULT_GUI_FONT);
|
||||
hFontOrg = SelectObject(hdc, hFont);
|
||||
|
||||
SetBkMode(hdc, TRANSPARENT);
|
||||
|
||||
TextOut(hdc, 10, 10, c1, (INT) _tcslen(c1));
|
||||
TextOut(hdc, 10, 35, c2, (INT) _tcslen(c2));
|
||||
TextOut(hdc, 10, 50, c3, (INT) _tcslen(c3));
|
||||
TextOut(hdc, 10, 75, c4, (INT) _tcslen(c4));
|
||||
TextOut(hdc, 10, 90, c5, (INT) _tcslen(c5));
|
||||
|
||||
SelectObject(hdc, hFontOrg);
|
||||
|
||||
DeleteDC( hMemDC );
|
||||
EndPaint( hDlg, &ps );
|
||||
|
||||
return 0;
|
||||
}
|
||||
case WM_CLOSE:
|
||||
EndDialog( hDlg, TRUE );
|
||||
return 0;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
@@ -1,151 +1,365 @@
|
||||
#include "winecalc.h"
|
||||
|
||||
LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
// Dialog
|
||||
|
||||
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 161
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
MENU IDR_MENU_SCIENTIFIC_1
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
IDS_APPNAME, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
|
||||
IDS_COPYRIGHT1, "Calculator 5.0. Licensed under LGPL 2"
|
||||
IDS_COPYRIGHT2 "Copyright 2003, James Briggs"
|
||||
IDS_COPYRIGHT3 "San Jose, California, USA"
|
||||
IDS_COPYRIGHT4 "james@ActionMessage.com"
|
||||
IDS_COPYRIGHT5 "http://www.ActionMessage.com/winecalc/"
|
||||
|
||||
IDS_BTN_BACKSPACE, "<-"
|
||||
IDS_BTN_CLEAR_ENTRY, "CE"
|
||||
IDS_BTN_CLEAR_ALL, "C"
|
||||
IDS_BTN_MEM_CLEAR, "MC"
|
||||
IDS_BTN_MEM_RECALL, "MR"
|
||||
IDS_BTN_MEM_STORE, "MS"
|
||||
IDS_BTN_MEM_PLUS, "M+"
|
||||
IDS_BTN_MEM_STATUS_M, "M"
|
||||
IDS_BTN_SQRT, "<22><><EFBFBD><EFBFBD><EFBFBD> 2"
|
||||
IDS_BTN_DEGREES, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
IDS_BTN_RADIANS, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
IDS_BTN_GRADS, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
IDS_BTN_SHRT_HEX "<22><><EFBFBD><EFBFBD>"
|
||||
IDS_BTN_SHRT_DEC "<22><><EFBFBD><EFBFBD>"
|
||||
IDS_BTN_SHRT_OCT "<22><><EFBFBD>"
|
||||
IDS_BTN_SHRT_BIN "<22><><EFBFBD><EFBFBD><EFBFBD>."
|
||||
IDS_ERR_INVALID_INPUT, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>."
|
||||
IDS_ERR_DIVIDE_BY_ZERO, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>."
|
||||
IDS_ERR_UNDEFINED, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>."
|
||||
GROUPBOX "",IDC_STATIC,4,16,132,21
|
||||
CONTROL "<22><><EFBFBD><EFBFBD>",IDC_RADIO_HEX,"Button",BS_AUTORADIOBUTTON,8,24,29,
|
||||
10
|
||||
CONTROL "<22><><EFBFBD><EFBFBD>",IDC_RADIO_DEC,"Button",BS_AUTORADIOBUTTON,40,24,29,
|
||||
10
|
||||
CONTROL "<22><><EFBFBD>",IDC_RADIO_OCT,"Button",BS_AUTORADIOBUTTON,72,24,27,
|
||||
10
|
||||
CONTROL "<22><><EFBFBD><EFBFBD><EFBFBD>",IDC_RADIO_BIN,"Button",BS_AUTORADIOBUTTON,100,24,
|
||||
26,10
|
||||
GROUPBOX "",IDC_STATIC,4,36,76,21
|
||||
CONTROL "<22><><EFBFBD>",IDC_CHECK_INV,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP,8,44,26,10
|
||||
CONTROL "<22><><EFBFBD>",IDC_CHECK_HYP,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP,40,44,29,10
|
||||
CTEXT "",IDC_TEXT_PARENT,84,40,24,17,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
CTEXT "",IDC_TEXT_MEMORY,112,40,24,17,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "<22><><EFBFBD><EFBFBD>",IDC_BUTTON_STA,4,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "<22><><EFBFBD><EFBFBD>",IDC_BUTTON_AVE,4,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "<22><><EFBFBD><EFBFBD>",IDC_BUTTON_SUM,4,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "s",IDC_BUTTON_S,4,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Dat",IDC_BUTTON_DAT,4,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "F-E",IDC_BUTTON_FE,38,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "<22><><EFBFBD>",IDC_BUTTON_DMS,38,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "<22><><EFBFBD>",IDC_BUTTON_SIN,38,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "<22><><EFBFBD>",IDC_BUTTON_COS,38,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "<22><><EFBFBD>",IDC_BUTTON_TAN,38,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "(",IDC_BUTTON_LEFTPAR,64,64,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "<22><><EFBFBD><EFBFBD>",IDC_BUTTON_EXP,64,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^y",IDC_BUTTON_XeY,64,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^2",IDC_BUTTON_Xe2,64,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^3",IDC_BUTTON_Xe3,64,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ")",IDC_BUTTON_RIGHTPAR,90,64,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "ln",IDC_BUTTON_LN,90,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "log",IDC_BUTTON_LOG,90,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "n!",IDC_BUTTON_NF,90,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1/x",IDC_BUTTON_RX,90,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MC",IDC_BUTTON_MC,124,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MR",IDC_BUTTON_MR,124,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MS",IDC_BUTTON_MS,124,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "M+",IDC_BUTTON_MP,124,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "<22><>",IDC_BUTTON_PI,124,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "7",IDC_BUTTON_7,158,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "4",IDC_BUTTON_4,158,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1",IDC_BUTTON_1,158,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "0",IDC_BUTTON_0,158,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "A",IDC_BUTTON_A,158,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "8",IDC_BUTTON_8,184,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "5",IDC_BUTTON_5,184,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "2",IDC_BUTTON_2,184,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+/-",IDC_BUTTON_SIGN,184,121,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "B",IDC_BUTTON_B,184,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "9",IDC_BUTTON_9,210,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "6",IDC_BUTTON_6,210,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "3",IDC_BUTTON_3,210,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ",",IDC_BUTTON_DOT,210,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "C",IDC_BUTTON_C,210,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "/",IDC_BUTTON_DIV,236,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "*",IDC_BUTTON_MULT,236,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "-",IDC_BUTTON_SUB,236,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+",IDC_BUTTON_ADD,236,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "D",IDC_BUTTON_D,236,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "<22><><EFBFBD>",IDC_BUTTON_MOD,262,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "<22><><EFBFBD>",IDC_BUTTON_OR,262,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "<22><><EFBFBD><EFBFBD>",IDC_BUTTON_LSH,262,102,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "=",IDC_BUTTON_EQU,262,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "E",IDC_BUTTON_E,262,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "<22>",IDC_BUTTON_AND,288,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "<22><><EFBFBD><EFBFBD>",IDC_BUTTON_XOR,288,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "<22><>",IDC_BUTTON_NOT,288,102,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "<22><><EFBFBD>",IDC_BUTTON_INT,288,121,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "<22><><EFBFBD><EFBFBD>",IDC_BUTTON_F,288,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
GROUPBOX "",IDC_STATIC,140,16,172,21
|
||||
CONTROL "Qword",IDC_RADIO_QWORD,"Button",BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE,148,24,37,10
|
||||
CONTROL "Dword",IDC_RADIO_DWORD,"Button",BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE,188,24,37,10
|
||||
CONTROL "Word",IDC_RADIO_WORD,"Button",BS_AUTORADIOBUTTON | NOT
|
||||
WS_VISIBLE,232,24,33,10
|
||||
CONTROL "<22><><EFBFBD><EFBFBD>",IDC_RADIO_BYTE,"Button",BS_AUTORADIOBUTTON | NOT
|
||||
WS_VISIBLE,272,24,30,10
|
||||
CONTROL "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",IDC_RADIO_DEG,"Button",BS_AUTORADIOBUTTON,148,24,
|
||||
42,10
|
||||
CONTROL "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",IDC_RADIO_RAD,"Button",BS_AUTORADIOBUTTON,192,
|
||||
24,42,10
|
||||
CONTROL "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",IDC_RADIO_GRAD,"Button",BS_AUTORADIOBUTTON,
|
||||
236,24,44,10
|
||||
PUSHBUTTON "C",IDC_BUTTON_CANC,272,40,40,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE",IDC_BUTTON_CE,228,40,40,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "<22><><EFBFBD><EFBFBD><EFBFBD>",IDC_BUTTON_BACK,184,40,40,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
RTEXT "",IDC_TEXT_OUTPUT,4,4,308,12,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
DEFPUSHBUTTON "",IDC_BUTTON_FOCUS,0,0,5,5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
MAIN_MENU MENU DISCARDABLE
|
||||
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 172, 127
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ctrl+C", IDM_COPY
|
||||
MENUITEM "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_MODE_STANDARD
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD>", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_ABOUT
|
||||
END
|
||||
PUSHBUTTON "C",IDC_BUTTON_CANC,128,24,40,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE",IDC_BUTTON_CE,84,24,40,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "<22><><EFBFBD><EFBFBD><EFBFBD>",IDC_BUTTON_BACK,40,24,40,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
RTEXT "",IDC_TEXT_OUTPUT,4,4,164,12,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "7",IDC_BUTTON_7,40,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "4",IDC_BUTTON_4,40,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1",IDC_BUTTON_1,40,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "0",IDC_BUTTON_0,40,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "8",IDC_BUTTON_8,66,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "5",IDC_BUTTON_5,66,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "2",IDC_BUTTON_2,66,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+/-",IDC_BUTTON_SIGN,66,105,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "9",IDC_BUTTON_9,92,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "6",IDC_BUTTON_6,92,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "3",IDC_BUTTON_3,92,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ",",IDC_BUTTON_DOT,92,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "/",IDC_BUTTON_DIV,118,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "*",IDC_BUTTON_MULT,118,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "-",IDC_BUTTON_SUB,118,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+",IDC_BUTTON_ADD,118,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Sqrt",IDC_BUTTON_SQRT,144,48,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "%",IDC_BUTTON_PERCENT,144,67,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1/x",IDC_BUTTON_RX,144,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "=",IDC_BUTTON_EQU,144,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
CTEXT "",IDC_TEXT_MEMORY,4,24,24,17,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "MC",IDC_BUTTON_MC,4,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MR",IDC_BUTTON_MR,4,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MS",IDC_BUTTON_MS,4,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "M+",IDC_BUTTON_MP,4,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
DEFPUSHBUTTON "",IDC_BUTTON_FOCUS,0,0,5,5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
SCIMS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ctrl+C", IDM_COPY
|
||||
MENUITEM "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_MODE_STANDARD
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF2", ID_CALC_MS_DEGREES
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF3", ID_CALC_MS_RADIANS
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF4", ID_CALC_MS_GRADS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD>", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIWS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ctrl+C", IDM_COPY
|
||||
MENUITEM "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_MODE_STANDARD
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD>\tF12", ID_CALC_WS_QWORD
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD>\tF2", ID_CALC_WS_DWORD
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD>\tF3", ID_CALC_WS_WORD
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD>\tF4", ID_CALC_WS_BYTE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD>", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
MAIN_MENU ACCELERATORS
|
||||
BEGIN
|
||||
VK_F1, IDV_HELP, VIRTKEY
|
||||
END
|
||||
|
||||
DLG_ABOUT DIALOGEX 12,0,175,90
|
||||
CAPTION "<22><> GNU winecalc"
|
||||
IDD_DIALOG_ABOUT DIALOGEX DISCARDABLE 0, 0, 264, 169
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "<22><> ReactOS Calc"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "<22><><EFBFBD><EFBFBD><EFBFBD>", IDOK, 73, 70, 30, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "<22><><EFBFBD><EFBFBD><EFBFBD>",IDOK,105,148,52,16
|
||||
CONTROL 106,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE |
|
||||
SS_REALSIZEIMAGE | WS_BORDER,4,4,104,48
|
||||
LTEXT "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",IDC_STATIC,120,12,132,8,
|
||||
SS_CENTERIMAGE
|
||||
LTEXT "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:",IDC_TEXT_VERSION,120,20,132,8,SS_CENTERIMAGE
|
||||
LTEXT "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> Carlo Bramini",IDC_STATIC,120,32,132,8,
|
||||
SS_CENTERIMAGE
|
||||
GROUPBOX "",IDC_STATIC,112,0,148,52
|
||||
GROUPBOX "",IDC_STATIC,4,56,256,88
|
||||
EDITTEXT IDC_EDIT_LICENSE,12,68,240,68,ES_MULTILINE | ES_READONLY |
|
||||
WS_VSCROLL
|
||||
END
|
||||
|
||||
WHATS_THIS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP ""
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>?", IDM_WHATS_THIS
|
||||
END
|
||||
END
|
||||
|
||||
DLG_STATS DIALOGEX 12,0,145,85
|
||||
CAPTION "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
IDD_DIALOG_STAT DIALOGEX DISCARDABLE 0, 0, 163, 85
|
||||
STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&RET", ID_STATS_RET, 4, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&LOAD", ID_STATS_LOAD, 39, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&CD" ID_STATS_CD, 74, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "C&AD", ID_STATS_CAD, 109, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
LISTBOX IDC_LIST_STAT,4,4,156,40,LBS_NOINTEGRALHEIGHT |
|
||||
WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "RET",IDC_BUTTON_RET,4,48,36,16
|
||||
PUSHBUTTON "LOAD",IDC_BUTTON_LOAD,44,48,36,16
|
||||
PUSHBUTTON "CD",IDC_BUTTON_CD,84,48,36,16
|
||||
PUSHBUTTON "CAD",IDC_BUTTON_CAD,124,48,36,16
|
||||
CTEXT "n=0",IDC_TEXT_NITEMS,4,68,156,12,SS_CENTERIMAGE |
|
||||
SS_SUNKEN
|
||||
END
|
||||
|
||||
|
||||
// Menus
|
||||
|
||||
IDR_MENU_SCIENTIFIC_1 MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tCTRL-C", IDM_EDIT_COPY
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tCTRL-V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_VIEW_STANDARD, CHECKED
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_VIEW_SCIENTIFIC, CHECKED
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF2", IDM_VIEW_DEG, CHECKED
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF3", IDM_VIEW_RAD, CHECKED
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF4", IDM_VIEW_GRAD, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "<22><><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD>", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><> ReactOS Calc", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_MENU_SCIENTIFIC_2 MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tCTRL-C", IDM_EDIT_COPY
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tCTRL-V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_VIEW_STANDARD, CHECKED
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_VIEW_SCIENTIFIC, CHECKED
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD>\tF12", IDM_VIEW_QWORD, CHECKED
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD>\tF2", IDM_VIEW_DWORD, CHECKED
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD>\tF3", IDM_VIEW_WORD, CHECKED
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD>\tF4", IDM_VIEW_BYTE, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "<22><><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD>", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><> ReactOS Calc", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_MENU_STANDARD MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tCTRL-C", IDM_EDIT_COPY
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tCTRL-V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_VIEW_STANDARD, CHECKED
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_VIEW_SCIENTIFIC, CHECKED
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "<22><><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD>", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><> ReactOS Calc", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
// String Tables
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_STRING_LICENSE "ReactOS Calc is free software released under GNU GPL license.\r\n\r\nYou can get a copy of GNU GPL license here:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nYou can also get a translation of GNU GPL license here:\r\nhttp://www.gnu.org/licenses/translations.html"
|
||||
IDS_MATH_ERROR "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
IDS_QUICKHELP "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>"
|
||||
END
|
||||
|
||||
|
@@ -1,172 +0,0 @@
|
||||
/*
|
||||
* WineCalc (En.rc)
|
||||
*
|
||||
* Copyright 2003 James Briggs
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include "windows.h"
|
||||
#include "resource.h"
|
||||
#include "winecalc.h"
|
||||
|
||||
LANGUAGE LANG_CATALAN, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APPNAME, "Calculadora"
|
||||
|
||||
IDS_COPYRIGHT1, "Calculadora 5.0. Sota llicenia LGPL 2"
|
||||
IDS_COPYRIGHT2 "Copyright 2003, James Briggs"
|
||||
IDS_COPYRIGHT3 "San Jose, California, USA"
|
||||
IDS_COPYRIGHT4 "james@ActionMessage.com"
|
||||
IDS_COPYRIGHT5 "http://www.ActionMessage.com/winecalc/"
|
||||
|
||||
IDS_BTN_BACKSPACE, "Retroc<6F>s"
|
||||
IDS_BTN_CLEAR_ENTRY, "CE"
|
||||
IDS_BTN_CLEAR_ALL, "C"
|
||||
IDS_BTN_MEM_CLEAR, "MC"
|
||||
IDS_BTN_MEM_RECALL, "MR"
|
||||
IDS_BTN_MEM_STORE, "MS"
|
||||
IDS_BTN_MEM_PLUS, "M+"
|
||||
IDS_BTN_MEM_STATUS_M, "M"
|
||||
IDS_BTN_SQRT, "sqrt"
|
||||
IDS_BTN_DEGREES, "Sexagesimal"
|
||||
IDS_BTN_RADIANS, "Radiant"
|
||||
IDS_BTN_GRADS, "Graus"
|
||||
IDS_BTN_SHRT_HEX "Hex"
|
||||
IDS_BTN_SHRT_DEC "Dec"
|
||||
IDS_BTN_SHRT_OCT "Oct"
|
||||
IDS_BTN_SHRT_BIN "Bin"
|
||||
IDS_ERR_INVALID_INPUT, "Entrada inv<6E>lida per la funci<63>."
|
||||
IDS_ERR_DIVIDE_BY_ZERO, "No puc dividir per zero."
|
||||
IDS_ERR_UNDEFINED, "El resultat de la funci<63> <20>s indefinit."
|
||||
END
|
||||
|
||||
MAIN_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Edita"
|
||||
BEGIN
|
||||
MENUITEM "&Copia Ctrl+C", IDM_COPY
|
||||
MENUITEM "E&nganxa Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&Vista"
|
||||
BEGIN
|
||||
MENUITEM "Estandard", IDM_MODE_STANDARD
|
||||
MENUITEM "Cient<6E>fica", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Agrupaci<63> de d<>gits", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&Ajuda"
|
||||
BEGIN
|
||||
MENUITEM "Temes d'ajuda", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "En quant a la Calculadora", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIMS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Edita"
|
||||
BEGIN
|
||||
MENUITEM "&Copia Ctrl+C", IDM_COPY
|
||||
MENUITEM "E&ngancxa Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&Vista"
|
||||
BEGIN
|
||||
MENUITEM "Estandard", IDM_MODE_STANDARD
|
||||
MENUITEM "Cient<6E>fica", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hexadecimal\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "Decimal\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "Octal\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "Bin<69>ria\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Sexagesimal\tF2", ID_CALC_MS_DEGREES
|
||||
MENUITEM "Radiants\tF3", ID_CALC_MS_RADIANS
|
||||
MENUITEM "Graus\tF4", ID_CALC_MS_GRADS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Agrupaci<63> de digits", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&Ajuda"
|
||||
BEGIN
|
||||
MENUITEM "Temes d'ajuda", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "En quant a la Calculadora", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIWS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Edita"
|
||||
BEGIN
|
||||
MENUITEM "&Copia Ctrl+C", IDM_COPY
|
||||
MENUITEM "E&nganxa Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&Vista"
|
||||
BEGIN
|
||||
MENUITEM "Estandard", IDM_MODE_STANDARD
|
||||
MENUITEM "Cientifica", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hexadecimal\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "Decimal\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "Octal\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "Bin<69>ria\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Qword\tF12", ID_CALC_WS_QWORD
|
||||
MENUITEM "Dword\tF2", ID_CALC_WS_DWORD
|
||||
MENUITEM "Word\tF3", ID_CALC_WS_WORD
|
||||
MENUITEM "Byte\tF4", ID_CALC_WS_BYTE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Agrupaci<63> de digits", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&Ajuda"
|
||||
BEGIN
|
||||
MENUITEM "Temes d'ajuda", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "En quant a la Calculadora", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
MAIN_MENU ACCELERATORS
|
||||
BEGIN
|
||||
VK_F1, IDV_HELP, VIRTKEY
|
||||
END
|
||||
|
||||
DLG_ABOUT DIALOGEX 12,0,175,90
|
||||
CAPTION "En quant a GNU winecalc"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Acceptar", IDOK, 73, 70, 30, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
WHATS_THIS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "" BEGIN
|
||||
MENUITEM "Qu<51> es aix<69>?", IDM_WHATS_THIS
|
||||
END
|
||||
END
|
||||
|
||||
DLG_STATS DIALOGEX 12,0,145,85
|
||||
CAPTION "Cuadre Estad<61>stic"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&RET", ID_STATS_RET, 4, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&LOAD", ID_STATS_LOAD, 39, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&CD" ID_STATS_CD, 74, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "C&AD", ID_STATS_CAD, 109, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
END
|
@@ -1,174 +0,0 @@
|
||||
/*
|
||||
* Czech language support
|
||||
*
|
||||
* WineCalc (cs-CZ.rc)
|
||||
*
|
||||
* Copyright 2005 Denzil <d3nzil@gmail.com>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include "windows.h"
|
||||
#include "resource.h"
|
||||
#include "winecalc.h"
|
||||
|
||||
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APPNAME, "Kalkul<75>tor"
|
||||
|
||||
IDS_COPYRIGHT1, "Kalkul<75>tor 5.0. Licencov<6F>n pod LGPL 2"
|
||||
IDS_COPYRIGHT2 "Copyright 2003, James Briggs"
|
||||
IDS_COPYRIGHT3 "San Jose, California, USA"
|
||||
IDS_COPYRIGHT4 "james@ActionMessage.com"
|
||||
IDS_COPYRIGHT5 "http://www.ActionMessage.com/winecalc/"
|
||||
|
||||
IDS_BTN_BACKSPACE, "Zp<5A>t"
|
||||
IDS_BTN_CLEAR_ENTRY, "CE"
|
||||
IDS_BTN_CLEAR_ALL, "C"
|
||||
IDS_BTN_MEM_CLEAR, "MC"
|
||||
IDS_BTN_MEM_RECALL, "MR"
|
||||
IDS_BTN_MEM_STORE, "MS"
|
||||
IDS_BTN_MEM_PLUS, "M+"
|
||||
IDS_BTN_MEM_STATUS_M, "M"
|
||||
IDS_BTN_SQRT, "sqrt"
|
||||
IDS_BTN_DEGREES, "Degrees"
|
||||
IDS_BTN_RADIANS, "Radians"
|
||||
IDS_BTN_GRADS, "Grads"
|
||||
IDS_BTN_SHRT_HEX "Hex"
|
||||
IDS_BTN_SHRT_DEC "Dec"
|
||||
IDS_BTN_SHRT_OCT "Oct"
|
||||
IDS_BTN_SHRT_BIN "Bin"
|
||||
IDS_ERR_INVALID_INPUT, "Neplatn<74> vstup pro funkci."
|
||||
IDS_ERR_DIVIDE_BY_ZERO, "Nelze d<>lit nulou."
|
||||
IDS_ERR_UNDEFINED, "V<>sledek funkce nen<65> definov<6F>n."
|
||||
END
|
||||
|
||||
MAIN_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Editace"
|
||||
BEGIN
|
||||
MENUITEM "&Kop<6F>rovat Ctrl+C", IDM_COPY
|
||||
MENUITEM "&Vlo<6C>it Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&Zobrazen<65>"
|
||||
BEGIN
|
||||
MENUITEM "Standartn<74>", IDM_MODE_STANDARD
|
||||
MENUITEM "V<>deck<63>", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Seskupov<6F>n<EFBFBD> <20><>slic", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&Pomoc"
|
||||
BEGIN
|
||||
MENUITEM "T<>mata n<>pov<6F>dy", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "O Kalkul<75>toru", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIMS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Editace"
|
||||
BEGIN
|
||||
MENUITEM "&Kop<6F>rovat Ctrl+C", IDM_COPY
|
||||
MENUITEM "&Vlo<6C>it Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&Zobrazen<65>"
|
||||
BEGIN
|
||||
MENUITEM "Standartn<74>", IDM_MODE_STANDARD
|
||||
MENUITEM "V<>deck<63>", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22>estn<74>ctkov<6F>\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "Des<65>tkov<6F>\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "Osmi<6D>kov<6F>\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "Dvojkov<6F>\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Stupn<70>\tF2", ID_CALC_MS_DEGREES
|
||||
MENUITEM "Radi<64>ny\tF3", ID_CALC_MS_RADIANS
|
||||
MENUITEM "Grady\tF4", ID_CALC_MS_GRADS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Seskupov<6F>n<EFBFBD> <20><>slic", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&Pomoc"
|
||||
BEGIN
|
||||
MENUITEM "T<>mata n<>pov<6F>dy", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "O Kalkul<75>toru", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIWS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Editace"
|
||||
BEGIN
|
||||
MENUITEM "&Kop<6F>rovat Ctrl+C", IDM_COPY
|
||||
MENUITEM "&Vlo<6C>it Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&Zobrazen<65>"
|
||||
BEGIN
|
||||
MENUITEM "Standartn<74>", IDM_MODE_STANDARD
|
||||
MENUITEM "V<>deck<63>", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22>estn<74>ctkov<6F>\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "Des<65>tkov<6F>\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "Osmi<6D>kov<6F>\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "Dvojkov<6F>\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Qword\tF12", ID_CALC_WS_QWORD
|
||||
MENUITEM "Dword\tF2", ID_CALC_WS_DWORD
|
||||
MENUITEM "Word\tF3", ID_CALC_WS_WORD
|
||||
MENUITEM "Byte\tF4", ID_CALC_WS_BYTE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Seskupov<6F>n<EFBFBD> <20><>slic", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&Pomoc"
|
||||
BEGIN
|
||||
MENUITEM "T<>mata n<>pov<6F>dy", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "O Kalkul<75>toru", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
MAIN_MENU ACCELERATORS
|
||||
BEGIN
|
||||
VK_F1, IDV_HELP, VIRTKEY
|
||||
END
|
||||
|
||||
DLG_ABOUT DIALOGEX 12,0,175,90
|
||||
CAPTION "O GNU winecalc"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK", IDOK, 73, 70, 30, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
WHATS_THIS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "" BEGIN
|
||||
MENUITEM "Co je toto?", IDM_WHATS_THIS
|
||||
END
|
||||
END
|
||||
|
||||
DLG_STATS DIALOGEX 12,0,145,85
|
||||
CAPTION "Statistics Box"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&RET", ID_STATS_RET, 4, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&LOAD", ID_STATS_LOAD, 39, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&CD" ID_STATS_CD, 74, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "C&AD", ID_STATS_CAD, 109, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
END
|
@@ -1,172 +1,365 @@
|
||||
/*
|
||||
* WineCalc (de-DE.rc)
|
||||
*
|
||||
* Copyright 2005 Rouven Wessling
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include "windows.h"
|
||||
#include "resource.h"
|
||||
#include "winecalc.h"
|
||||
|
||||
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
// Dialog
|
||||
|
||||
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 161
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Rechner"
|
||||
MENU IDR_MENU_SCIENTIFIC_1
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
IDS_APPNAME, "Rechner"
|
||||
|
||||
IDS_COPYRIGHT1, "Rechner 5.0. Lizenziert unter der LGPL 2"
|
||||
IDS_COPYRIGHT2 "Copyright 2003, James Briggs"
|
||||
IDS_COPYRIGHT3 "San Jose, California, USA"
|
||||
IDS_COPYRIGHT4 "james@ActionMessage.com"
|
||||
IDS_COPYRIGHT5 "http://www.ActionMessage.com/winecalc/"
|
||||
|
||||
IDS_BTN_BACKSPACE, "R<>cktaste"
|
||||
IDS_BTN_CLEAR_ENTRY, "CE"
|
||||
IDS_BTN_CLEAR_ALL, "C"
|
||||
IDS_BTN_MEM_CLEAR, "MC"
|
||||
IDS_BTN_MEM_RECALL, "MR"
|
||||
IDS_BTN_MEM_STORE, "MS"
|
||||
IDS_BTN_MEM_PLUS, "M+"
|
||||
IDS_BTN_MEM_STATUS_M, "M"
|
||||
IDS_BTN_SQRT, "sqrt"
|
||||
IDS_BTN_DEGREES, "Degrees"
|
||||
IDS_BTN_RADIANS, "Radians"
|
||||
IDS_BTN_GRADS, "Grads"
|
||||
IDS_BTN_SHRT_HEX "Hex"
|
||||
IDS_BTN_SHRT_DEC "Dec"
|
||||
IDS_BTN_SHRT_OCT "Oct"
|
||||
IDS_BTN_SHRT_BIN "Bin"
|
||||
IDS_ERR_INVALID_INPUT, "Ung<6E>ltige Eingabe f<>r Funktion."
|
||||
IDS_ERR_DIVIDE_BY_ZERO, "Teilen durch 0 unm<6E>glich."
|
||||
IDS_ERR_UNDEFINED, "Das Ergebnis der Funktion ist undefiniert."
|
||||
GROUPBOX "",IDC_STATIC,4,16,132,21
|
||||
CONTROL "Hex",IDC_RADIO_HEX,"Button",BS_AUTORADIOBUTTON,8,24,29,
|
||||
10
|
||||
CONTROL "Dez",IDC_RADIO_DEC,"Button",BS_AUTORADIOBUTTON,40,24,29,
|
||||
10
|
||||
CONTROL "Okt",IDC_RADIO_OCT,"Button",BS_AUTORADIOBUTTON,72,24,27,
|
||||
10
|
||||
CONTROL "Bin",IDC_RADIO_BIN,"Button",BS_AUTORADIOBUTTON,100,24,
|
||||
26,10
|
||||
GROUPBOX "",IDC_STATIC,4,36,76,21
|
||||
CONTROL "Inv",IDC_CHECK_INV,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP,8,44,26,10
|
||||
CONTROL "Hyp",IDC_CHECK_HYP,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP,40,44,29,10
|
||||
CTEXT "",IDC_TEXT_PARENT,84,40,24,17,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
CTEXT "",IDC_TEXT_MEMORY,112,40,24,17,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "Sta",IDC_BUTTON_STA,4,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Ave",IDC_BUTTON_AVE,4,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Sum",IDC_BUTTON_SUM,4,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "s",IDC_BUTTON_S,4,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Dat",IDC_BUTTON_DAT,4,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "F-E",IDC_BUTTON_FE,38,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "dms",IDC_BUTTON_DMS,38,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "sin",IDC_BUTTON_SIN,38,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "cos",IDC_BUTTON_COS,38,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "tan",IDC_BUTTON_TAN,38,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "(",IDC_BUTTON_LEFTPAR,64,64,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Exp",IDC_BUTTON_EXP,64,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^y",IDC_BUTTON_XeY,64,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^2",IDC_BUTTON_Xe2,64,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^3",IDC_BUTTON_Xe3,64,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ")",IDC_BUTTON_RIGHTPAR,90,64,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "ln",IDC_BUTTON_LN,90,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "log",IDC_BUTTON_LOG,90,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "n!",IDC_BUTTON_NF,90,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1/x",IDC_BUTTON_RX,90,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MC",IDC_BUTTON_MC,124,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MR",IDC_BUTTON_MR,124,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MS",IDC_BUTTON_MS,124,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "M+",IDC_BUTTON_MP,124,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "pi",IDC_BUTTON_PI,124,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "7",IDC_BUTTON_7,158,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "4",IDC_BUTTON_4,158,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1",IDC_BUTTON_1,158,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "0",IDC_BUTTON_0,158,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "A",IDC_BUTTON_A,158,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "8",IDC_BUTTON_8,184,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "5",IDC_BUTTON_5,184,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "2",IDC_BUTTON_2,184,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+/-",IDC_BUTTON_SIGN,184,121,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "B",IDC_BUTTON_B,184,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "9",IDC_BUTTON_9,210,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "6",IDC_BUTTON_6,210,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "3",IDC_BUTTON_3,210,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ",",IDC_BUTTON_DOT,210,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "C",IDC_BUTTON_C,210,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "/",IDC_BUTTON_DIV,236,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "*",IDC_BUTTON_MULT,236,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "-",IDC_BUTTON_SUB,236,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+",IDC_BUTTON_ADD,236,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "D",IDC_BUTTON_D,236,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Mod",IDC_BUTTON_MOD,262,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Or",IDC_BUTTON_OR,262,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Lsh",IDC_BUTTON_LSH,262,102,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "=",IDC_BUTTON_EQU,262,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "E",IDC_BUTTON_E,262,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "And",IDC_BUTTON_AND,288,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Xor",IDC_BUTTON_XOR,288,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Not",IDC_BUTTON_NOT,288,102,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Int",IDC_BUTTON_INT,288,121,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "F",IDC_BUTTON_F,288,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
GROUPBOX "",IDC_STATIC,140,16,172,21
|
||||
CONTROL "Qword",IDC_RADIO_QWORD,"Button",BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE,148,24,37,10
|
||||
CONTROL "Dword",IDC_RADIO_DWORD,"Button",BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE,188,24,37,10
|
||||
CONTROL "Word",IDC_RADIO_WORD,"Button",BS_AUTORADIOBUTTON | NOT
|
||||
WS_VISIBLE,232,24,33,10
|
||||
CONTROL "Byte",IDC_RADIO_BYTE,"Button",BS_AUTORADIOBUTTON | NOT
|
||||
WS_VISIBLE,272,24,30,10
|
||||
CONTROL "Degree",IDC_RADIO_DEG,"Button",BS_AUTORADIOBUTTON,148,24,
|
||||
42,10
|
||||
CONTROL "Radian",IDC_RADIO_RAD,"Button",BS_AUTORADIOBUTTON,192,
|
||||
24,42,10
|
||||
CONTROL "Grad",IDC_RADIO_GRAD,"Button",BS_AUTORADIOBUTTON,
|
||||
236,24,44,10
|
||||
PUSHBUTTON "C",IDC_BUTTON_CANC,272,40,40,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE",IDC_BUTTON_CE,228,40,40,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Zur<75>ck",IDC_BUTTON_BACK,184,40,40,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
RTEXT "",IDC_TEXT_OUTPUT,4,4,308,12,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
DEFPUSHBUTTON "",IDC_BUTTON_FOCUS,0,0,5,5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
MAIN_MENU MENU DISCARDABLE
|
||||
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 172, 127
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Rechner"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
POPUP "&Bearbeiten"
|
||||
BEGIN
|
||||
MENUITEM "&Kopieren Ctrl+C", IDM_COPY
|
||||
MENUITEM "&Einf<6E>gen Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&Ansicht"
|
||||
BEGIN
|
||||
MENUITEM "&Standard", IDM_MODE_STANDARD
|
||||
MENUITEM "&Wissenschaftlich", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Zifferngruppierung", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&?"
|
||||
BEGIN
|
||||
MENUITEM "&Hilfethemen", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Info", IDM_ABOUT
|
||||
END
|
||||
PUSHBUTTON "C",IDC_BUTTON_CANC,128,24,40,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE",IDC_BUTTON_CE,84,24,40,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Zur<75>ck",IDC_BUTTON_BACK,40,24,40,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
RTEXT "",IDC_TEXT_OUTPUT,4,4,164,12,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "7",IDC_BUTTON_7,40,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "4",IDC_BUTTON_4,40,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1",IDC_BUTTON_1,40,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "0",IDC_BUTTON_0,40,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "8",IDC_BUTTON_8,66,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "5",IDC_BUTTON_5,66,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "2",IDC_BUTTON_2,66,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+/-",IDC_BUTTON_SIGN,66,105,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "9",IDC_BUTTON_9,92,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "6",IDC_BUTTON_6,92,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "3",IDC_BUTTON_3,92,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ",",IDC_BUTTON_DOT,92,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "/",IDC_BUTTON_DIV,118,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "*",IDC_BUTTON_MULT,118,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "-",IDC_BUTTON_SUB,118,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+",IDC_BUTTON_ADD,118,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Sqrt",IDC_BUTTON_SQRT,144,48,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "%",IDC_BUTTON_PERCENT,144,67,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1/x",IDC_BUTTON_RX,144,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "=",IDC_BUTTON_EQU,144,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
CTEXT "",IDC_TEXT_MEMORY,4,24,24,17,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "MC",IDC_BUTTON_MC,4,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MR",IDC_BUTTON_MR,4,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MS",IDC_BUTTON_MS,4,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "M+",IDC_BUTTON_MP,4,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
DEFPUSHBUTTON "",IDC_BUTTON_FOCUS,0,0,5,5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
SCIMS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Bearbeiten"
|
||||
BEGIN
|
||||
MENUITEM "&Kopieren Ctrl+C", IDM_COPY
|
||||
MENUITEM "&Einf<6E>gen Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&Anzeige"
|
||||
BEGIN
|
||||
MENUITEM "&Standard", IDM_MODE_STANDARD
|
||||
MENUITEM "&Wissenschaftlich", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Hex\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "De&zimal\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "O&ktal\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "&Bin<69>r\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Deg\tF2", ID_CALC_MS_DEGREES
|
||||
MENUITEM "&Rad\tF3", ID_CALC_MS_RADIANS
|
||||
MENUITEM "&Grad\tF4", ID_CALC_MS_GRADS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Zifferngr&uppierung", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&?"
|
||||
BEGIN
|
||||
MENUITEM "&Hilfethemen", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Info", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIWS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Bearbeiten"
|
||||
BEGIN
|
||||
MENUITEM "&Kopieren Ctrl+C", IDM_COPY
|
||||
MENUITEM "&Einf<6E>gen Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&Anzeige"
|
||||
BEGIN
|
||||
MENUITEM "&Standard", IDM_MODE_STANDARD
|
||||
MENUITEM "&Wissenschaftlich", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Hex\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "De&zimal\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "O&ktal\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "&Bin<69>r\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Qword\tF12", ID_CALC_WS_QWORD
|
||||
MENUITEM "Dw&ord\tF2", ID_CALC_WS_DWORD
|
||||
MENUITEM "Wo&rd\tF3", ID_CALC_WS_WORD
|
||||
MENUITEM "&Byte\tF4", ID_CALC_WS_BYTE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Zifferngruppierung", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&?"
|
||||
BEGIN
|
||||
MENUITEM "&Hilfethemen", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Info", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
MAIN_MENU ACCELERATORS
|
||||
BEGIN
|
||||
VK_F1, IDV_HELP, VIRTKEY
|
||||
END
|
||||
|
||||
DLG_ABOUT DIALOGEX 12,0,175,90
|
||||
CAPTION "Info <20>ber GNU winecalc"
|
||||
IDD_DIALOG_ABOUT DIALOGEX DISCARDABLE 0, 0, 264, 169
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "<22>ber ReactOS Rechner"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK", IDOK, 73, 70, 30, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "OK",IDOK,105,148,52,16
|
||||
CONTROL 106,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE |
|
||||
SS_REALSIZEIMAGE | WS_BORDER,4,4,104,48
|
||||
LTEXT "ReactOS Rechner",IDC_STATIC,120,12,132,8,
|
||||
SS_CENTERIMAGE
|
||||
LTEXT "Version ",IDC_TEXT_VERSION,120,20,132,8,SS_CENTERIMAGE
|
||||
LTEXT "Geschrieben von Carlo Bramini",IDC_STATIC,120,32,132,8,
|
||||
SS_CENTERIMAGE
|
||||
GROUPBOX "",IDC_STATIC,112,0,148,52
|
||||
GROUPBOX "",IDC_STATIC,4,56,256,88
|
||||
EDITTEXT IDC_EDIT_LICENSE,12,68,240,68,ES_MULTILINE | ES_READONLY |
|
||||
WS_VSCROLL
|
||||
END
|
||||
|
||||
WHATS_THIS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "" BEGIN
|
||||
MENUITEM "Was ist das?", IDM_WHATS_THIS
|
||||
END
|
||||
END
|
||||
|
||||
DLG_STATS DIALOGEX 12,0,145,85
|
||||
IDD_DIALOG_STAT DIALOGEX DISCARDABLE 0, 0, 163, 85
|
||||
STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Statistik Box"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&RET", ID_STATS_RET, 4, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&LOAD", ID_STATS_LOAD, 39, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&CD" ID_STATS_CD, 74, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "C&AD", ID_STATS_CAD, 109, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
LISTBOX IDC_LIST_STAT,4,4,156,40,LBS_NOINTEGRALHEIGHT |
|
||||
WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "RET",IDC_BUTTON_RET,4,48,36,16
|
||||
PUSHBUTTON "LOAD",IDC_BUTTON_LOAD,44,48,36,16
|
||||
PUSHBUTTON "CD",IDC_BUTTON_CD,84,48,36,16
|
||||
PUSHBUTTON "CAD",IDC_BUTTON_CAD,124,48,36,16
|
||||
CTEXT "n=0",IDC_TEXT_NITEMS,4,68,156,12,SS_CENTERIMAGE |
|
||||
SS_SUNKEN
|
||||
END
|
||||
|
||||
|
||||
// Menus
|
||||
|
||||
IDR_MENU_SCIENTIFIC_1 MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "Bearbeiten"
|
||||
BEGIN
|
||||
MENUITEM "Kopieren\tSTRG-C", IDM_EDIT_COPY
|
||||
MENUITEM "Einf<6E>gen\tSTRG-V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "Ansicht"
|
||||
BEGIN
|
||||
MENUITEM "Standard", IDM_VIEW_STANDARD, CHECKED
|
||||
MENUITEM "Wissenschaftlich", IDM_VIEW_SCIENTIFIC, CHECKED
|
||||
MENUITEM "Konversion", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hex\tF5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "Dezimal\tF6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "Oktal\tF7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "Bin<69>r\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Degree\tF2", IDM_VIEW_DEG, CHECKED
|
||||
MENUITEM "Radian\tF3", IDM_VIEW_RAD, CHECKED
|
||||
MENUITEM "Grad\tF4", IDM_VIEW_GRAD, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Zifferngruppierung", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "Hilfe"
|
||||
BEGIN
|
||||
MENUITEM "Hilfethemen", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Info", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_MENU_SCIENTIFIC_2 MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "Bearbeiten"
|
||||
BEGIN
|
||||
MENUITEM "Kopieren\tSTRG-C", IDM_EDIT_COPY
|
||||
MENUITEM "Einf<6E>gen\tSTRG-V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "Ansicht"
|
||||
BEGIN
|
||||
MENUITEM "Standard", IDM_VIEW_STANDARD, CHECKED
|
||||
MENUITEM "Wissenschaftlich", IDM_VIEW_SCIENTIFIC, CHECKED
|
||||
MENUITEM "Konversion", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hex\tF5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "Dezimal\tF6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "Oktal\tF7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "Bin<69>r\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Qword\tF12", IDM_VIEW_QWORD, CHECKED
|
||||
MENUITEM "Dword\tF2", IDM_VIEW_DWORD, CHECKED
|
||||
MENUITEM "Word\tF3", IDM_VIEW_WORD, CHECKED
|
||||
MENUITEM "Byte\tF4", IDM_VIEW_BYTE, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Zifferngruppierung", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "Hilfe"
|
||||
BEGIN
|
||||
MENUITEM "Hilfethemen", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22>ber ReactOS Rechner", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_MENU_STANDARD MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "Bearbeiten"
|
||||
BEGIN
|
||||
MENUITEM "Kopieren\tSTRG-C", IDM_EDIT_COPY
|
||||
MENUITEM "Einf<6E>gen\tSTRG-V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "Ansicht"
|
||||
BEGIN
|
||||
MENUITEM "Standard", IDM_VIEW_STANDARD, CHECKED
|
||||
MENUITEM "Wissenschaftlich", IDM_VIEW_SCIENTIFIC, CHECKED
|
||||
MENUITEM "Konversion", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Zifferngruppierung", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "Hilfe"
|
||||
BEGIN
|
||||
MENUITEM "Hilfethemen", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22>ber ReactOS Rechner", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
// String Tables
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_STRING_LICENSE "ReactOS Rechner ist freie Software, herausgegeben unter der GNU GPL Lizenz.\r\n\r\nSie k<>nnen hier eine Kopie der GNU GPL Lizenz erhalten:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nSie k<>nnen hier auch eine <20>bersetzung der GNU GPL Lizenz erhalten:\r\nhttp://www.gnu.org/licenses/translations.html"
|
||||
IDS_MATH_ERROR "Fehler"
|
||||
IDS_QUICKHELP "Schnellhilfe"
|
||||
END
|
||||
|
||||
|
@@ -1,172 +0,0 @@
|
||||
/*
|
||||
* WineCalc (el-GR.rc)
|
||||
*
|
||||
* Copyright 2006 Dj Apal
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include "windows.h"
|
||||
#include "resource.h"
|
||||
#include "winecalc.h"
|
||||
|
||||
LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APPNAME, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
|
||||
IDS_COPYRIGHT1, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 5.0. Licensed under LGPL 2"
|
||||
IDS_COPYRIGHT2 "Copyright 2003, James Briggs"
|
||||
IDS_COPYRIGHT3 "San Jose, California, USA"
|
||||
IDS_COPYRIGHT4 "james@ActionMessage.com"
|
||||
IDS_COPYRIGHT5 "http://www.ActionMessage.com/winecalc/"
|
||||
|
||||
IDS_BTN_BACKSPACE, "Backspace"
|
||||
IDS_BTN_CLEAR_ENTRY, "CE"
|
||||
IDS_BTN_CLEAR_ALL, "C"
|
||||
IDS_BTN_MEM_CLEAR, "MC"
|
||||
IDS_BTN_MEM_RECALL, "MR"
|
||||
IDS_BTN_MEM_STORE, "MS"
|
||||
IDS_BTN_MEM_PLUS, "M+"
|
||||
IDS_BTN_MEM_STATUS_M, "M"
|
||||
IDS_BTN_SQRT, "sqrt"
|
||||
IDS_BTN_DEGREES, "Degrees"
|
||||
IDS_BTN_RADIANS, "Radians"
|
||||
IDS_BTN_GRADS, "Grads"
|
||||
IDS_BTN_SHRT_HEX "Hex"
|
||||
IDS_BTN_SHRT_DEC "Dec"
|
||||
IDS_BTN_SHRT_OCT "Oct"
|
||||
IDS_BTN_SHRT_BIN "Bin"
|
||||
IDS_ERR_INVALID_INPUT, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>."
|
||||
IDS_ERR_DIVIDE_BY_ZERO, "<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>."
|
||||
IDS_ERR_UNDEFINED, "<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>."
|
||||
END
|
||||
|
||||
MAIN_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ctrl+C", IDM_COPY
|
||||
MENUITEM "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_MODE_STANDARD
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIMS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ctrl+C", IDM_COPY
|
||||
MENUITEM "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_MODE_STANDARD
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF2", ID_CALC_MS_DEGREES
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF3", ID_CALC_MS_RADIANS
|
||||
MENUITEM "Grads\tF4", ID_CALC_MS_GRADS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIWS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ctrl+C", IDM_COPY
|
||||
MENUITEM "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_MODE_STANDARD
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF2", ID_CALC_MS_DEGREES
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\tF3", ID_CALC_MS_RADIANS
|
||||
MENUITEM "Grads\tF4", ID_CALC_MS_GRADS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
MAIN_MENU ACCELERATORS
|
||||
BEGIN
|
||||
VK_F1, IDV_HELP, VIRTKEY
|
||||
END
|
||||
|
||||
DLG_ABOUT DIALOGEX 12,0,175,90
|
||||
CAPTION "<22><><EFBFBD><EFBFBD> <20><><EFBFBD> GNU winecalc"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK", IDOK, 73, 70, 30, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
WHATS_THIS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP ""
|
||||
BEGIN
|
||||
MENUITEM "<22><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>;", IDM_WHATS_THIS
|
||||
END
|
||||
END
|
||||
|
||||
DLG_STATS DIALOGEX 12,0,145,85
|
||||
CAPTION "Statistics Box"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&RET", ID_STATS_RET, 4, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&LOAD", ID_STATS_LOAD, 39, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&CD" ID_STATS_CD, 74, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "C&AD", ID_STATS_CAD, 109, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
END
|
@@ -1,173 +1,365 @@
|
||||
/*
|
||||
* WineCalc (en-US.rc)
|
||||
*
|
||||
* Copyright 2003 James Briggs
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include "windows.h"
|
||||
#include "resource.h"
|
||||
#include "winecalc.h"
|
||||
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
// Dialog
|
||||
|
||||
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 161
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Calculator"
|
||||
MENU IDR_MENU_SCIENTIFIC_1
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
IDS_APPNAME, "Calculator"
|
||||
|
||||
IDS_COPYRIGHT1, "Calculator 5.0. Licensed under LGPL 2"
|
||||
IDS_COPYRIGHT2 "Copyright 2003, James Briggs"
|
||||
IDS_COPYRIGHT3 "San Jose, California, USA"
|
||||
IDS_COPYRIGHT4 "james@ActionMessage.com"
|
||||
IDS_COPYRIGHT5 "http://www.ActionMessage.com/winecalc/"
|
||||
|
||||
IDS_BTN_BACKSPACE, "Backspace"
|
||||
IDS_BTN_CLEAR_ENTRY, "CE"
|
||||
IDS_BTN_CLEAR_ALL, "C"
|
||||
IDS_BTN_MEM_CLEAR, "MC"
|
||||
IDS_BTN_MEM_RECALL, "MR"
|
||||
IDS_BTN_MEM_STORE, "MS"
|
||||
IDS_BTN_MEM_PLUS, "M+"
|
||||
IDS_BTN_MEM_STATUS_M, "M"
|
||||
IDS_BTN_SQRT, "sqrt"
|
||||
IDS_BTN_DEGREES, "Degrees"
|
||||
IDS_BTN_RADIANS, "Radians"
|
||||
IDS_BTN_GRADS, "Grads"
|
||||
IDS_BTN_SHRT_HEX "Hex"
|
||||
IDS_BTN_SHRT_DEC "Dec"
|
||||
IDS_BTN_SHRT_OCT "Oct"
|
||||
IDS_BTN_SHRT_BIN "Bin"
|
||||
IDS_ERR_INVALID_INPUT, "Invalid input for function."
|
||||
IDS_ERR_DIVIDE_BY_ZERO, "Cannot divide by zero."
|
||||
IDS_ERR_UNDEFINED, "Result of function is undefined."
|
||||
GROUPBOX "",IDC_STATIC,4,16,132,21
|
||||
CONTROL "Hex",IDC_RADIO_HEX,"Button",BS_AUTORADIOBUTTON,8,24,29,
|
||||
10
|
||||
CONTROL "Dec",IDC_RADIO_DEC,"Button",BS_AUTORADIOBUTTON,40,24,29,
|
||||
10
|
||||
CONTROL "Oct",IDC_RADIO_OCT,"Button",BS_AUTORADIOBUTTON,72,24,27,
|
||||
10
|
||||
CONTROL "Bin",IDC_RADIO_BIN,"Button",BS_AUTORADIOBUTTON,100,24,
|
||||
26,10
|
||||
GROUPBOX "",IDC_STATIC,4,36,76,21
|
||||
CONTROL "Inv",IDC_CHECK_INV,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP,8,44,26,10
|
||||
CONTROL "Hyp",IDC_CHECK_HYP,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP,40,44,29,10
|
||||
CTEXT "",IDC_TEXT_PARENT,84,40,24,17,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
CTEXT "",IDC_TEXT_MEMORY,112,40,24,17,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "Sta",IDC_BUTTON_STA,4,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Ave",IDC_BUTTON_AVE,4,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Sum",IDC_BUTTON_SUM,4,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "s",IDC_BUTTON_S,4,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Dat",IDC_BUTTON_DAT,4,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "F-E",IDC_BUTTON_FE,38,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "dms",IDC_BUTTON_DMS,38,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "sin",IDC_BUTTON_SIN,38,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "cos",IDC_BUTTON_COS,38,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "tan",IDC_BUTTON_TAN,38,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "(",IDC_BUTTON_LEFTPAR,64,64,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Exp",IDC_BUTTON_EXP,64,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^y",IDC_BUTTON_XeY,64,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^2",IDC_BUTTON_Xe2,64,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^3",IDC_BUTTON_Xe3,64,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ")",IDC_BUTTON_RIGHTPAR,90,64,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "ln",IDC_BUTTON_LN,90,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "log",IDC_BUTTON_LOG,90,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "n!",IDC_BUTTON_NF,90,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1/x",IDC_BUTTON_RX,90,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MC",IDC_BUTTON_MC,124,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MR",IDC_BUTTON_MR,124,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MS",IDC_BUTTON_MS,124,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "M+",IDC_BUTTON_MP,124,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "pi",IDC_BUTTON_PI,124,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "7",IDC_BUTTON_7,158,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "4",IDC_BUTTON_4,158,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1",IDC_BUTTON_1,158,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "0",IDC_BUTTON_0,158,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "A",IDC_BUTTON_A,158,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "8",IDC_BUTTON_8,184,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "5",IDC_BUTTON_5,184,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "2",IDC_BUTTON_2,184,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+/-",IDC_BUTTON_SIGN,184,121,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "B",IDC_BUTTON_B,184,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "9",IDC_BUTTON_9,210,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "6",IDC_BUTTON_6,210,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "3",IDC_BUTTON_3,210,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ",",IDC_BUTTON_DOT,210,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "C",IDC_BUTTON_C,210,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "/",IDC_BUTTON_DIV,236,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "*",IDC_BUTTON_MULT,236,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "-",IDC_BUTTON_SUB,236,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+",IDC_BUTTON_ADD,236,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "D",IDC_BUTTON_D,236,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Mod",IDC_BUTTON_MOD,262,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Or",IDC_BUTTON_OR,262,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Lsh",IDC_BUTTON_LSH,262,102,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "=",IDC_BUTTON_EQU,262,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "E",IDC_BUTTON_E,262,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "And",IDC_BUTTON_AND,288,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Xor",IDC_BUTTON_XOR,288,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Not",IDC_BUTTON_NOT,288,102,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Int",IDC_BUTTON_INT,288,121,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "F",IDC_BUTTON_F,288,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
GROUPBOX "",IDC_STATIC,140,16,172,21
|
||||
CONTROL "Qword",IDC_RADIO_QWORD,"Button",BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE,148,24,37,10
|
||||
CONTROL "Dword",IDC_RADIO_DWORD,"Button",BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE,188,24,37,10
|
||||
CONTROL "Word",IDC_RADIO_WORD,"Button",BS_AUTORADIOBUTTON | NOT
|
||||
WS_VISIBLE,232,24,33,10
|
||||
CONTROL "Byte",IDC_RADIO_BYTE,"Button",BS_AUTORADIOBUTTON | NOT
|
||||
WS_VISIBLE,272,24,30,10
|
||||
CONTROL "Degrees",IDC_RADIO_DEG,"Button",BS_AUTORADIOBUTTON,148,24,
|
||||
42,10
|
||||
CONTROL "Radians",IDC_RADIO_RAD,"Button",BS_AUTORADIOBUTTON,192,
|
||||
24,42,10
|
||||
CONTROL "Grads",IDC_RADIO_GRAD,"Button",BS_AUTORADIOBUTTON,
|
||||
236,24,44,10
|
||||
PUSHBUTTON "C",IDC_BUTTON_CANC,272,40,40,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE",IDC_BUTTON_CE,228,40,40,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Back",IDC_BUTTON_BACK,184,40,40,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
RTEXT "",IDC_TEXT_OUTPUT,4,4,308,12,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
DEFPUSHBUTTON "",IDC_BUTTON_FOCUS,0,0,5,5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
MAIN_MENU MENU DISCARDABLE
|
||||
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 172, 127
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Calculator"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
POPUP "&Edit"
|
||||
BEGIN
|
||||
MENUITEM "&Copy Ctrl+C", IDM_COPY
|
||||
MENUITEM "&Paste Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&View"
|
||||
BEGIN
|
||||
MENUITEM "Standard", IDM_MODE_STANDARD
|
||||
MENUITEM "Scientific", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Digit Grouping", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&Help"
|
||||
BEGIN
|
||||
MENUITEM "Help Topics", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "About Calculator", IDM_ABOUT
|
||||
END
|
||||
PUSHBUTTON "C",IDC_BUTTON_CANC,128,24,40,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE",IDC_BUTTON_CE,84,24,40,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Back",IDC_BUTTON_BACK,40,24,40,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
RTEXT "",IDC_TEXT_OUTPUT,4,4,164,12,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "7",IDC_BUTTON_7,40,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "4",IDC_BUTTON_4,40,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1",IDC_BUTTON_1,40,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "0",IDC_BUTTON_0,40,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "8",IDC_BUTTON_8,66,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "5",IDC_BUTTON_5,66,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "2",IDC_BUTTON_2,66,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+/-",IDC_BUTTON_SIGN,66,105,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "9",IDC_BUTTON_9,92,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "6",IDC_BUTTON_6,92,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "3",IDC_BUTTON_3,92,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ",",IDC_BUTTON_DOT,92,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "/",IDC_BUTTON_DIV,118,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "*",IDC_BUTTON_MULT,118,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "-",IDC_BUTTON_SUB,118,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+",IDC_BUTTON_ADD,118,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Sqrt",IDC_BUTTON_SQRT,144,48,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "%",IDC_BUTTON_PERCENT,144,67,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1/x",IDC_BUTTON_RX,144,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "=",IDC_BUTTON_EQU,144,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
CTEXT "",IDC_TEXT_MEMORY,4,24,24,17,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "MC",IDC_BUTTON_MC,4,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MR",IDC_BUTTON_MR,4,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MS",IDC_BUTTON_MS,4,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "M+",IDC_BUTTON_MP,4,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
DEFPUSHBUTTON "",IDC_BUTTON_FOCUS,0,0,5,5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
SCIMS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Edit"
|
||||
BEGIN
|
||||
MENUITEM "&Copy Ctrl+C", IDM_COPY
|
||||
MENUITEM "&Paste Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&View"
|
||||
BEGIN
|
||||
MENUITEM "Standard", IDM_MODE_STANDARD
|
||||
MENUITEM "Scientific", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hex\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "Decimal\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "Octal\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "Binary\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Degrees\tF2", ID_CALC_MS_DEGREES
|
||||
MENUITEM "Radians\tF3", ID_CALC_MS_RADIANS
|
||||
MENUITEM "Grads\tF4", ID_CALC_MS_GRADS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Digit Grouping", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&Help"
|
||||
BEGIN
|
||||
MENUITEM "Help Topics", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "About Calculator", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIWS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Edit"
|
||||
BEGIN
|
||||
MENUITEM "&Copy Ctrl+C", IDM_COPY
|
||||
MENUITEM "&Paste Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&View"
|
||||
BEGIN
|
||||
MENUITEM "Standard", IDM_MODE_STANDARD
|
||||
MENUITEM "Scientific", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hex\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "Decimal\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "Octal\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "Binary\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Qword\tF12", ID_CALC_WS_QWORD
|
||||
MENUITEM "Dword\tF2", ID_CALC_WS_DWORD
|
||||
MENUITEM "Word\tF3", ID_CALC_WS_WORD
|
||||
MENUITEM "Byte\tF4", ID_CALC_WS_BYTE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Digit Grouping", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&Help"
|
||||
BEGIN
|
||||
MENUITEM "Help Topics", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "About Calculator", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
MAIN_MENU ACCELERATORS
|
||||
BEGIN
|
||||
VK_F1, IDV_HELP, VIRTKEY
|
||||
END
|
||||
|
||||
DLG_ABOUT DIALOGEX 12,0,175,90
|
||||
CAPTION "About GNU winecalc"
|
||||
IDD_DIALOG_ABOUT DIALOGEX DISCARDABLE 0, 0, 264, 169
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "About ReactOS Calc"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK", IDOK, 73, 70, 30, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "OK",IDOK,105,148,52,16
|
||||
CONTROL 106,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE |
|
||||
SS_REALSIZEIMAGE | WS_BORDER,4,4,104,48
|
||||
LTEXT "ReactOS Calculator",IDC_STATIC,120,12,132,8,
|
||||
SS_CENTERIMAGE
|
||||
LTEXT "Version ",IDC_TEXT_VERSION,120,20,132,8,SS_CENTERIMAGE
|
||||
LTEXT "Written by Carlo Bramini",IDC_STATIC,120,32,132,8,
|
||||
SS_CENTERIMAGE
|
||||
GROUPBOX "",IDC_STATIC,112,0,148,52
|
||||
GROUPBOX "",IDC_STATIC,4,56,256,88
|
||||
EDITTEXT IDC_EDIT_LICENSE,12,68,240,68,ES_MULTILINE | ES_READONLY |
|
||||
WS_VSCROLL
|
||||
END
|
||||
|
||||
WHATS_THIS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP ""
|
||||
BEGIN
|
||||
MENUITEM "What's This?", IDM_WHATS_THIS
|
||||
END
|
||||
END
|
||||
|
||||
DLG_STATS DIALOGEX 12,0,145,85
|
||||
CAPTION "Statistics Box"
|
||||
IDD_DIALOG_STAT DIALOGEX DISCARDABLE 0, 0, 163, 85
|
||||
STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Statistics box"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&RET", ID_STATS_RET, 4, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&LOAD", ID_STATS_LOAD, 39, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&CD" ID_STATS_CD, 74, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "C&AD", ID_STATS_CAD, 109, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
LISTBOX IDC_LIST_STAT,4,4,156,40,LBS_NOINTEGRALHEIGHT |
|
||||
WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "RET",IDC_BUTTON_RET,4,48,36,16
|
||||
PUSHBUTTON "LOAD",IDC_BUTTON_LOAD,44,48,36,16
|
||||
PUSHBUTTON "CD",IDC_BUTTON_CD,84,48,36,16
|
||||
PUSHBUTTON "CAD",IDC_BUTTON_CAD,124,48,36,16
|
||||
CTEXT "n=0",IDC_TEXT_NITEMS,4,68,156,12,SS_CENTERIMAGE |
|
||||
SS_SUNKEN
|
||||
END
|
||||
|
||||
|
||||
// Menus
|
||||
|
||||
IDR_MENU_SCIENTIFIC_1 MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "Edit"
|
||||
BEGIN
|
||||
MENUITEM "Copy\tCTRL-C", IDM_EDIT_COPY
|
||||
MENUITEM "Paste\tCTRL-V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "View"
|
||||
BEGIN
|
||||
MENUITEM "Standard", IDM_VIEW_STANDARD, CHECKED
|
||||
MENUITEM "Scientific", IDM_VIEW_SCIENTIFIC, CHECKED
|
||||
MENUITEM "Conversion", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hex\tF5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "Decimal\tF6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "Octal\tF7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "Binary\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Degrees\tF2", IDM_VIEW_DEG, CHECKED
|
||||
MENUITEM "Radians\tF3", IDM_VIEW_RAD, CHECKED
|
||||
MENUITEM "Grads\tF4", IDM_VIEW_GRAD, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Group digits", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "Help"
|
||||
BEGIN
|
||||
MENUITEM "Help topics", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "About ReactOS Calc", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_MENU_SCIENTIFIC_2 MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "Edit"
|
||||
BEGIN
|
||||
MENUITEM "Copy\tCTRL-C", IDM_EDIT_COPY
|
||||
MENUITEM "Paste\tCTRL-V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "View"
|
||||
BEGIN
|
||||
MENUITEM "Standard", IDM_VIEW_STANDARD, CHECKED
|
||||
MENUITEM "Scientific", IDM_VIEW_SCIENTIFIC, CHECKED
|
||||
MENUITEM "Conversion", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hex\tF5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "Decimal\tF6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "Octal\tF7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "Binary\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Qword\tF12", IDM_VIEW_QWORD, CHECKED
|
||||
MENUITEM "Dword\tF2", IDM_VIEW_DWORD, CHECKED
|
||||
MENUITEM "Word\tF3", IDM_VIEW_WORD, CHECKED
|
||||
MENUITEM "Byte\tF4", IDM_VIEW_BYTE, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Group digits", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "Help"
|
||||
BEGIN
|
||||
MENUITEM "Help topics", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "About ReactOS Calc", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_MENU_STANDARD MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "Edit"
|
||||
BEGIN
|
||||
MENUITEM "Copy\tCTRL-C", IDM_EDIT_COPY
|
||||
MENUITEM "Paste\tCTRL-V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "View"
|
||||
BEGIN
|
||||
MENUITEM "Standard", IDM_VIEW_STANDARD, CHECKED
|
||||
MENUITEM "Scientific", IDM_VIEW_SCIENTIFIC, CHECKED
|
||||
MENUITEM "Conversion", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Group digits", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "Help"
|
||||
BEGIN
|
||||
MENUITEM "Help topics", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "About ReactOS Calc", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
// String Tables
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_STRING_LICENSE "ReactOS Calc is free software released under GNU GPL license.\r\n\r\nYou can get a copy of GNU GPL license here:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nYou can also get a translation of GNU GPL license here:\r\nhttp://www.gnu.org/licenses/translations.html"
|
||||
IDS_MATH_ERROR "Error"
|
||||
IDS_QUICKHELP "Quick help"
|
||||
END
|
||||
|
||||
|
@@ -1,173 +1,372 @@
|
||||
/*
|
||||
* WineCalc (Spanish resources)
|
||||
*
|
||||
* Copyright 2005 Patricio Mart<72>nez Ros
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*Spanish Language resource file
|
||||
* Traducido por: Javier Remacha 2007-12-31
|
||||
*/
|
||||
|
||||
#include "windows.h"
|
||||
#include "resource.h"
|
||||
#include "winecalc.h"
|
||||
|
||||
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
// Dialog
|
||||
|
||||
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 161
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Calculadora ReactOS"
|
||||
MENU IDR_MENU_SCIENTIFIC_1
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
IDS_APPNAME, "Calculadora"
|
||||
|
||||
IDS_COPYRIGHT1, "Calculadora 5.0. bajo licencia LGPL 2"
|
||||
IDS_COPYRIGHT2 "Copyright 2003, James Briggs"
|
||||
IDS_COPYRIGHT3 "San Jose, California, USA"
|
||||
IDS_COPYRIGHT4 "james@ActionMessage.com"
|
||||
IDS_COPYRIGHT5 "http://www.ActionMessage.com/winecalc/"
|
||||
|
||||
IDS_BTN_BACKSPACE, "Retroceso"
|
||||
IDS_BTN_CLEAR_ENTRY, "CE"
|
||||
IDS_BTN_CLEAR_ALL, "C"
|
||||
IDS_BTN_MEM_CLEAR, "MC"
|
||||
IDS_BTN_MEM_RECALL, "MR"
|
||||
IDS_BTN_MEM_STORE, "MS"
|
||||
IDS_BTN_MEM_PLUS, "M+"
|
||||
IDS_BTN_MEM_STATUS_M, "M"
|
||||
IDS_BTN_SQRT, "sqrt"
|
||||
IDS_BTN_DEGREES, "Degrees"
|
||||
IDS_BTN_RADIANS, "Radians"
|
||||
IDS_BTN_GRADS, "Grads"
|
||||
IDS_BTN_SHRT_HEX "Hex"
|
||||
IDS_BTN_SHRT_DEC "Dec"
|
||||
IDS_BTN_SHRT_OCT "Oct"
|
||||
IDS_BTN_SHRT_BIN "Bin"
|
||||
IDS_ERR_INVALID_INPUT, "Entrada no v<>lida para la funci<63>n."
|
||||
IDS_ERR_DIVIDE_BY_ZERO, "No se puede dividir entre cero."
|
||||
IDS_ERR_UNDEFINED, "El resultado de esta funci<63>n no est<73> definido."
|
||||
GROUPBOX "",IDC_STATIC,4,16,132,21
|
||||
CONTROL "Hex",IDC_RADIO_HEX,"Button",BS_AUTORADIOBUTTON,8,24,29,
|
||||
10
|
||||
CONTROL "Dec",IDC_RADIO_DEC,"Button",BS_AUTORADIOBUTTON,40,24,29,
|
||||
10
|
||||
CONTROL "Oct",IDC_RADIO_OCT,"Button",BS_AUTORADIOBUTTON,72,24,27,
|
||||
10
|
||||
CONTROL "Bin",IDC_RADIO_BIN,"Button",BS_AUTORADIOBUTTON,100,24,
|
||||
26,10
|
||||
GROUPBOX "",IDC_STATIC,4,36,76,21
|
||||
CONTROL "Inv",IDC_CHECK_INV,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP,8,44,26,10
|
||||
CONTROL "Hyp",IDC_CHECK_HYP,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP,40,44,29,10
|
||||
CTEXT "",IDC_TEXT_PARENT,84,40,24,17,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
CTEXT "",IDC_TEXT_MEMORY,112,40,24,17,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "Sta",IDC_BUTTON_STA,4,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Ave",IDC_BUTTON_AVE,4,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Sum",IDC_BUTTON_SUM,4,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "s",IDC_BUTTON_S,4,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Dat",IDC_BUTTON_DAT,4,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "F-E",IDC_BUTTON_FE,38,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "gms",IDC_BUTTON_DMS,38,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "sin",IDC_BUTTON_SIN,38,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "cos",IDC_BUTTON_COS,38,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "tan",IDC_BUTTON_TAN,38,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "(",IDC_BUTTON_LEFTPAR,64,64,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Exp",IDC_BUTTON_EXP,64,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^y",IDC_BUTTON_XeY,64,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^2",IDC_BUTTON_Xe2,64,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^3",IDC_BUTTON_Xe3,64,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ")",IDC_BUTTON_RIGHTPAR,90,64,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "ln",IDC_BUTTON_LN,90,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "log",IDC_BUTTON_LOG,90,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "n!",IDC_BUTTON_NF,90,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1/x",IDC_BUTTON_RX,90,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MC",IDC_BUTTON_MC,124,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MR",IDC_BUTTON_MR,124,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MS",IDC_BUTTON_MS,124,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "M+",IDC_BUTTON_MP,124,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "pi",IDC_BUTTON_PI,124,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "7",IDC_BUTTON_7,158,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "4",IDC_BUTTON_4,158,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1",IDC_BUTTON_1,158,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "0",IDC_BUTTON_0,158,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "A",IDC_BUTTON_A,158,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "8",IDC_BUTTON_8,184,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "5",IDC_BUTTON_5,184,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "2",IDC_BUTTON_2,184,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+/-",IDC_BUTTON_SIGN,184,121,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "B",IDC_BUTTON_B,184,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "9",IDC_BUTTON_9,210,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "6",IDC_BUTTON_6,210,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "3",IDC_BUTTON_3,210,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ",",IDC_BUTTON_DOT,210,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "C",IDC_BUTTON_C,210,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "/",IDC_BUTTON_DIV,236,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "*",IDC_BUTTON_MULT,236,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "-",IDC_BUTTON_SUB,236,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+",IDC_BUTTON_ADD,236,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "D",IDC_BUTTON_D,236,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Mod",IDC_BUTTON_MOD,262,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Or",IDC_BUTTON_OR,262,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Lsh",IDC_BUTTON_LSH,262,102,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "=",IDC_BUTTON_EQU,262,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "E",IDC_BUTTON_E,262,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "And",IDC_BUTTON_AND,288,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Xor",IDC_BUTTON_XOR,288,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Not",IDC_BUTTON_NOT,288,102,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Int",IDC_BUTTON_INT,288,121,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "F",IDC_BUTTON_F,288,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
GROUPBOX "",IDC_STATIC,140,16,172,21
|
||||
CONTROL "Qword",IDC_RADIO_QWORD,"Button",BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE,148,24,37,10
|
||||
CONTROL "Dword",IDC_RADIO_DWORD,"Button",BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE,188,24,37,10
|
||||
CONTROL "Word",IDC_RADIO_WORD,"Button",BS_AUTORADIOBUTTON | NOT
|
||||
WS_VISIBLE,232,24,33,10
|
||||
CONTROL "Byte",IDC_RADIO_BYTE,"Button",BS_AUTORADIOBUTTON | NOT
|
||||
WS_VISIBLE,272,24,30,10
|
||||
CONTROL "Sexagesimal",IDC_RADIO_DEG,"Button",BS_AUTORADIOBUTTON,148,24,
|
||||
54,10
|
||||
CONTROL "Radi<64>n",IDC_RADIO_RAD,"Button",BS_AUTORADIOBUTTON,212,
|
||||
24,42,10
|
||||
CONTROL "Centesimal",IDC_RADIO_GRAD,"Button",BS_AUTORADIOBUTTON,
|
||||
256,24,50,10
|
||||
PUSHBUTTON "C",IDC_BUTTON_CANC,272,40,40,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE",IDC_BUTTON_CE,228,40,40,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Back",IDC_BUTTON_BACK,184,40,40,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
RTEXT "",IDC_TEXT_OUTPUT,4,4,308,12,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
DEFPUSHBUTTON "",IDC_BUTTON_FOCUS,0,0,5,5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
MAIN_MENU MENU DISCARDABLE
|
||||
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 172, 127
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Calculadora ReactOS"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
POPUP "&Editar"
|
||||
BEGIN
|
||||
MENUITEM "&Copiar Ctrl+C", IDM_COPY
|
||||
MENUITEM "&Pegar Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&Ver"
|
||||
BEGIN
|
||||
MENUITEM "Est<73>ndar", IDM_MODE_STANDARD
|
||||
MENUITEM "Cient<6E>fica", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Agrupaci<63>n de d<>gitos", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "Ayuda"
|
||||
BEGIN
|
||||
MENUITEM "Temas de Ayuda", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Acerca de Calculadora", IDM_ABOUT
|
||||
END
|
||||
PUSHBUTTON "C",IDC_BUTTON_CANC,128,24,40,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE",IDC_BUTTON_CE,84,24,40,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Retroceso",IDC_BUTTON_BACK,40,24,40,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
RTEXT "",IDC_TEXT_OUTPUT,4,4,164,12,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "7",IDC_BUTTON_7,40,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "4",IDC_BUTTON_4,40,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1",IDC_BUTTON_1,40,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "0",IDC_BUTTON_0,40,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "8",IDC_BUTTON_8,66,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "5",IDC_BUTTON_5,66,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "2",IDC_BUTTON_2,66,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+/-",IDC_BUTTON_SIGN,66,105,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "9",IDC_BUTTON_9,92,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "6",IDC_BUTTON_6,92,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "3",IDC_BUTTON_3,92,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ",",IDC_BUTTON_DOT,92,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "/",IDC_BUTTON_DIV,118,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "*",IDC_BUTTON_MULT,118,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "-",IDC_BUTTON_SUB,118,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+",IDC_BUTTON_ADD,118,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Sqrt",IDC_BUTTON_SQRT,144,48,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "%",IDC_BUTTON_PERCENT,144,67,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1/x",IDC_BUTTON_RX,144,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "=",IDC_BUTTON_EQU,144,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
CTEXT "",IDC_TEXT_MEMORY,4,24,24,17,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "MC",IDC_BUTTON_MC,4,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MR",IDC_BUTTON_MR,4,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MS",IDC_BUTTON_MS,4,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "M+",IDC_BUTTON_MP,4,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
DEFPUSHBUTTON "",IDC_BUTTON_FOCUS,0,0,5,5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
SCIMS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Editar"
|
||||
BEGIN
|
||||
MENUITEM "&Copiar Ctrl+C", IDM_COPY
|
||||
MENUITEM "&Pegar Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&Ver"
|
||||
BEGIN
|
||||
MENUITEM "Est<73>ndar", IDM_MODE_STANDARD
|
||||
MENUITEM "Cient<6E>fica", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hesadecimal\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "Decimal\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "Octal\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "Binario\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Sexagesimal\tF2", ID_CALC_MS_DEGREES
|
||||
MENUITEM "Radi<64>n\tF3", ID_CALC_MS_RADIANS
|
||||
MENUITEM "Centesimal\tF4", ID_CALC_MS_GRADS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Agrupaci<63>n de d<>gitos", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "Ayuda"
|
||||
BEGIN
|
||||
MENUITEM "Temas de Ayuda", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Acerca de Calculadora", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIWS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Editar"
|
||||
BEGIN
|
||||
MENUITEM "&Copiar Ctrl+C", IDM_COPY
|
||||
MENUITEM "&Pegar Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&Ver"
|
||||
BEGIN
|
||||
MENUITEM "Est<73>ndar", IDM_MODE_STANDARD
|
||||
MENUITEM "Cient<6E>fica", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hexadecimal\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "Decimal\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "Octal\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "Binario\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Qword\tF12", ID_CALC_WS_QWORD
|
||||
MENUITEM "Dword\tF2", ID_CALC_WS_DWORD
|
||||
MENUITEM "Word\tF3", ID_CALC_WS_WORD
|
||||
MENUITEM "Byte\tF4", ID_CALC_WS_BYTE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Agrupaci<63>n de d<>gitos", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "Ayuda"
|
||||
BEGIN
|
||||
MENUITEM "Temas de Ayuda", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Acerca de Calculadora", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
MAIN_MENU ACCELERATORS
|
||||
BEGIN
|
||||
VK_F1, IDV_HELP, VIRTKEY
|
||||
END
|
||||
|
||||
DLG_ABOUT DIALOGEX 12,0,175,90
|
||||
CAPTION "Acerca de GNU winecalc"
|
||||
IDD_DIALOG_ABOUT DIALOGEX DISCARDABLE 0, 0, 264, 169
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Acerca de Calculadora ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Aceptar", IDOK, 73, 70, 30, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "Aceptar",IDOK,105,148,52,16
|
||||
CONTROL 106,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE |
|
||||
SS_REALSIZEIMAGE | WS_BORDER,4,4,104,48
|
||||
LTEXT "Calculadora ReactOS",IDC_STATIC,120,12,132,8,
|
||||
SS_CENTERIMAGE
|
||||
LTEXT "Versi<73>n ",IDC_TEXT_VERSION,120,20,132,8,SS_CENTERIMAGE
|
||||
LTEXT "Escrita por Carlo Bramini",IDC_STATIC,120,32,132,8,
|
||||
SS_CENTERIMAGE
|
||||
GROUPBOX "",IDC_STATIC,112,0,148,52
|
||||
GROUPBOX "",IDC_STATIC,4,56,256,88
|
||||
EDITTEXT IDC_EDIT_LICENSE,12,68,240,68,ES_MULTILINE | ES_READONLY |
|
||||
WS_VSCROLL
|
||||
END
|
||||
|
||||
WHATS_THIS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP ""
|
||||
BEGIN
|
||||
MENUITEM "<22>Qu<51> es esto?", IDM_WHATS_THIS
|
||||
END
|
||||
END
|
||||
|
||||
DLG_STATS DIALOGEX 12,0,145,85
|
||||
IDD_DIALOG_STAT DIALOGEX DISCARDABLE 0, 0, 163, 85
|
||||
STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Cuadro de estad<61>sticas"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&RET", ID_STATS_RET, 4, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&LOAD", ID_STATS_LOAD, 39, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&CD" ID_STATS_CD, 74, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "C&AD", ID_STATS_CAD, 109, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
LISTBOX IDC_LIST_STAT,4,4,156,40,LBS_NOINTEGRALHEIGHT |
|
||||
WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "RET",IDC_BUTTON_RET,4,48,36,16
|
||||
PUSHBUTTON "Cargar",IDC_BUTTON_LOAD,44,48,36,16
|
||||
PUSHBUTTON "CD",IDC_BUTTON_CD,84,48,36,16
|
||||
PUSHBUTTON "CAD",IDC_BUTTON_CAD,124,48,36,16
|
||||
CTEXT "n=0",IDC_TEXT_NITEMS,4,68,156,12,SS_CENTERIMAGE |
|
||||
SS_SUNKEN
|
||||
END
|
||||
|
||||
|
||||
// Menus
|
||||
|
||||
IDR_MENU_SCIENTIFIC_1 MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "Edici<63>n"
|
||||
BEGIN
|
||||
MENUITEM "Copiar\tCTRL-C", IDM_EDIT_COPY
|
||||
MENUITEM "Pegar\tCTRL-V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "Ver"
|
||||
BEGIN
|
||||
MENUITEM "Est<73>ndar", IDM_VIEW_STANDARD, CHECKED
|
||||
MENUITEM "Cient<6E>fica", IDM_VIEW_SCIENTIFIC, CHECKED
|
||||
MENUITEM "Conversi<73>n", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hexadecimal\tF5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "Decimal\tF6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "Octal\tF7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "Binario\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Sexagesimal\tF2", IDM_VIEW_DEG, CHECKED
|
||||
MENUITEM "Radi<64>n\tF3", IDM_VIEW_RAD, CHECKED
|
||||
MENUITEM "Centesimal\tF4", IDM_VIEW_GRAD, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "N<>mero de d<>gitos en grupo", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "Ayuda"
|
||||
BEGIN
|
||||
MENUITEM "Temas de ayuda", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Acerca de Calculadora ReactOS", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_MENU_SCIENTIFIC_2 MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "Edici<63>n"
|
||||
BEGIN
|
||||
MENUITEM "Copiar\tCTRL-C", IDM_EDIT_COPY
|
||||
MENUITEM "Pegar\tCTRL-V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "Ver"
|
||||
BEGIN
|
||||
MENUITEM "Est<73>ndar", IDM_VIEW_STANDARD, CHECKED
|
||||
MENUITEM "Cient<6E>fica", IDM_VIEW_SCIENTIFIC, CHECKED
|
||||
MENUITEM "Conversi<73>n", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hexadecimal\tF5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "Decimal\tF6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "Octal\tF7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "Binario\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Qword\tF12", IDM_VIEW_QWORD, CHECKED
|
||||
MENUITEM "Dword\tF2", IDM_VIEW_DWORD, CHECKED
|
||||
MENUITEM "Word\tF3", IDM_VIEW_WORD, CHECKED
|
||||
MENUITEM "Byte\tF4", IDM_VIEW_BYTE, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "N<>mero de d<>gitos en grupo", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "Ayuda"
|
||||
BEGIN
|
||||
MENUITEM "Temas de ayuda", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Acerca de Calculadora ReactOS", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_MENU_STANDARD MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "Edici<63>n"
|
||||
BEGIN
|
||||
MENUITEM "Copiar\tCTRL-C", IDM_EDIT_COPY
|
||||
MENUITEM "Pegar\tCTRL-V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "Ver"
|
||||
BEGIN
|
||||
MENUITEM "Est<73>ndar", IDM_VIEW_STANDARD, CHECKED
|
||||
MENUITEM "Cient<6E>fica", IDM_VIEW_SCIENTIFIC, CHECKED
|
||||
MENUITEM "Conversi<73>n", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "N<>mero de d<>gitos en grupo", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "Ayuda"
|
||||
BEGIN
|
||||
MENUITEM "Temas de ayuda", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Acerca de Calculadora ReactOS", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
// String Tables
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_STRING_LICENSE "Calculadora ReactOS es software gratuito realizado bajo licencia GNU GPL.\r\n\r\nPuedes coger una copia de la licencia GNU GPL aqu<71>:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nPuedes tambi<62>n coger una traducci<63>n de la licencia GNU GPL aqu<71>:\r\nhttp://www.gnu.org/licenses/translations.html"
|
||||
IDS_MATH_ERROR "Error"
|
||||
IDS_QUICKHELP "Ayuda r<>pida"
|
||||
END
|
||||
|
||||
|
||||
|
||||
|
@@ -1,149 +0,0 @@
|
||||
LANGUAGE LANG_FINNISH, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APPNAME, "Laskin"
|
||||
|
||||
IDS_COPYRIGHT1, "Calculator 5.0. Licensed under LGPL 2"
|
||||
IDS_COPYRIGHT2 "Copyright 2003, James Briggs"
|
||||
IDS_COPYRIGHT3 "San Jose, California, USA"
|
||||
IDS_COPYRIGHT4 "james@ActionMessage.com"
|
||||
IDS_COPYRIGHT5 "http://www.ActionMessage.com/winecalc/"
|
||||
|
||||
IDS_BTN_BACKSPACE, "Takaisin"
|
||||
IDS_BTN_CLEAR_ENTRY, "CE"
|
||||
IDS_BTN_CLEAR_ALL, "C"
|
||||
IDS_BTN_MEM_CLEAR, "MC"
|
||||
IDS_BTN_MEM_RECALL, "MR"
|
||||
IDS_BTN_MEM_STORE, "MS"
|
||||
IDS_BTN_MEM_PLUS, "M+"
|
||||
IDS_BTN_MEM_STATUS_M, "M"
|
||||
IDS_BTN_SQRT, "sqrt"
|
||||
IDS_BTN_DEGREES, "Degrees"
|
||||
IDS_BTN_RADIANS, "Radians"
|
||||
IDS_BTN_GRADS, "Grads"
|
||||
IDS_BTN_SHRT_HEX "Hex"
|
||||
IDS_BTN_SHRT_DEC "Dec"
|
||||
IDS_BTN_SHRT_OCT "Oct"
|
||||
IDS_BTN_SHRT_BIN "Bin"
|
||||
IDS_ERR_INVALID_INPUT, "Väärä syöte funktiolle."
|
||||
IDS_ERR_DIVIDE_BY_ZERO, "Nollalla ei voi jakaa."
|
||||
IDS_ERR_UNDEFINED, "Result of function is undefined."
|
||||
END
|
||||
|
||||
MAIN_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Muokkaa"
|
||||
BEGIN
|
||||
MENUITEM "K&opioi Ctrl+C", IDM_COPY
|
||||
MENUITEM "L&iitä Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&Näytä"
|
||||
BEGIN
|
||||
MENUITEM "Nelilaskin", IDM_MODE_STANDARD
|
||||
MENUITEM "Funktiolaskin", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Lukujen ryhmittely", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&Ohje"
|
||||
BEGIN
|
||||
MENUITEM "Ohjeen aiheet", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Tietoja Laskimesta", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIMS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Muokkaa"
|
||||
BEGIN
|
||||
MENUITEM "K&opioi Ctrl+C", IDM_COPY
|
||||
MENUITEM "L&iitä Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&Näytä"
|
||||
BEGIN
|
||||
MENUITEM "Nelilaskin", IDM_MODE_STANDARD
|
||||
MENUITEM "Funktiolaskin", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hex\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "Decimal\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "Octal\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "Binary\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Degrees\tF2", ID_CALC_MS_DEGREES
|
||||
MENUITEM "Radians\tF3", ID_CALC_MS_RADIANS
|
||||
MENUITEM "Grads\tF4", ID_CALC_MS_GRADS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Lukujen ryhmittely", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&Ohje"
|
||||
BEGIN
|
||||
MENUITEM "Ohjeen aiheet", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Tietoja Laskimesta", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIWS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Muokkaa"
|
||||
BEGIN
|
||||
MENUITEM "K&opioi Ctrl+C", IDM_COPY
|
||||
MENUITEM "L&iitä Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&View"
|
||||
BEGIN
|
||||
MENUITEM "Nelilaskin", IDM_MODE_STANDARD
|
||||
MENUITEM "Funktiolaskin", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hex\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "Decimal\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "Octal\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "Binary\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Qword\tF12", ID_CALC_WS_QWORD
|
||||
MENUITEM "Dword\tF2", ID_CALC_WS_DWORD
|
||||
MENUITEM "Word\tF3", ID_CALC_WS_WORD
|
||||
MENUITEM "Byte\tF4", ID_CALC_WS_BYTE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Lukujen ryhmittely", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&Ohje"
|
||||
BEGIN
|
||||
MENUITEM "Ohjeen aiheet", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Tietoja Laskimesta", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
MAIN_MENU ACCELERATORS
|
||||
BEGIN
|
||||
VK_F1, IDV_HELP, VIRTKEY
|
||||
END
|
||||
|
||||
DLG_ABOUT DIALOGEX 12,0,175,90
|
||||
CAPTION "About GNU winecalc"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK", IDOK, 73, 70, 30, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
WHATS_THIS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP ""
|
||||
BEGIN
|
||||
MENUITEM "Mikä tämä on?", IDM_WHATS_THIS
|
||||
END
|
||||
END
|
||||
|
||||
DLG_STATS DIALOGEX 12,0,145,85
|
||||
CAPTION "Statistics Box"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&RET", ID_STATS_RET, 4, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&LOAD", ID_STATS_LOAD, 39, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&CD" ID_STATS_CD, 74, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "C&AD", ID_STATS_CAD, 109, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
END
|
@@ -1,176 +0,0 @@
|
||||
/*
|
||||
* WineCalc (fr-FR.rc)
|
||||
*
|
||||
* Copyright 2003 James Briggs
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
/*
|
||||
* Translation made by Jerome Signouret, 2005.
|
||||
* Updated by Pierre Schweitzer, 2007.
|
||||
*/
|
||||
#include "windows.h"
|
||||
#include "resource.h"
|
||||
#include "winecalc.h"
|
||||
|
||||
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APPNAME, "Calculatrice"
|
||||
|
||||
IDS_COPYRIGHT1, "Calculatrice 5.0. Licensed under LGPL 2"
|
||||
IDS_COPYRIGHT2 "Copyright 2003, James Briggs"
|
||||
IDS_COPYRIGHT3 "San Jose, California, USA"
|
||||
IDS_COPYRIGHT4 "james@ActionMessage.com"
|
||||
IDS_COPYRIGHT5 "http://www.ActionMessage.com/winecalc/"
|
||||
|
||||
IDS_BTN_BACKSPACE, "Effacer"
|
||||
IDS_BTN_CLEAR_ENTRY, "CE"
|
||||
IDS_BTN_CLEAR_ALL, "C"
|
||||
IDS_BTN_MEM_CLEAR, "MC"
|
||||
IDS_BTN_MEM_RECALL, "MR"
|
||||
IDS_BTN_MEM_STORE, "MS"
|
||||
IDS_BTN_MEM_PLUS, "M+"
|
||||
IDS_BTN_MEM_STATUS_M, "M"
|
||||
IDS_BTN_SQRT, "sqrt"
|
||||
IDS_BTN_DEGREES, "Degr<67>s"
|
||||
IDS_BTN_RADIANS, "Radians"
|
||||
IDS_BTN_GRADS, "Grades"
|
||||
IDS_BTN_SHRT_HEX "Hex"
|
||||
IDS_BTN_SHRT_DEC "D<>c"
|
||||
IDS_BTN_SHRT_OCT "Oct"
|
||||
IDS_BTN_SHRT_BIN "Bin"
|
||||
IDS_ERR_INVALID_INPUT, "Entr<74>e incorrecte pour l'op<6F>ration."
|
||||
IDS_ERR_DIVIDE_BY_ZERO, "Division par z<>ro impossble."
|
||||
IDS_ERR_UNDEFINED, "R<>sultat non d<>fini."
|
||||
END
|
||||
|
||||
MAIN_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&<26>dition"
|
||||
BEGIN
|
||||
MENUITEM "Co&pier Ctrl+C", IDM_COPY
|
||||
MENUITEM "C&oller Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&Affichage"
|
||||
BEGIN
|
||||
MENUITEM "Standard", IDM_MODE_STANDARD
|
||||
MENUITEM "Scientifique", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "S<>parateur", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "Ai&de"
|
||||
BEGIN
|
||||
MENUITEM "Somaire", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "A propos", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIMS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&<26>dition"
|
||||
BEGIN
|
||||
MENUITEM "Co&pier Ctrl+C", IDM_COPY
|
||||
MENUITEM "C&oller Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&Affichage"
|
||||
BEGIN
|
||||
MENUITEM "Standard", IDM_MODE_STANDARD
|
||||
MENUITEM "Scientifique", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hexad<61>cimal\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "D<>cimal\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "Octal\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "Binaire\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Degr<67>s\tF2", ID_CALC_MS_DEGREES
|
||||
MENUITEM "Radians\tF3", ID_CALC_MS_RADIANS
|
||||
MENUITEM "Grades\tF4", ID_CALC_MS_GRADS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "S<>parateur", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "Ai&de"
|
||||
BEGIN
|
||||
MENUITEM "Sommaire", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22> propos", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIWS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&<26>dition"
|
||||
BEGIN
|
||||
MENUITEM "Co&pier Ctrl+C", IDM_COPY
|
||||
MENUITEM "C&oller Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&Affichage"
|
||||
BEGIN
|
||||
MENUITEM "Standard", IDM_MODE_STANDARD
|
||||
MENUITEM "Scientifique", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hexad<61>cimal\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "D<>cimal\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "Octal\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "Binaire\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Qword\tF12", ID_CALC_WS_QWORD
|
||||
MENUITEM "Dword\tF2", ID_CALC_WS_DWORD
|
||||
MENUITEM "Word\tF3", ID_CALC_WS_WORD
|
||||
MENUITEM "Byte\tF4", ID_CALC_WS_BYTE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "S<>parateur", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "Ai&de"
|
||||
BEGIN
|
||||
MENUITEM "Sommaire", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22> propos", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
MAIN_MENU ACCELERATORS
|
||||
BEGIN
|
||||
VK_F1, IDV_HELP, VIRTKEY
|
||||
END
|
||||
|
||||
DLG_ABOUT DIALOGEX 12,0,175,90
|
||||
CAPTION "<22> propos de GNU winecalc"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK", IDOK, 73, 70, 30, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
WHATS_THIS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP ""
|
||||
BEGIN
|
||||
MENUITEM "Qu'est-ce ?", IDM_WHATS_THIS
|
||||
END
|
||||
END
|
||||
|
||||
DLG_STATS DIALOGEX 12,0,145,85
|
||||
CAPTION "Outils Statistiques Box"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&RET", ID_STATS_RET, 4, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&LOAD", ID_STATS_LOAD, 39, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&CD" ID_STATS_CD, 74, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "C&AD", ID_STATS_CAD, 109, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
END
|
@@ -1,174 +0,0 @@
|
||||
/*
|
||||
* WineCalc (hu-HU.rc)
|
||||
*
|
||||
* Copyright 2003 James Briggs
|
||||
* Hungarian translation by Adam Medveczky
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include "windows.h"
|
||||
#include "resource.h"
|
||||
#include "winecalc.h"
|
||||
|
||||
LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APPNAME, "Sz<53>mol<6F>g<EFBFBD>p"
|
||||
|
||||
IDS_COPYRIGHT1, "Calculator 5.0. Licensed under LGPL 2"
|
||||
IDS_COPYRIGHT2 "Copyright 2003, James Briggs"
|
||||
IDS_COPYRIGHT3 "San Jose, California, USA"
|
||||
IDS_COPYRIGHT4 "james@ActionMessage.com"
|
||||
IDS_COPYRIGHT5 "http://www.ActionMessage.com/winecalc/"
|
||||
|
||||
IDS_BTN_BACKSPACE, "Backspace"
|
||||
IDS_BTN_CLEAR_ENTRY, "CE"
|
||||
IDS_BTN_CLEAR_ALL, "C"
|
||||
IDS_BTN_MEM_CLEAR, "MC"
|
||||
IDS_BTN_MEM_RECALL, "MR"
|
||||
IDS_BTN_MEM_STORE, "MS"
|
||||
IDS_BTN_MEM_PLUS, "M+"
|
||||
IDS_BTN_MEM_STATUS_M, "M"
|
||||
IDS_BTN_SQRT, "gy<67>k"
|
||||
IDS_BTN_DEGREES, "Degrees"
|
||||
IDS_BTN_RADIANS, "Radians"
|
||||
IDS_BTN_GRADS, "Grads"
|
||||
IDS_BTN_SHRT_HEX "Hex"
|
||||
IDS_BTN_SHRT_DEC "Dec"
|
||||
IDS_BTN_SHRT_OCT "Oct"
|
||||
IDS_BTN_SHRT_BIN "Bin"
|
||||
IDS_ERR_INVALID_INPUT, "Hib<69>s bemenet."
|
||||
IDS_ERR_DIVIDE_BY_ZERO, "Nem tudok null<6C>val osztani."
|
||||
IDS_ERR_UNDEFINED, "Result of function is undefined."
|
||||
END
|
||||
|
||||
MAIN_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Szerkeszt<7A>s"
|
||||
BEGIN
|
||||
MENUITEM "&M<>sol<6F>s Ctrl+C", IDM_COPY
|
||||
MENUITEM "&Beilleszt<7A>s Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&N<>zet"
|
||||
BEGIN
|
||||
MENUITEM "Alap", IDM_MODE_STANDARD
|
||||
MENUITEM "Tudom<6F>nyos", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Sz<53>mjegyek csoportos<6F>t<EFBFBD>sa", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "S<>&g<>"
|
||||
BEGIN
|
||||
MENUITEM "&T<>mak<61>r<EFBFBD>k", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Sz<53>mol<6F>g<EFBFBD>p n<>vjegye", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIMS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Szerkeszt<7A>s"
|
||||
BEGIN
|
||||
MENUITEM "&M<>sol<6F>s Ctrl+C", IDM_COPY
|
||||
MENUITEM "&Beilleszt<7A>s Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&N<>zet"
|
||||
BEGIN
|
||||
MENUITEM "Alap", IDM_MODE_STANDARD
|
||||
MENUITEM "Tudom<6F>nyos", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hexadecim<69>lis\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "Decim<69>lis\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "Okt<6B>lis\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "Bin<69>ris\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Fok\tF2", ID_CALC_MS_DEGREES
|
||||
MENUITEM "Radi<64>n\tF3", ID_CALC_MS_RADIANS
|
||||
MENUITEM "<22>jfok\tF4", ID_CALC_MS_GRADS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Sz<53>mjegyek csoportos<6F>t<EFBFBD>sa", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "S<>&g<>"
|
||||
BEGIN
|
||||
MENUITEM "&T<>mak<61>r<EFBFBD>k", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Sz<53>mol<6F>g<EFBFBD>p n<>vjegye", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIWS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Szerkeszt<7A>s"
|
||||
BEGIN
|
||||
MENUITEM "&M<>sol<6F>s Ctrl+C", IDM_COPY
|
||||
MENUITEM "&Beilleszt<7A>s Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&N<>zet"
|
||||
BEGIN
|
||||
MENUITEM "Alap", IDM_MODE_STANDARD
|
||||
MENUITEM "Tudom<6F>nyos", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hexadecim<69>lis\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "Decim<69>lis\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "Okt<6B>lis\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "Bin<69>ris\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "N<>gyszeres sz<73>\tF12", ID_CALC_WS_QWORD
|
||||
MENUITEM "Duplasz<73>\tF2", ID_CALC_WS_DWORD
|
||||
MENUITEM "Sz<53>\tF3", ID_CALC_WS_WORD
|
||||
MENUITEM "B<>jt\tF4", ID_CALC_WS_BYTE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Sz<53>mjegyek csoportos<6F>t<EFBFBD>sa", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "S<>&g<>"
|
||||
BEGIN
|
||||
MENUITEM "&T<>mak<61>r<EFBFBD>k", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Sz<53>mol<6F>g<EFBFBD>p n<>vjegye", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
MAIN_MENU ACCELERATORS
|
||||
BEGIN
|
||||
VK_F1, IDV_HELP, VIRTKEY
|
||||
END
|
||||
|
||||
DLG_ABOUT DIALOGEX 12,0,175,90
|
||||
CAPTION "GNU winecalc (sz<73>mol<6F>g<EFBFBD>p) n<>vjegye"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK", IDOK, 73, 70, 30, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
WHATS_THIS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP ""
|
||||
BEGIN
|
||||
MENUITEM "Mi ez?", IDM_WHATS_THIS
|
||||
END
|
||||
END
|
||||
|
||||
DLG_STATS DIALOGEX 12,0,145,85
|
||||
CAPTION "Statisztika"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&RET", ID_STATS_RET, 4, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&LOAD", ID_STATS_LOAD, 39, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&CD" ID_STATS_CD, 74, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "C&AD", ID_STATS_CAD, 109, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
END
|
@@ -1,173 +0,0 @@
|
||||
/*
|
||||
* WineCalc (id-ID.rc)
|
||||
*
|
||||
* Copyright 2007 Zaenal Mutaqin (ade999@gmail.com)
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include "windows.h"
|
||||
#include "resource.h"
|
||||
#include "winecalc.h"
|
||||
|
||||
LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APPNAME, "Kalkulator"
|
||||
|
||||
IDS_COPYRIGHT1, "Kalkulator 5.0. Dilisensi di bawah LGPL 2"
|
||||
IDS_COPYRIGHT2 "Hak Cipta 2003, James Briggs"
|
||||
IDS_COPYRIGHT3 "San Jose, California, USA"
|
||||
IDS_COPYRIGHT4 "james@ActionMessage.com"
|
||||
IDS_COPYRIGHT5 "http://www.ActionMessage.com/winecalc/"
|
||||
|
||||
IDS_BTN_BACKSPACE, "Backspace"
|
||||
IDS_BTN_CLEAR_ENTRY, "CE"
|
||||
IDS_BTN_CLEAR_ALL, "C"
|
||||
IDS_BTN_MEM_CLEAR, "MC"
|
||||
IDS_BTN_MEM_RECALL, "MR"
|
||||
IDS_BTN_MEM_STORE, "MS"
|
||||
IDS_BTN_MEM_PLUS, "M+"
|
||||
IDS_BTN_MEM_STATUS_M, "M"
|
||||
IDS_BTN_SQRT, "sqrt"
|
||||
IDS_BTN_DEGREES, "Degrees"
|
||||
IDS_BTN_RADIANS, "Radians"
|
||||
IDS_BTN_GRADS, "Grads"
|
||||
IDS_BTN_SHRT_HEX "Hex"
|
||||
IDS_BTN_SHRT_DEC "Dec"
|
||||
IDS_BTN_SHRT_OCT "Oct"
|
||||
IDS_BTN_SHRT_BIN "Bin"
|
||||
IDS_ERR_INVALID_INPUT, "Input untuk fungsi tidak benar."
|
||||
IDS_ERR_DIVIDE_BY_ZERO, "Tidak bisa membagi dengan nol."
|
||||
IDS_ERR_UNDEFINED, "Hasil fungsi tidak terdefinisikan."
|
||||
END
|
||||
|
||||
MAIN_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Edit"
|
||||
BEGIN
|
||||
MENUITEM "&Copy Ctrl+C", IDM_COPY
|
||||
MENUITEM "&Paste Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&Lihat"
|
||||
BEGIN
|
||||
MENUITEM "Standar", IDM_MODE_STANDARD
|
||||
MENUITEM "Sains", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Pengelompokan Digit", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&Bantuan"
|
||||
BEGIN
|
||||
MENUITEM "Topik Bantuan", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Tentang Kalkulator", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIMS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Edit"
|
||||
BEGIN
|
||||
MENUITEM "&Copy Ctrl+C", IDM_COPY
|
||||
MENUITEM "&Paste Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&Lihat"
|
||||
BEGIN
|
||||
MENUITEM "Standar", IDM_MODE_STANDARD
|
||||
MENUITEM "Sains", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Heksa\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "Desimal\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "Oktal\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "Biner\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Derajat\tF2", ID_CALC_MS_DEGREES
|
||||
MENUITEM "Radian\tF3", ID_CALC_MS_RADIANS
|
||||
MENUITEM "Grads\tF4", ID_CALC_MS_GRADS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Pengelompokan Digit", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&Bantuan"
|
||||
BEGIN
|
||||
MENUITEM "Topik Bantuan", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Tentang Kalkulator", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIWS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Edit"
|
||||
BEGIN
|
||||
MENUITEM "&Copy Ctrl+C", IDM_COPY
|
||||
MENUITEM "&Paste Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&Lihat"
|
||||
BEGIN
|
||||
MENUITEM "Standar", IDM_MODE_STANDARD
|
||||
MENUITEM "Sains", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Heksa\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "Desimal\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "Oktal\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "Biner\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Qword\tF12", ID_CALC_WS_QWORD
|
||||
MENUITEM "Dword\tF2", ID_CALC_WS_DWORD
|
||||
MENUITEM "Word\tF3", ID_CALC_WS_WORD
|
||||
MENUITEM "Byte\tF4", ID_CALC_WS_BYTE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Pengelompokan Digit", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&Bantuan"
|
||||
BEGIN
|
||||
MENUITEM "Topik Bantuan", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Tentang Kalkulator", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
MAIN_MENU ACCELERATORS
|
||||
BEGIN
|
||||
VK_F1, IDV_HELP, VIRTKEY
|
||||
END
|
||||
|
||||
DLG_ABOUT DIALOGEX 12,0,175,90
|
||||
CAPTION "Tentang GNU WineCalc"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK", IDOK, 73, 70, 30, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
WHATS_THIS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP ""
|
||||
BEGIN
|
||||
MENUITEM "Apa Ini?", IDM_WHATS_THIS
|
||||
END
|
||||
END
|
||||
|
||||
DLG_STATS DIALOGEX 12,0,145,85
|
||||
CAPTION "Kotak Statistik"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&RET", ID_STATS_RET, 4, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&LOAD", ID_STATS_LOAD, 39, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&CD" ID_STATS_CD, 74, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "C&AD", ID_STATS_CAD, 109, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
END
|
@@ -1,173 +1,365 @@
|
||||
/*
|
||||
* WineCalc (it-IT.rc)
|
||||
*
|
||||
* Copyright 2006 Gabriel ilardi
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include "windows.h"
|
||||
#include "resource.h"
|
||||
#include "winecalc.h"
|
||||
|
||||
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APPNAME, "Calcolatrice"
|
||||
// Dialog
|
||||
|
||||
IDS_COPYRIGHT1, "Calcolatrice 5.0. sotto licenza LGPL 2"
|
||||
IDS_COPYRIGHT2 "Copyright 2003, James Briggs"
|
||||
IDS_COPYRIGHT3 "San Jose, California, USA"
|
||||
IDS_COPYRIGHT4 "james@ActionMessage.com"
|
||||
IDS_COPYRIGHT5 "http://www.ActionMessage.com/winecalc/"
|
||||
|
||||
IDS_BTN_BACKSPACE, "Backspace"
|
||||
IDS_BTN_CLEAR_ENTRY, "CE"
|
||||
IDS_BTN_CLEAR_ALL, "C"
|
||||
IDS_BTN_MEM_CLEAR, "MC"
|
||||
IDS_BTN_MEM_RECALL, "MR"
|
||||
IDS_BTN_MEM_STORE, "MS"
|
||||
IDS_BTN_MEM_PLUS, "M+"
|
||||
IDS_BTN_MEM_STATUS_M, "M"
|
||||
IDS_BTN_SQRT, "sqrt"
|
||||
IDS_BTN_DEGREES, "Degrees"
|
||||
IDS_BTN_RADIANS, "Radians"
|
||||
IDS_BTN_GRADS, "Grads"
|
||||
IDS_BTN_SHRT_HEX "Hex"
|
||||
IDS_BTN_SHRT_DEC "Dec"
|
||||
IDS_BTN_SHRT_OCT "Oct"
|
||||
IDS_BTN_SHRT_BIN "Bin"
|
||||
IDS_ERR_INVALID_INPUT, "Input invalido per la funzione."
|
||||
IDS_ERR_DIVIDE_BY_ZERO, "Non si pu<70> dividere per zero."
|
||||
IDS_ERR_UNDEFINED, "Il risultato della funzione <20> indefinito."
|
||||
END
|
||||
|
||||
MAIN_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Modifica"
|
||||
BEGIN
|
||||
MENUITEM "&Copia Ctrl+C", IDM_COPY
|
||||
MENUITEM "I&ncolla Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&Visualizza"
|
||||
BEGIN
|
||||
MENUITEM "Standard", IDM_MODE_STANDARD
|
||||
MENUITEM "Scientifica", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Raggruppamento cifre", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&?"
|
||||
BEGIN
|
||||
MENUITEM "Guida in linea", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Informazioni su Calcolatrice", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIMS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Modifica"
|
||||
BEGIN
|
||||
MENUITEM "&Copia Ctrl+C", IDM_COPY
|
||||
MENUITEM "I&ncolla Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&Visualizza"
|
||||
BEGIN
|
||||
MENUITEM "Standard", IDM_MODE_STANDARD
|
||||
MENUITEM "Scientifica", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hex\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "Dec\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "Oct\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "Bin\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Gradi\tF2", ID_CALC_MS_DEGREES
|
||||
MENUITEM "Radianti\tF3", ID_CALC_MS_RADIANS
|
||||
MENUITEM "Gradienti\tF4", ID_CALC_MS_GRADS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Raggruppamento cifre", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&?"
|
||||
BEGIN
|
||||
MENUITEM "Guida in linea", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Informazioni su calcolatrice", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIWS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Modifica"
|
||||
BEGIN
|
||||
MENUITEM "&Copia Ctrl+C", IDM_COPY
|
||||
MENUITEM "I&ncolla Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "&Visualizza"
|
||||
BEGIN
|
||||
MENUITEM "Standard", IDM_MODE_STANDARD
|
||||
MENUITEM "Scientifica", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hex\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "Dec\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "Oct\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "Bin\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Qword\tF12", ID_CALC_WS_QWORD
|
||||
MENUITEM "Dword\tF2", ID_CALC_WS_DWORD
|
||||
MENUITEM "Word\tF3", ID_CALC_WS_WORD
|
||||
MENUITEM "Byte\tF4", ID_CALC_WS_BYTE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Raggruppamento cifre", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "&?"
|
||||
BEGIN
|
||||
MENUITEM "Guida in linea", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Informazioni su calcolatrice", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
MAIN_MENU ACCELERATORS
|
||||
BEGIN
|
||||
VK_F1, IDV_HELP, VIRTKEY
|
||||
END
|
||||
|
||||
DLG_ABOUT DIALOGEX 12,0,175,90
|
||||
CAPTION "Informazioni su GNU winecalc"
|
||||
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 161
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Calcolatrice ReactOS"
|
||||
MENU IDR_MENU_SCIENTIFIC_1
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK", IDOK, 73, 70, 30, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
GROUPBOX "",IDC_STATIC,4,16,132,21
|
||||
CONTROL "Hex",IDC_RADIO_HEX,"Button",BS_AUTORADIOBUTTON,8,24,29,
|
||||
10
|
||||
CONTROL "Dec",IDC_RADIO_DEC,"Button",BS_AUTORADIOBUTTON,40,24,29,
|
||||
10
|
||||
CONTROL "Oct",IDC_RADIO_OCT,"Button",BS_AUTORADIOBUTTON,72,24,27,
|
||||
10
|
||||
CONTROL "Bin",IDC_RADIO_BIN,"Button",BS_AUTORADIOBUTTON,100,24,
|
||||
26,10
|
||||
GROUPBOX "",IDC_STATIC,4,36,76,21
|
||||
CONTROL "Inv",IDC_CHECK_INV,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP,8,44,26,10
|
||||
CONTROL "Hyp",IDC_CHECK_HYP,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP,40,44,29,10
|
||||
CTEXT "",IDC_TEXT_PARENT,84,40,24,17,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
CTEXT "",IDC_TEXT_MEMORY,112,40,24,17,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "Sta",IDC_BUTTON_STA,4,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Ave",IDC_BUTTON_AVE,4,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Sum",IDC_BUTTON_SUM,4,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "s",IDC_BUTTON_S,4,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Dat",IDC_BUTTON_DAT,4,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "F-E",IDC_BUTTON_FE,38,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "dms",IDC_BUTTON_DMS,38,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "sin",IDC_BUTTON_SIN,38,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "cos",IDC_BUTTON_COS,38,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "tan",IDC_BUTTON_TAN,38,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "(",IDC_BUTTON_LEFTPAR,64,64,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Exp",IDC_BUTTON_EXP,64,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^y",IDC_BUTTON_XeY,64,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^2",IDC_BUTTON_Xe2,64,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^3",IDC_BUTTON_Xe3,64,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ")",IDC_BUTTON_RIGHTPAR,90,64,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "ln",IDC_BUTTON_LN,90,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "log",IDC_BUTTON_LOG,90,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "n!",IDC_BUTTON_NF,90,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1/x",IDC_BUTTON_RX,90,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MC",IDC_BUTTON_MC,124,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MR",IDC_BUTTON_MR,124,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MS",IDC_BUTTON_MS,124,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "M+",IDC_BUTTON_MP,124,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "pi",IDC_BUTTON_PI,124,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "7",IDC_BUTTON_7,158,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "4",IDC_BUTTON_4,158,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1",IDC_BUTTON_1,158,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "0",IDC_BUTTON_0,158,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "A",IDC_BUTTON_A,158,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "8",IDC_BUTTON_8,184,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "5",IDC_BUTTON_5,184,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "2",IDC_BUTTON_2,184,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+/-",IDC_BUTTON_SIGN,184,121,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "B",IDC_BUTTON_B,184,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "9",IDC_BUTTON_9,210,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "6",IDC_BUTTON_6,210,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "3",IDC_BUTTON_3,210,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ",",IDC_BUTTON_DOT,210,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "C",IDC_BUTTON_C,210,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "/",IDC_BUTTON_DIV,236,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "*",IDC_BUTTON_MULT,236,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "-",IDC_BUTTON_SUB,236,102,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+",IDC_BUTTON_ADD,236,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "D",IDC_BUTTON_D,236,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Mod",IDC_BUTTON_MOD,262,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Or",IDC_BUTTON_OR,262,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Lsh",IDC_BUTTON_LSH,262,102,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "=",IDC_BUTTON_EQU,262,121,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "E",IDC_BUTTON_E,262,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "And",IDC_BUTTON_AND,288,64,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Xor",IDC_BUTTON_XOR,288,83,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Not",IDC_BUTTON_NOT,288,102,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Int",IDC_BUTTON_INT,288,121,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "F",IDC_BUTTON_F,288,140,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
GROUPBOX "",IDC_STATIC,140,16,172,21
|
||||
CONTROL "Qword",IDC_RADIO_QWORD,"Button",BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE,148,24,37,10
|
||||
CONTROL "Dword",IDC_RADIO_DWORD,"Button",BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE,188,24,37,10
|
||||
CONTROL "Word",IDC_RADIO_WORD,"Button",BS_AUTORADIOBUTTON | NOT
|
||||
WS_VISIBLE,232,24,33,10
|
||||
CONTROL "Byte",IDC_RADIO_BYTE,"Button",BS_AUTORADIOBUTTON | NOT
|
||||
WS_VISIBLE,272,24,30,10
|
||||
CONTROL "Gradi",IDC_RADIO_DEG,"Button",BS_AUTORADIOBUTTON,148,24,
|
||||
33,10
|
||||
CONTROL "Radianti",IDC_RADIO_RAD,"Button",BS_AUTORADIOBUTTON,192,
|
||||
24,42,10
|
||||
CONTROL "Gradienti",IDC_RADIO_GRAD,"Button",BS_AUTORADIOBUTTON,
|
||||
236,24,44,10
|
||||
PUSHBUTTON "C",IDC_BUTTON_CANC,272,40,40,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE",IDC_BUTTON_CE,228,40,40,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Cancella",IDC_BUTTON_BACK,184,40,40,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
RTEXT "",IDC_TEXT_OUTPUT,4,4,308,12,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
DEFPUSHBUTTON "",IDC_BUTTON_FOCUS,0,0,5,5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
WHATS_THIS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP ""
|
||||
BEGIN
|
||||
MENUITEM "Cos'<27> questo?", IDM_WHATS_THIS
|
||||
END
|
||||
END
|
||||
|
||||
DLG_STATS DIALOGEX 12,0,145,85
|
||||
CAPTION "Statistiche"
|
||||
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 172, 127
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Calcolatrice ReactOS"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&RET", ID_STATS_RET, 4, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&LOAD", ID_STATS_LOAD, 39, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&CD" ID_STATS_CD, 74, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "C&AD", ID_STATS_CAD, 109, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "C",IDC_BUTTON_CANC,128,24,40,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE",IDC_BUTTON_CE,84,24,40,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Cancella",IDC_BUTTON_BACK,40,24,40,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
RTEXT "",IDC_TEXT_OUTPUT,4,4,164,12,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "7",IDC_BUTTON_7,40,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "4",IDC_BUTTON_4,40,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1",IDC_BUTTON_1,40,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "0",IDC_BUTTON_0,40,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "8",IDC_BUTTON_8,66,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "5",IDC_BUTTON_5,66,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "2",IDC_BUTTON_2,66,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+/-",IDC_BUTTON_SIGN,66,105,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "9",IDC_BUTTON_9,92,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "6",IDC_BUTTON_6,92,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "3",IDC_BUTTON_3,92,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ",",IDC_BUTTON_DOT,92,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "/",IDC_BUTTON_DIV,118,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "*",IDC_BUTTON_MULT,118,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "-",IDC_BUTTON_SUB,118,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+",IDC_BUTTON_ADD,118,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Sqrt",IDC_BUTTON_SQRT,144,48,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "%",IDC_BUTTON_PERCENT,144,67,24,17,BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1/x",IDC_BUTTON_RX,144,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "=",IDC_BUTTON_EQU,144,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
CTEXT "",IDC_TEXT_MEMORY,4,24,24,17,SS_CENTERIMAGE,
|
||||
WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "MC",IDC_BUTTON_MC,4,48,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MR",IDC_BUTTON_MR,4,67,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MS",IDC_BUTTON_MS,4,86,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "M+",IDC_BUTTON_MP,4,105,24,17,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
DEFPUSHBUTTON "",IDC_BUTTON_FOCUS,0,0,5,5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_DIALOG_ABOUT DIALOGEX DISCARDABLE 0, 0, 264, 169
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Informazioni su ReactOS Calc"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK",IDOK,105,148,52,16
|
||||
CONTROL 106,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE |
|
||||
SS_REALSIZEIMAGE | WS_BORDER,4,4,104,48
|
||||
LTEXT "Calcolatrice ReactOS",IDC_STATIC,120,12,132,8,
|
||||
SS_CENTERIMAGE
|
||||
LTEXT "Versione ",IDC_TEXT_VERSION,120,20,132,8,SS_CENTERIMAGE
|
||||
LTEXT "Scritto da Carlo Bramini",IDC_STATIC,120,32,132,8,
|
||||
SS_CENTERIMAGE
|
||||
GROUPBOX "",IDC_STATIC,112,0,148,52
|
||||
GROUPBOX "",IDC_STATIC,4,56,256,88
|
||||
EDITTEXT IDC_EDIT_LICENSE,12,68,240,68,ES_MULTILINE | ES_READONLY |
|
||||
WS_VSCROLL
|
||||
END
|
||||
|
||||
IDD_DIALOG_STAT DIALOGEX DISCARDABLE 0, 0, 163, 85
|
||||
STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Finestra di statistica"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LISTBOX IDC_LIST_STAT,4,4,156,40,LBS_NOINTEGRALHEIGHT |
|
||||
WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "RET",IDC_BUTTON_RET,4,48,36,16
|
||||
PUSHBUTTON "LOAD",IDC_BUTTON_LOAD,44,48,36,16
|
||||
PUSHBUTTON "CD",IDC_BUTTON_CD,84,48,36,16
|
||||
PUSHBUTTON "CAD",IDC_BUTTON_CAD,124,48,36,16
|
||||
CTEXT "n=0",IDC_TEXT_NITEMS,4,68,156,12,SS_CENTERIMAGE |
|
||||
SS_SUNKEN
|
||||
END
|
||||
|
||||
|
||||
// Menus
|
||||
|
||||
IDR_MENU_SCIENTIFIC_1 MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "Modifica"
|
||||
BEGIN
|
||||
MENUITEM "Copia\tCTRL-C", IDM_EDIT_COPY
|
||||
MENUITEM "Incolla\tCTRL-V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "Visualizza"
|
||||
BEGIN
|
||||
MENUITEM "Standard", IDM_VIEW_STANDARD, CHECKED
|
||||
MENUITEM "Scientifica", IDM_VIEW_SCIENTIFIC, CHECKED
|
||||
MENUITEM "Conversione", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hex\tF5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "Decimale\tF6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "Ottale\tF7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "Binaria\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Gradi\tF2", IDM_VIEW_DEG, CHECKED
|
||||
MENUITEM "Radianti\tF3", IDM_VIEW_RAD, CHECKED
|
||||
MENUITEM "Gradienti\tF4", IDM_VIEW_GRAD, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Raggruppamento cifre", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "Aiuto"
|
||||
BEGIN
|
||||
MENUITEM "Guida in linea", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Informazioni su ReactOS Calc", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_MENU_SCIENTIFIC_2 MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "Modifica"
|
||||
BEGIN
|
||||
MENUITEM "Copia\tCTRL-C", IDM_EDIT_COPY
|
||||
MENUITEM "Incolla\tCTRL-V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "Visualizza"
|
||||
BEGIN
|
||||
MENUITEM "Standard", IDM_VIEW_STANDARD, CHECKED
|
||||
MENUITEM "Scientifica", IDM_VIEW_SCIENTIFIC, CHECKED
|
||||
MENUITEM "Conversione", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hex\tF5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "Decimale\tF6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "Ottale\tF7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "Binaria\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Qword\tF12", IDM_VIEW_QWORD, CHECKED
|
||||
MENUITEM "Dword\tF2", IDM_VIEW_DWORD, CHECKED
|
||||
MENUITEM "Word\tF3", IDM_VIEW_WORD, CHECKED
|
||||
MENUITEM "Byte\tF4", IDM_VIEW_BYTE, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Raggruppamento cifre", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "Aiuto"
|
||||
BEGIN
|
||||
MENUITEM "Guida in linea", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Informazioni su ReactOS Calc", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_MENU_STANDARD MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "Modifica"
|
||||
BEGIN
|
||||
MENUITEM "Copia\tCTRL-C", IDM_EDIT_COPY
|
||||
MENUITEM "Incolla\tCTRL-V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "Visualizza"
|
||||
BEGIN
|
||||
MENUITEM "Standard", IDM_VIEW_STANDARD, CHECKED
|
||||
MENUITEM "Scientifica", IDM_VIEW_SCIENTIFIC, CHECKED
|
||||
MENUITEM "Conversione", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Raggruppamento cifre", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "Aiuto"
|
||||
BEGIN
|
||||
MENUITEM "Guida in linea", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Informazioni su ReactOS Calc", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
// String Tables
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_STRING_LICENSE "ReactOS Calc e` software libero rilasciato sotto licenza GNU GPL.\r\n\r\nE` possibile ottenere una copia del testo della licenza GNU GPL all'indirizzo:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nE` possibile ottenere una traduzione del testo della licenza GNU GPL all'indirizzo:\r\nhttp://www.gnu.org/licenses/translations.html"
|
||||
IDS_MATH_ERROR "Errore"
|
||||
IDS_QUICKHELP "Guida rapida"
|
||||
END
|
||||
|
||||
|
@@ -1,166 +0,0 @@
|
||||
/*
|
||||
* WineCalc (ja-JP.rc)
|
||||
*
|
||||
* Copyright 2003 James Briggs
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include "windows.h"
|
||||
#include "resource.h"
|
||||
#include "winecalc.h"
|
||||
|
||||
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
|
||||
|
||||
MAIN_MENU MENU
|
||||
BEGIN
|
||||
POPUP "<22>ҏW(&E)"
|
||||
BEGIN
|
||||
MENUITEM "<22>R<EFBFBD>s<EFBFBD>[(&C) Ctrl+C", IDM_COPY
|
||||
MENUITEM "<22>\\<5C><><EFBFBD>t<EFBFBD><74>(&P) Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "<22>\\<5C><>(&V)"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD>ʂ̓d<CC93><64>", IDM_MODE_STANDARD
|
||||
MENUITEM "<22><EFBFBD><D690>d<EFBFBD><64>", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "<22>w<EFBFBD><77><EFBFBD>v(&H)"
|
||||
BEGIN
|
||||
MENUITEM "<22>g<EFBFBD>s<EFBFBD>b<EFBFBD>N<EFBFBD>̌<EFBFBD><CC8C><EFBFBD>", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22>d<EFBFBD><64><EFBFBD>ɂ<C982><C282><EFBFBD>", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIMS_MENU MENU
|
||||
BEGIN
|
||||
POPUP "<22>ҏW(&E)"
|
||||
BEGIN
|
||||
MENUITEM "<22>R<EFBFBD>s<EFBFBD>[(&C) Ctrl+C", IDM_COPY
|
||||
MENUITEM "<22>\\<5C><><EFBFBD>t<EFBFBD><74>(&P) Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "<22>\\<5C><>(&V)"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD>ʂ̓d<CC93><64>", IDM_MODE_STANDARD
|
||||
MENUITEM "<22><EFBFBD><D690>d<EFBFBD><64>", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "16 <20>i\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "10 <20>i\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "8 <20>i\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "2 <20>i\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Degree\tF2", ID_CALC_MS_DEGREES
|
||||
MENUITEM "Radian\tF3", ID_CALC_MS_RADIANS
|
||||
MENUITEM "Grad\tF4", ID_CALC_MS_GRADS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "<22>w<EFBFBD><77><EFBFBD>v(&H)"
|
||||
BEGIN
|
||||
MENUITEM "<22>g<EFBFBD>s<EFBFBD>b<EFBFBD>N<EFBFBD>̌<EFBFBD><CC8C><EFBFBD>", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22>d<EFBFBD><64><EFBFBD>ɂ<C982><C282><EFBFBD>", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIWS_MENU MENU
|
||||
BEGIN
|
||||
POPUP "<22>ҏW(&E)"
|
||||
BEGIN
|
||||
MENUITEM "<22>R<EFBFBD>s<EFBFBD>[(&C) Ctrl+C", IDM_COPY
|
||||
MENUITEM "<22>\\<5C><><EFBFBD>t<EFBFBD><74>(&P) Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "<22>\\<5C><>(&V)"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD>ʂ̓d<CC93><64>", IDM_MODE_STANDARD
|
||||
MENUITEM "<22><EFBFBD><D690>d<EFBFBD><64>", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "16 <20>i\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "10 <20>i\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "8 <20>i\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "2 <20>i\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Qword\tF12", ID_CALC_WS_QWORD
|
||||
MENUITEM "Dword\tF2", ID_CALC_WS_DWORD
|
||||
MENUITEM "Word\tF3", ID_CALC_WS_WORD
|
||||
MENUITEM "Byte\tF4", ID_CALC_WS_BYTE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "<22>w<EFBFBD><77><EFBFBD>v(&H)"
|
||||
BEGIN
|
||||
MENUITEM "<22>g<EFBFBD>s<EFBFBD>b<EFBFBD>N<EFBFBD>̌<EFBFBD><CC8C><EFBFBD>", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22>d<EFBFBD><64><EFBFBD>ɂ<C982><C282><EFBFBD>", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
WHATS_THIS_MENU MENU
|
||||
BEGIN
|
||||
POPUP ""
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD>͉<EFBFBD><CD89>H", IDM_WHATS_THIS
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
MAIN_MENU ACCELERATORS
|
||||
BEGIN
|
||||
VK_F1, IDV_HELP, VIRTKEY
|
||||
END
|
||||
|
||||
|
||||
DLG_ABOUT DIALOGEX 12, 0, 175, 90
|
||||
FONT 9, "MS UI Gothic"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "GNU winecalc <20>ɂ<C982><C282><EFBFBD>"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK",IDOK,73,70,30,14
|
||||
END
|
||||
|
||||
DLG_STATS DIALOGEX 12, 0, 145, 85
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "<22><><EFBFBD>v<EFBFBD>BEGIN<49>b<EFBFBD>N<EFBFBD>X"
|
||||
FONT 9, "MS UI Gothic"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "<22>߂<EFBFBD>(&R)",ID_STATS_RET,4,52,30,13,WS_GROUP
|
||||
PUSHBUTTON "<22><><EFBFBD>[<5B>h(&L)",ID_STATS_LOAD,39,52,30,13,WS_GROUP
|
||||
PUSHBUTTON "<22>N<EFBFBD><4E><EFBFBD>A(&C)",ID_STATS_CD,74,52,30,13,WS_GROUP
|
||||
PUSHBUTTON "<22><><EFBFBD>ׂăN<C483><4E><EFBFBD>A(&A)",ID_STATS_CAD,109,52,30,13,WS_GROUP
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APPNAME "<22>d<EFBFBD><64>"
|
||||
IDS_BTN_BACKSPACE "Back"
|
||||
IDS_BTN_CLEAR_ENTRY "CE"
|
||||
IDS_BTN_CLEAR_ALL "C"
|
||||
IDS_ERR_INVALID_INPUT "<22><><EFBFBD><EFBFBD><EFBFBD>Ȓl<C892>ł<EFBFBD><C582>B"
|
||||
IDS_ERR_DIVIDE_BY_ZERO "0 <20>Ŋ<EFBFBD><C58A>邱<EFBFBD>Ƃ͂ł<CD82><C582>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B"
|
||||
IDS_ERR_UNDEFINED "<22><EFBFBD><D690>̌<EFBFBD><CC8C>ʂ<EFBFBD><CA82><EFBFBD><EFBFBD>`<60><><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B"
|
||||
IDS_COPYRIGHT1 "<22>d<EFBFBD><64> 5.0. Licensed under LGPL 2"
|
||||
IDS_COPYRIGHT2 "Copyright 2003, James Briggs"
|
||||
IDS_COPYRIGHT3 "San Jose, California, USA"
|
||||
IDS_COPYRIGHT4 "james@ActionMessage.com"
|
||||
IDS_COPYRIGHT5 "http://www.ActionMessage.com/winecalc/"
|
||||
IDS_BTN_MEM_CLEAR "MC"
|
||||
IDS_BTN_MEM_RECALL "MR"
|
||||
IDS_BTN_MEM_STORE "MS"
|
||||
IDS_BTN_MEM_PLUS "+"
|
||||
IDS_BTN_MEM_STATUS_M "M"
|
||||
IDS_BTN_SQRT "<22><>"
|
||||
END
|
@@ -1,157 +0,0 @@
|
||||
/*
|
||||
* Korean translation by manatails007(www.manatails007.org)
|
||||
*/
|
||||
|
||||
#include "windows.h"
|
||||
#include "resource.h"
|
||||
#include "winecalc.h"
|
||||
|
||||
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APPNAME, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
|
||||
IDS_COPYRIGHT1, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 5.0. LGPL 2<><32><EFBFBD>̼<EFBFBD><CCBC><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>"
|
||||
IDS_COPYRIGHT2 "Copyright 2003, James Briggs"
|
||||
IDS_COPYRIGHT3 "San Jose, California, USA"
|
||||
IDS_COPYRIGHT4 "james@ActionMessage.com"
|
||||
IDS_COPYRIGHT5 "http://www.ActionMessage.com/winecalc/"
|
||||
|
||||
IDS_BTN_BACKSPACE, "Backspace"
|
||||
IDS_BTN_CLEAR_ENTRY, "CE"
|
||||
IDS_BTN_CLEAR_ALL, "C"
|
||||
IDS_BTN_MEM_CLEAR, "MC"
|
||||
IDS_BTN_MEM_RECALL, "MR"
|
||||
IDS_BTN_MEM_STORE, "MS"
|
||||
IDS_BTN_MEM_PLUS, "M+"
|
||||
IDS_BTN_MEM_STATUS_M, "M"
|
||||
IDS_BTN_SQRT, "sqrt"
|
||||
IDS_BTN_DEGREES, "Degrees"
|
||||
IDS_BTN_RADIANS, "Radians"
|
||||
IDS_BTN_GRADS, "Grads"
|
||||
IDS_BTN_SHRT_HEX "Hex"
|
||||
IDS_BTN_SHRT_DEC "Dec"
|
||||
IDS_BTN_SHRT_OCT "Oct"
|
||||
IDS_BTN_SHRT_BIN "Bin"
|
||||
IDS_ERR_INVALID_INPUT, "<22>Լ<EFBFBD><D4BC><EFBFBD> <20>߸<EFBFBD> <20>Է<EFBFBD> <20>ϼ̽<CFBC><CCBD>ϴ<EFBFBD>."
|
||||
IDS_ERR_DIVIDE_BY_ZERO, "0<><30><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>."
|
||||
IDS_ERR_UNDEFINED, "<22>Լ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʾҽ<CABE><D2BD>ϴ<EFBFBD>."
|
||||
END
|
||||
|
||||
MAIN_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "<22><><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD> Ctrl+C", IDM_COPY
|
||||
MENUITEM "<22>ٿ<EFBFBD><D9BF>ֱ<EFBFBD> Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "<22><><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22>Ϲ<EFBFBD>", IDM_MODE_STANDARD
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD>", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22>ڸ<EFBFBD><DAB8><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD>", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIMS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "<22><><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD> Ctrl+C", IDM_COPY
|
||||
MENUITEM "<22>ٿ<EFBFBD><D9BF>ֱ<EFBFBD> Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "<22><><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22>Ϲ<EFBFBD>", IDM_MODE_STANDARD
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD>", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hex\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "Decimal\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "Octal\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "Binary\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Degrees\tF2", ID_CALC_MS_DEGREES
|
||||
MENUITEM "Radians\tF3", ID_CALC_MS_RADIANS
|
||||
MENUITEM "Grads\tF4", ID_CALC_MS_GRADS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22>ڸ<EFBFBD><DAB8><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD>", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
SCIWS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "<22><><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD> Ctrl+C", IDM_COPY
|
||||
MENUITEM "<22>ٿ<EFBFBD><D9BF>ֱ<EFBFBD> Ctrl+V", IDM_PASTE
|
||||
END
|
||||
POPUP "<22><><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22>Ϲ<EFBFBD>", IDM_MODE_STANDARD
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD>", IDM_MODE_SCIENTIFIC
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hex\tF5", ID_CALC_NS_HEX
|
||||
MENUITEM "Decimal\tF6", ID_CALC_NS_DEC
|
||||
MENUITEM "Octal\tF7", ID_CALC_NS_OCT
|
||||
MENUITEM "Binary\tF8", ID_CALC_NS_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Qword\tF12", ID_CALC_WS_QWORD
|
||||
MENUITEM "Dword\tF2", ID_CALC_WS_DWORD
|
||||
MENUITEM "Word\tF3", ID_CALC_WS_WORD
|
||||
MENUITEM "Byte\tF4", ID_CALC_WS_BYTE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22>ڸ<EFBFBD><DAB8><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>", IDM_DIGIT_GROUPING
|
||||
END
|
||||
POPUP "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD>", IDM_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
MAIN_MENU ACCELERATORS
|
||||
BEGIN
|
||||
VK_F1, IDV_HELP, VIRTKEY
|
||||
END
|
||||
|
||||
DLG_ABOUT DIALOGEX 12,0,175,90
|
||||
CAPTION "GNU winecalc<6C><63> <20><><EFBFBD><EFBFBD>"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Ȯ<><C8AE>", IDOK, 73, 70, 30, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
WHATS_THIS_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP ""
|
||||
BEGIN
|
||||
MENUITEM "<22>̰<EFBFBD> <20><><EFBFBD><EFBFBD>?", IDM_WHATS_THIS
|
||||
END
|
||||
END
|
||||
|
||||
DLG_STATS DIALOGEX 12,0,145,85
|
||||
CAPTION "<22><><EFBFBD><EFBFBD> <20>ڽ<EFBFBD>"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "&RET", ID_STATS_RET, 4, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&LOAD", ID_STATS_LOAD, 39, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "&CD" ID_STATS_CD, 74, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
PUSHBUTTON "C&AD", ID_STATS_CAD, 109, 52, 30, 13, WS_TABSTOP | WS_GROUP
|
||||
END
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user