Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.programming > #28849 > unrolled thread
| Started by | slawek <fake@fakeemail.com> |
|---|---|
| First post | 2016-09-26 15:57 +0200 |
| Last post | 2016-12-26 23:00 +0100 |
| Articles | 20 on this page of 278 — 19 participants |
Back to article view | Back to pl.comp.programming
Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-26 15:57 +0200
Re: Pascal - ankieta bartekltg <bartekltg@gmail.com> - 2016-09-26 08:39 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-26 18:02 +0200
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-09-26 19:55 +0200
Re: Pascal - ankieta joahim <w.birula@gmail.com> - 2016-10-01 09:18 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-01 18:59 +0200
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-01 19:42 +0200
Re: Pascal - ankieta joahim <w.birula@gmail.com> - 2016-10-01 11:04 -0700
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-01 20:21 +0200
Re: Pascal - ankieta darekm <darekm@emadar.com> - 2016-10-04 16:34 +0200
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-04 18:40 +0200
Re: Pascal - ankieta Mateusz Bogusz <mabakay@o2.pl> - 2016-10-04 19:18 +0200
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-04 20:15 +0200
Re: Pascal - ankieta darekm <darekm@emadar.com> - 2016-10-05 17:35 +0200
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-05 18:22 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-05 22:23 +0200
Re: Pascal - ankieta Adam M <amorawski@magna-power.com> - 2016-10-05 14:26 -0700
Re: Pascal - ankieta "re" <re@re.invalid> - 2016-10-13 19:19 +0200
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-13 19:36 +0200
Re: Pascal - ankieta "re" <re@re.invalid> - 2016-10-13 20:33 +0200
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-13 20:42 +0200
Re: Pascal - ankieta "re" <re@re.invalid> - 2016-10-13 21:52 +0200
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-13 22:13 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-05 22:18 +0200
Re: Pascal - ankieta joahim <w.birula@gmail.com> - 2016-10-07 09:53 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-01 20:46 +0200
Re: Pascal - ankieta joahim <w.birula@gmail.com> - 2016-10-01 12:46 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-01 22:35 +0200
Re: Pascal - ankieta joahim <w.birula@gmail.com> - 2016-10-01 10:52 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-01 20:48 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-01 21:03 +0200
Re: Pascal - ankieta "re" <re@re.invalid> - 2016-10-13 19:15 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-14 06:51 +0200
Re: Pascal - ankieta "re" <re@re.invalid> - 2016-10-16 15:22 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-10-01 14:14 -0700
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-09-27 03:03 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-27 17:03 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-09-27 10:52 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-28 07:34 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-28 07:51 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-09-28 00:58 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-28 11:27 +0200
Re: Pascal - ankieta wloochacz <wloochacz@no.spam.gmail.com> - 2016-09-28 12:12 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-28 12:27 +0200
Re: Pascal - ankieta wloochacz <wloochacz@no.spam.gmail.com> - 2016-09-28 13:37 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-28 12:36 +0200
Re: Pascal - ankieta wloochacz <wloochacz@no.spam.gmail.com> - 2016-09-28 13:43 +0200
Re: Pascal - ankieta "M.M." <mmarszik@gmail.com> - 2016-09-27 11:28 -0700
Re: Pascal - ankieta wloochacz <wloochacz@no.spam.gmail.com> - 2016-09-28 12:03 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-28 12:26 +0200
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-09-28 13:02 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-28 13:19 +0200
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-09-28 00:08 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-28 08:29 +0200
Re: Pascal - ankieta wloochacz <wloochacz@no.spam.gmail.com> - 2016-09-28 11:00 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-28 11:46 +0200
Re: Pascal - ankieta wloochacz <wloochacz@no.spam.gmail.com> - 2016-09-28 12:09 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-28 12:23 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-28 12:24 +0200
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-09-28 11:32 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-28 12:15 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-09-28 03:26 -0700
Re: Pascal - ankieta Tomasz Kaczanowski <kaczus@dowyciecia_poczta.onet.pl> - 2016-09-28 13:00 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-28 13:13 +0200
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-09-28 13:20 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-28 13:27 +0200
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-09-28 15:07 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-28 15:22 +0200
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-09-28 15:33 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-28 15:47 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-09-28 06:47 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-28 15:50 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-09-28 07:05 -0700
Re: Pascal - ankieta wloochacz <wloochacz@no.spam.gmail.com> - 2016-09-28 20:23 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-28 23:09 +0200
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-09-28 21:42 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-28 23:21 +0200
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-09-29 11:47 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-29 15:51 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-09-29 07:17 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-29 17:25 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-09-29 09:19 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-29 19:02 +0200
Re: Pascal - ankieta Adam M <amorawski@magna-power.com> - 2016-09-29 10:29 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-29 19:45 +0200
Re: Pascal - ankieta wloochacz <wloochacz@no.spam.gmail.com> - 2016-09-30 11:55 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-30 19:50 +0200
Re: Pascal - ankieta wloochacz <wloochacz@no.spam.gmail.com> - 2016-09-30 22:34 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-30 20:15 +0200
Re: Pascal - ankieta Kviat <null> - 2016-09-30 20:47 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-30 21:15 +0200
Re: Pascal - ankieta Kviat <null> - 2016-09-30 21:44 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-30 22:21 +0200
Re: Pascal - ankieta Kviat <null> - 2016-09-30 22:53 +0200
Re: Pascal - ankieta wloochacz <wloochacz@no.spam.gmail.com> - 2016-09-30 22:34 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-30 23:50 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-09-30 14:58 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-01 08:17 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-10-01 01:39 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-01 12:21 +0200
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-10-01 18:10 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-01 18:45 +0200
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-10-01 19:15 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-01 20:16 +0200
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-10-01 20:25 +0200
Re: Pascal - ankieta darekm <darekm@emadar.com> - 2016-10-03 19:02 +0200
Re: Pascal - ankieta Adam M <amorawski@magna-power.com> - 2016-10-03 12:02 -0700
Re: Pascal - ankieta Kviat <null> - 2016-09-30 23:59 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-01 08:33 +0200
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-10-01 08:54 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-01 09:17 +0200
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-10-01 10:07 +0200
Re: Pascal - ankieta Mateusz Bogusz <mabakay@o2.pl> - 2016-10-04 19:22 +0200
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-10-04 20:28 +0200
Re: Pascal - ankieta Adam M <amorawski@magna-power.com> - 2016-09-29 10:22 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-29 19:47 +0200
Re: Pascal - ankieta Adam M <amorawski@magna-power.com> - 2016-09-29 10:52 -0700
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-09-30 12:48 +0200
Re: Pascal - ankieta Adam M <amorawski@magna-power.com> - 2016-09-30 07:56 -0700
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-09-30 08:35 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-30 20:26 +0200
Re: Pascal - ankieta wloochacz <wloochacz@no.spam.gmail.com> - 2016-09-30 11:31 +0200
Re: Pascal - ankieta Kviat <null> - 2016-09-29 23:53 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-30 07:22 +0200
Re: Pascal - ankieta Kviat <null> - 2016-09-30 07:37 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-30 09:20 +0200
Re: Pascal - ankieta wloochacz <wloochacz@no.spam.gmail.com> - 2016-09-30 11:33 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-30 19:43 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-09-30 00:51 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-30 10:56 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-09-30 02:12 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-30 19:33 +0200
Re: Pascal - ankieta wloochacz <wloochacz@no.spam.gmail.com> - 2016-09-30 22:14 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-30 22:43 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-09-30 13:52 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-30 23:57 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-09-30 15:10 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-01 07:18 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-30 19:36 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-09-30 13:12 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-30 22:37 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-09-30 13:50 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-30 23:04 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-09-30 14:11 -0700
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-10-01 09:16 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-10-01 01:54 -0700
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-10-01 11:32 +0200
Re: Pascal - ankieta "slawek" <slawek@host.pl> - 2016-10-01 11:53 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-10-01 03:41 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-01 13:21 +0200
Re: Pascal - ankieta Kviat <null> - 2016-10-01 13:33 +0200
Re: Pascal - ankieta Tomasz Kaczanowski <kaczus@dowyciecia_poczta.onet.pl> - 2016-10-03 10:40 +0200
Re: Pascal - ankieta wloochacz <wloochacz@no.spam.gmail.com> - 2016-10-03 15:12 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-03 17:16 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-10-03 08:40 -0700
Re: Pascal - ankieta "re" <re@re.invalid> - 2016-10-13 19:09 +0200
Re: Pascal - ankieta Tomasz Kaczanowski <kaczus@dowyciecia_poczta.onet.pl> - 2016-10-04 07:54 +0200
Re: Pascal - ankieta "re" <re@re.invalid> - 2016-10-13 19:07 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-03 17:52 +0200
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-10-03 20:04 +0200
Re: Pascal - ankieta Kviat <null> - 2016-10-01 13:27 +0200
Re: Pascal - ankieta "re" <re@re.invalid> - 2016-10-13 18:55 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-10-13 10:15 -0700
Re: Pascal - ankieta "re" <re@re.invalid> - 2016-10-13 20:25 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-10-13 11:42 -0700
Re: Pascal - ankieta "re" <re@re.invalid> - 2016-10-13 18:54 +0200
Re: Pascal - ankieta Mateusz Bogusz <mabakay@o2.pl> - 2016-10-04 19:53 +0200
Re: Pascal - ankieta "re" <re@re.invalid> - 2016-10-13 18:51 +0200
Re: Pascal - ankieta "re" <re@re.invalid> - 2016-10-13 18:45 +0200
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-09-30 12:11 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-30 20:29 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-30 20:32 +0200
Re: Pascal - ankieta Kviat <null> - 2016-09-30 20:57 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-30 21:51 +0200
Re: Pascal - ankieta Kviat <null> - 2016-09-30 22:01 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-30 22:26 +0200
Re: Pascal - ankieta Tomasz Kaczanowski <kaczus@dowyciecia_poczta.onet.pl> - 2016-09-28 14:01 +0200
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-09-28 15:17 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-28 15:26 +0200
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-09-28 15:34 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-09-28 15:48 +0200
Re: Pascal - ankieta Tomasz Kaczanowski <kaczus@dowyciecia_poczta.onet.pl> - 2016-09-28 15:59 +0200
Re: Pascal - ankieta Tomasz Kaczanowski <kaczus@dowyciecia_poczta.onet.pl> - 2016-09-27 12:46 +0200
Re: Pascal - ankieta Mateusz Bogusz <mabakay@o2.pl> - 2016-10-02 17:54 +0200
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-10-19 21:05 +0200
Re: Pascal - ankieta krolikbest <krolikbest@wp.pl> - 2016-10-21 16:17 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-22 08:04 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-10-22 01:05 -0700
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-22 13:55 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-10-22 08:39 -0700
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-22 18:57 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-10-22 10:39 -0700
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-22 20:27 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-10-22 12:13 -0700
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-22 22:07 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-10-22 16:43 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-23 09:40 +0200
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-23 10:14 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-10-23 02:07 -0700
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-23 11:21 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-10-23 03:41 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-23 13:02 +0200
Re: Pascal - ankieta Tomasz Kaczanowski <kaczus@dowyciecia_poczta.onet.pl> - 2016-10-24 08:15 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-24 09:03 +0200
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-23 13:09 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-10-23 04:38 -0700
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-23 13:52 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-24 09:00 +0200
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-24 16:21 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-23 13:12 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-23 13:13 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-23 12:06 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-23 12:15 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-23 12:17 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-23 12:20 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-23 09:29 +0200
Re: Pascal - ankieta Tomasz Kaczanowski <kaczus@dowyciecia_poczta.onet.pl> - 2016-10-24 08:06 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-24 09:08 +0200
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-24 16:02 +0200
Re: Pascal - ankieta Maciej Sobczak <see.my.homepage@gmail.com> - 2016-10-24 06:21 -0700
Re: Pascal - ankieta Adam M <amorawski@magna-power.com> - 2016-10-24 06:37 -0700
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-24 16:04 +0200
Re: Pascal - ankieta Adam M <amorawski@magna-power.com> - 2016-10-24 07:28 -0700
Re: Pascal - ankieta Maciej Sobczak <see.my.homepage@gmail.com> - 2016-10-24 14:33 -0700
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-24 16:17 +0200
Re: Pascal - ankieta Maciej Sobczak <see.my.homepage@gmail.com> - 2016-10-24 15:01 -0700
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-25 07:59 +0200
Re: Pascal - ankieta Maciej Sobczak <see.my.homepage@gmail.com> - 2016-10-25 02:32 -0700
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-25 12:27 +0200
Re: Pascal - ankieta Maciej Sobczak <see.my.homepage@gmail.com> - 2016-10-25 07:10 -0700
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-25 17:30 +0200
Re: Pascal - ankieta "re" <re@re.invalid> - 2016-10-25 18:12 +0200
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-25 18:18 +0200
Re: Pascal - ankieta "re" <re@re.invalid> - 2016-10-25 17:39 +0200
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-25 18:21 +0200
Re: Pascal - ankieta Tomasz Kaczanowski <kaczus@dowyciecia_poczta.onet.pl> - 2016-10-26 07:59 +0200
Re: Pascal - ankieta Maciej Sobczak <see.my.homepage@gmail.com> - 2016-10-26 00:07 -0700
Re: Pascal - ankieta Tomasz Kaczanowski <kaczus@dowyciecia_poczta.onet.pl> - 2016-10-26 09:53 +0200
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-26 09:57 +0200
Re: Pascal - ankieta Maciej Sobczak <see.my.homepage@gmail.com> - 2016-10-26 06:26 -0700
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-26 15:46 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-26 16:15 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-26 16:10 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-26 16:14 +0200
Re: Pascal - ankieta Maciej Sobczak <see.my.homepage@gmail.com> - 2016-10-26 13:59 -0700
Re: Pascal - ankieta Adam M <amorawski@magna-power.com> - 2016-10-27 06:33 -0700
Re: Pascal - ankieta Maciej Sobczak <see.my.homepage@gmail.com> - 2016-10-27 15:21 -0700
Re: Pascal - ankieta "re" <re@re.invalid> - 2016-10-25 17:28 +0200
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-25 17:39 +0200
Re: Pascal - ankieta "re" <re@re.invalid> - 2016-10-25 18:11 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-26 07:19 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-23 09:23 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-10-23 00:32 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-23 09:51 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-23 09:27 +0200
Re: Pascal - ankieta godek.maciek@gmail.com - 2016-10-23 00:43 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-23 09:53 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-23 10:00 +0200
Re: Pascal - ankieta Adam M <amorawski@magna-power.com> - 2016-10-24 06:29 -0700
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-24 15:58 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-23 08:42 +0200
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-10-23 10:19 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-23 12:31 +0200
Re: Pascal - ankieta Wojciech Muła <wojtek.mula@gmail.com> - 2016-10-23 08:08 -0700
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-23 08:33 +0200
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-10-23 08:23 +0200
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-10-22 10:14 +0200
Re: Pascal - ankieta Tomasz Kaczanowski <kaczus@dowyciecia_poczta.onet.pl> - 2016-10-24 07:45 +0200
Re: Pascal - ankieta Roman Tyczka <noemail@because.no> - 2016-12-02 17:28 +0100
Re: Pascal - ankieta Robert Largon <slawek4009@gmail.com> - 2016-12-21 01:05 -0800
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-12-21 21:37 +0100
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-12-23 08:58 +0100
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-12-23 08:38 +0100
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-12-23 18:15 +0100
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-12-23 20:52 +0100
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-12-24 10:50 +0100
Re: Pascal - ankieta slawek <fake@fakeemail.com> - 2016-12-26 22:46 +0100
Re: Pascal - ankieta Sebastian Biały <heby@poczta.onet.pl> - 2016-12-26 23:00 +0100
Page 8 of 14 — ← Prev page 1 … 6 7 [8] 9 10 … 14 Next page →
| From | slawek <fake@fakeemail.com> |
|---|---|
| Date | 2016-09-30 22:37 +0200 |
| Message-ID | <almarsoft.8599242003259941802@news.v.pl> |
| In reply to | #28960 |
On Fri, 30 Sep 2016 13:12:44 -0700 (PDT), godek.maciek@gmail.com wrote: > No, to jak zrobisz to wklej proszę linka na githabie czy gdzieś, > bo by mi się przydało. Sprawdź, czy da się w C# wywołać Win API, patrz PInvoke. Win API ma obsługę portu szeregowego. Poszukaj jak to się robi np. w Asemblerze lub C i zlinkuj lub przepisz na C#. Była cała książka o RS232c, nawet gdzieś ją mam. Zrób to w Javie i wywołuj przez J4ini. Opcja zero: napisz do MS, mi odpowiedzieli. Że po roku i że trochę w stylu "not a bug". Ale odpowiedzieli.
[toc] | [prev] | [next] | [standalone]
| From | godek.maciek@gmail.com |
|---|---|
| Date | 2016-09-30 13:50 -0700 |
| Message-ID | <f9a60848-e15d-4732-918f-d64e82de163b@googlegroups.com> |
| In reply to | #28966 |
W dniu piątek, 30 września 2016 22:37:44 UTC+2 użytkownik slawek napisał: > > No, to jak zrobisz to wklej proszę linka na githabie czy gdzieś, > > bo by mi się przydało. > > Sprawdź, czy da się w C# wywołać Win API, patrz PInvoke. Win API ma > obsługę portu szeregowego. > > Poszukaj jak to się robi np. w Asemblerze lub C i zlinkuj lub > przepisz na C#. Była cała książka o RS232c, nawet gdzieś ją mam. To tak jak ja Twoje dobre rady. Nie mam ambicji użerać się z tępym środowiskiem ani korporacją, w której programiści nie potrafią odróżnić wątku od callbacka. Jeżeli dla Ciebie to fajna zabawa, proszę bardzo, ale ja niestety mam ciekawsze i pilniejsze rzeczy do zrobienia.
[toc] | [prev] | [next] | [standalone]
| From | slawek <fake@fakeemail.com> |
|---|---|
| Date | 2016-09-30 23:04 +0200 |
| Message-ID | <almarsoft.8012793527833634593@news.v.pl> |
| In reply to | #28960 |
On Fri, 30 Sep 2016 13:12:44 -0700 (PDT), godek.maciek@gmail.com wrote: > Ty w ogóle kiedykolwiek coś robiłeś na komputerze Na przykład: działający program do transmisji przez RS232 i takie tam. Aby było śmieszniej: w Pascalu. TPW 1.0, MS Windows 3.1. Nawet rysował krzywą Gaussa na bieżąco. BTW w Pythonie obsługa com-a jest boleśnie prosta: import, otwarcie, zamknięcie. Trzy linijki. No i oczywiście komunikacja. Poszukaj w Google.
[toc] | [prev] | [next] | [standalone]
| From | godek.maciek@gmail.com |
|---|---|
| Date | 2016-09-30 14:11 -0700 |
| Message-ID | <121eb8b3-356d-426c-8124-006224baa359@googlegroups.com> |
| In reply to | #28971 |
W dniu piątek, 30 września 2016 23:04:11 UTC+2 użytkownik slawek napisał: > > Ty w ogóle kiedykolwiek coś robiłeś na komputerze > > Na przykład: działający program do transmisji przez RS232 i takie > tam. Aby było śmieszniej: w Pascalu. TPW 1.0, MS Windows 3.1. Nawet > rysował krzywą Gaussa na bieżąco. No to szacunek. A masz jakieś konto na githubie, żebym mógł to zobaczyć? Czy nie możesz mieć, bo pracujesz tylko nad tajnymi projektami? > BTW w Pythonie obsługa com-a jest boleśnie prosta: import, otwarcie, > zamknięcie. Trzy linijki. No i oczywiście komunikacja. Poszukaj w > Google. Dzięki. Zapytam w pracy, czy nie możemy przepisać całego systemu na Pythona ;]
[toc] | [prev] | [next] | [standalone]
| From | Roman Tyczka <noemail@because.no> |
|---|---|
| Date | 2016-10-01 09:16 +0200 |
| Message-ID | <1wbjlq5vg9yxq.dlg@tyczka.com> |
| In reply to | #28972 |
On Fri, 30 Sep 2016 14:11:36 -0700 (PDT), godek.maciek@gmail.com wrote: > W dniu piątek, 30 września 2016 23:04:11 UTC+2 użytkownik slawek napisał: > >>> Ty w ogóle kiedykolwiek coś robiłeś na komputerze >> >> Na przykład: działający program do transmisji przez RS232 i takie >> tam. Aby było śmieszniej: w Pascalu. TPW 1.0, MS Windows 3.1. Nawet >> rysował krzywą Gaussa na bieżąco. > > No to szacunek. > A masz jakieś konto na githubie, żebym mógł to zobaczyć? > Czy nie możesz mieć, bo pracujesz tylko nad tajnymi projektami? Teoretycy gawędziarze nie mogą nic pokazać, bo ich siłą nie są konkrety tylko znokautowanie przeciwnika pozornie logicznymi argumentami. Nazwałbym to retoryką sofizmatyczną ;-) >> BTW w Pythonie obsługa com-a jest boleśnie prosta: import, otwarcie, >> zamknięcie. Trzy linijki. No i oczywiście komunikacja. Poszukaj w >> Google. > > Dzięki. Zapytam w pracy, czy nie możemy przepisać całego systemu na Pythona ;] Za tydzień poradzi Ci Perla, gdy się okaże, że masz jakieś operacje na łancuchach tekstowych, więc się tak nie rwij ;-) -- pozdrawiam Roman Tyczka
[toc] | [prev] | [next] | [standalone]
| From | godek.maciek@gmail.com |
|---|---|
| Date | 2016-10-01 01:54 -0700 |
| Message-ID | <0613872d-4f70-44e3-9a86-1892069ddada@googlegroups.com> |
| In reply to | #28986 |
W dniu sobota, 1 października 2016 09:16:37 UTC+2 użytkownik Roman Tyczka napisał: > Teoretycy gawędziarze nie mogą nic pokazać, bo ich siłą nie są konkrety > tylko znokautowanie przeciwnika pozornie logicznymi argumentami. Nazwałbym > to retoryką sofizmatyczną ;-) Przyznam, że w moim umyśle zostało zasiane ziarno niepewności. Z jednej strony, jak czytam gościa, który mówi coś o "gimbazie" (ergo sam jest raczej z rocznika, który kończył gimnazium) i opowiada, jak to "ćwierć wieku temu programował w Pascalu na kartach perforowanych", to sobie myślę, że chyba musiał mocno nadinterpretowywać swoje sranie do pieluchy. Ale owszem, oprócz rozbawienia zdarzają mi się momenty poirytowania, kiedy ów jegomość udaje, że nie widzi rzeczy, na które niewygodnie by mu było odpowiedzieć. Z drugiej strony momentami ciężko mi uwierzyć, że to jest prawdziwa osoba, i moja irytacja momentalnie zmienia się wówczas w podziw dla autora bota, który tak dobrze sobie radzi z przetwarzaniem otrzymanych informacji, i jeszcze dodatkowo posiada umiejętność wywoływania tak silnych emocji u ludzi. (A że bot nie dysponuje żadnymi rzeczowymi informacjami, tylko wypowiada różne ogólniki bez poparcia w doświadczeniu, to chyba normalne)
[toc] | [prev] | [next] | [standalone]
| From | Roman Tyczka <noemail@because.no> |
|---|---|
| Date | 2016-10-01 11:32 +0200 |
| Message-ID | <cnq0x7e9l0h1$.dlg@tyczka.com> |
| In reply to | #28990 |
On Sat, 1 Oct 2016 01:54:58 -0700 (PDT), godek.maciek@gmail.com wrote: > Z drugiej strony momentami ciężko mi uwierzyć, że to jest prawdziwa > osoba, i moja irytacja momentalnie zmienia się wówczas w podziw dla autora > bota, który tak dobrze sobie radzi z przetwarzaniem otrzymanych > informacji, i jeszcze dodatkowo posiada umiejętność wywoływania > tak silnych emocji u ludzi. (A że bot nie dysponuje żadnymi rzeczowymi > informacjami, tylko wypowiada różne ogólniki bez poparcia w doświadczeniu, > to chyba normalne) O bocie nie pomyślałem, ale w sumie jeśli tak na to spojrzeć to robi się dużo jaśniej, jego wywody często sprawiają wrażenie wyrwanych z kontekstu lub uparcie podążających w jednym kierunku, mimo, że po drodze dostaje informacje, które przeczą temu kierunkowi :-) No ale co począć, slawek to taki folklor tej grupy chyba. -- pozdrawiam Roman Tyczka
[toc] | [prev] | [next] | [standalone]
| From | "slawek" <slawek@host.pl> |
|---|---|
| Date | 2016-10-01 11:53 +0200 |
| Message-ID | <57ef8755$0$5164$65785112@news.neostrada.pl> |
| In reply to | #28986 |
Użytkownik "Roman Tyczka" <noemail@because.no> napisał w wiadomości grup
dyskusyjnych:1wbjlq5vg9yxq.dlg@tyczka.com...
> On Fri, 30 Sep 2016 14:11:36 -0700 (PDT), godek.maciek@gmail.com wrote:
> Teoretycy gawędziarze nie mogą nic pokazać, bo ich siłą nie są konkrety
> tylko znokautowanie przeciwnika pozornie logicznymi argumentami. Nazwałbym
> to retoryką sofizmatyczną ;-)
Jeżeli ktoś twierdzi, że jego jeden program to 1 milionów linii kodu - to
znaczy że jest autorem i ma copyright do 1 miliona linii kodu - to powinien
umieć to udowodnić, albo pogodzić się że sceptycy, tacy jak ja, będą uważali
go za konfabulanta and/or grafomana.
Na razie nie zobaczyłem ani linijki kodu z tego miliona, nie dowiedziałem
się nawet do czego ten program służy. Ok, rozumiem tajemnicę zawodową.
Niemniej jednak coś jest nie teges, jeżeli ktoś upiera się że jego program
to 1 milion linii kodu, a potem sam przyznaje iż przez znaczny okres
pracowało nad tym programem czworo ludzi, a obecnie jest troje programistów.
Niezależnie od wszystkiego innego... jest to po prostu nieetyczne.
I jeszcze drobiazg - ktoś czegoś takiego potrzebował - nie udało mi się
wyszukać programu w Pascalu na obsługę portu szeregowego (musiałbym
przekopywać się przez 5.25 calowe dyskietki, mam pod ręką napęd 3.5 calowy),
ale z archiwum wyciągnąłem program w C++ do testowania takowej. Oczywiście:
nie wysyłam całego - jak ktoś ma pracę domową "transmisja szeregowa" - to
większego pożytku z tego mieć nie będzie, brak plików *.h, *.rh, *.rc, *.ico
itd. itp. Ale mniej-więcej można się połapać co i jak robić. Polecam też
książkę Wojtka Mielczarka "Szeregowe interfejsy cyfrowe" ISBN 83-85701-23-0,
warto przejrzeć, chyba dalej aktualna (RS232C raczej się nie zmienił),
kosztowała 9 zł 10 gr, wydana przez Hellion w 1993.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// TESTOWANIE TRANSMISJI SZEREGOWEJ Z MIERNIKIEM METEX ILESTAM
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Pisane latem, w lipcu 1998 roku
// slawek
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include <owl/pch.h> // OWL Pre-Compiled Headers
#include <owl/checkbox.h> // Kazdy rodzaj kontrolek, ktory wystepuje w
programie, musi miec wlasny plik naglowkowy z deklaracja-
#include <owl/combobox.h> // mi klasy reprezentujacej takie kontrolki.
#include <owl/edit.h>
#include <owl/listbox.h>
#include <stdlib.h> // Funkcje konwersji w rodzaju atoi, itoa etc.
#include "comtest.rh" // Definicje odpowiednich stalych symbolicznych
zamiast "magicznych liczb" identyfikujacych odpowie-
// dnie elementy dialogow i innych elementow GUI
zawartych w tzw. zasobach programu (resources).
//==============================================================================================================================
const char IdPortStr[][16] = { "COM1", "COM2", "COM3", "COM4" };
const char IdPortVal[] = { 1 , 2 , 3 , 4 };
const char BaudRateStr[][16] = { "110", "300", "600",
"1200", "2400", "4800", "9600",
"14400", "19200", "38400",
"56000", "128000", "256000",};
const UINT BaudRateVal[] = { CBR_110 , CBR_300 , CBR_600 ,
CBR_1200 , CBR_2400 , CBR_4800 , CBR_9600,
CBR_14400 , CBR_19200 , CBR_38400 ,
CBR_56000 , CBR_128000, CBR_256000 };
const char ByteSizeStr[][16] = { "4", "5", "6", "7", "8"};
const BYTE ByteSizeVal[] = { 4 , 5 , 6 , 7 , 8 };
const char ParityStr[][16] = { "EVENPARITY", "MARKPARITY", "NOPARITY",
"ODDPARITY"};
const BYTE ParityVal[] = { EVENPARITY , MARKPARITY , NOPARITY ,
ODDPARITY };
const char StopBitsStr[][16] = { "ONESTOPBIT", "ONE5STOPBITS",
"TWOSTOPBITS"};
const BYTE StopBitsVal[] = { ONESTOPBIT , ONE5STOPBITS ,
TWOSTOPBITS };
//==============================================================================================================================
class TSelectCommDialog : public TDialog
{
public:
TSelectCommDialog(TWindow* parent, TResId resid); // Konstruktor, nieco
uproszczony (brak np. TModule).
void CmOk(); // Kiedy nacisniety
jest "Ok" ta metoda jest wywolywana.
private:
TListBox* IdPortBox;
protected:
virtual void SetupWindow(); // Wraz z metoda CmOk tworzy pare.
SetupWindow inicjalizuje odpowiednie elementy dialogu,
// natomiast CmOk odczytuje kontrolki (tj.
stany check-box'ow, teksty w okienkach edycyjnych
// itd.) i wykonuje akcje zgodne z wola
uzytkownika, wyrazona poprzez interakcje z dialogiem.
DECLARE_RESPONSE_TABLE(TSelectCommDialog);
};
// Ponizsza klasa przeznaczona jest do manipulowania _wszystkimi_
parametrami bloku DCB za pomoca odpowiedniego dialogu. Pola
// DCB okreslone jako "dummy" nie sa modyfikowalne - bo z definicji nie
wplywaja na transmisje.
class TSetupCommDialog : public TDialog
{
public:
TSetupCommDialog(TWindow* parent, TResId resid); // Konstruktor
void CmOk(); // Kiedy nacisniety
jest "Ok" ta metoda jest wywolywana. Zanim nie zostanie
// wywolana, stan portu
szeregowego nie jest zmieniany. Uwaga: stan portu
// szeregowego _jest_
zmieniany nawet wtedy, gdy uzytkownik nacisnie
// "Anuluj"! Jest to
jednak zmiana na identyczne parametry jak poprzednie,
// tj. sekwencja
GetCommState/SetCommState z tym samym DCB.
private:
TCheckBox* fBinaryBox; // Duza ilosc check-box'ow moglaby byc
zastapiona np. tablica kontrolek o kolejnych numerach
TCheckBox* fRtsDisableBox; // identyfikacyjnych. Doswiadczenie uczy
jednak, ze lepiej miec nawet az za duzo obiektow do en-
TCheckBox* fParityBox; // kapsulacji "czystych" kontrolek (i miec
mozliwosc pelnej manipulacji nimi za pomoca OWL)
TCheckBox* fOutxCtsFlowBox; // - niz czesc kontrolek (trudniejszych)
obslugiwac bezposrednio poprzez API Windows, a czesc
TCheckBox* fOutxDsrFlowBox; // poprzez OWL. W istocie takie deklaracje
duzej ilosci kontrolek robi sie latwo. Odwrotnie,
TCheckBox* fDtrDisableBox; // wlasciwe ich uzycie w programie wcale
takie mechaniczne nie jest. Uwaga: program nie ma nic
TCheckBox* fOutXBox; // wspolnego z ClassExpert'em. Nie uzywa
takze mechanizmu "transferu", albowiem mechanizm ten
TCheckBox* fInXBox; // okazuje sie dosc zawodny. Nazwy kontrolek
odpowiadaja nazwom pol struktury DCB takiej, jaka
TCheckBox* fPeCharBox; // jest zdefiniowana w API Win16, z
dopisanym "Box".
TCheckBox* fNullBox;
TCheckBox* fChEvtBox;
TCheckBox* fDtrflowBox;
TCheckBox* fRtsflowBox;
TComboBox* IdPortBox;
TComboBox* BaudRateBox;
TComboBox* ByteSizeBox;
TComboBox* ParityBox;
TComboBox* StopBitsBox;
TEdit* RlsTimeoutEdit;
TEdit* CtsTimeoutEdit;
TEdit* DsrTimeoutEdit;
TEdit* XonCharEdit;
TEdit* XoffCharEdit;
TEdit* XonLimEdit;
TEdit* XoffLimEdit;
TEdit* PeCharEdit;
TEdit* EofCharEdit;
TEdit* EvtCharEdit;
TEdit* TxDelayEdit;
protected:
virtual void SetupWindow(); // Wraz z metoda CmOk tworzy pare.
SetupWindow inicjalizuje odpowiednie elementy dialogu,
// natomiast CmOk odczytuje kontrolki (tj.
stany check-box'ow, teksty w okienkach edycyjnych
// itd.) i wykonuje akcje zgodne z wola
uzytkownika, wyrazona poprzez interakcje z dialogiem.
DECLARE_RESPONSE_TABLE(TSetupCommDialog);
};
// Jeszcze jeden warpper - tym razem do manipulacji dialogiem, pozwalajacym
wybrac ksztalt lancucha bajtow wysylanych do METEX'a
class TSetupTestDialog : public TDialog
{
public:
TSetupTestDialog(TWindow* parent, TResId resid);
void CmOk();
private:
TCheckBox* crBox;
TCheckBox* lfBox;
TCheckBox* nullBox;
protected:
virtual void SetupWindow();
DECLARE_RESPONSE_TABLE(TSetupTestDialog);
};
// Program ma glowne okno wywiedzione z klasy TFrameWindow. Glowne okono
jest jedynie konstrukcyjna "rama". Komunikacja szerego-
// wa odbywa sie jednak z oknem-klientem pochodzacym od TWindow (scislej
TMyWindow), zadeklarowanym ponizej. W danej chwili
// w programie istnieje tylko jedno okno klasy TMyFrameWindow i tylko jedno
okono klasy TMyWindow.
class TMyWindow : public TWindow
{
public:
TMyWindow(TWindow* parent, const char far* title);
virtual bool CanClose();
virtual void Paint(TDC& dc, bool erase, TRect& rect);
friend TSetupCommDialog;
friend TSetupTestDialog;
friend TSelectCommDialog;
private:
bool isComBusy; // Flaga, ktora jest true jezeli port jest otwarty.
Zabezpiecza przed zbyt pospiesznym zakonczeniem progra-
// mu, ktore doprowadziloby to ew. bledu przy kolejnych
uruchomieniach (chyba, ze system zamknie port sam).
int idComPort; // Identyfikator portu szeregowego. Tzn. idComPort rowny
dwa odpowiada portowi COM2, rowny np. 3 to COM3
// itd. Domysla wartosc wynika z tego, ze ja mam myszke
(szeregowa) na COM1.
int idComDev; // Identyfikator (uchwyt) do otwartego kanalu transmisji
przez port szeregowy (patrz OpenComm).
char input[32]; // Bufory wejsciowy i wyjsciowy dla transmisji
szeregowej. Bufor wejsciowy, czyli input, to ten,
char output[32];// ktory jest przez program ComTest czytany. Zapisy w
nim sa sporzadzane przez urzadzenie zewnetrzne (tj.
// miernik Metex) kierujacy do komputera dane
retransmitowane nastepnie przez system operacyjny.
int cbInput; // Liczba znakow w buforach odpowiednio input i output.
int cbOutput;
bool send_cr; // Jezeli wszystkie sa true, to do urzadzenia o uchwycie
idComDev wysylane jest lancuch "D\0x0A\0x0D\0",
bool send_lf; // jezeli ktoras z tych flag jest false, to urzadzenie
to nie otrzymuje odpowiedniego znaku z podanego
bool send_null; // wyzej ciagu - odpowiednio CR albo LF albo NULL
(ewentualnie nawet zadnego z nich).
DCB dcb; // Device Control Block, struktura ktora przechowuje
ustawienia portu szeregowego (por. SetCommState).
void CheckCommState(); // Sprawdza stan lacza szeregowego, a w razie
bledu pokazuje MessageBox.
protected:
void CmSelectComm();
void CmOpenComm(); // Otwiera lacze szeregowe (wywolujac funkcje API
Win16) przez OpenComm. Wywoluje tez SetCommState.
void CmCloseComm(); // Zamyka lacze szeregowe (wywolujac funkcje API
Win16) przez CloseComm.
void CmSetupComm(); // Najpierw wywoluje GetCommState, potem pozwala
zmodyfikowac DCB i wywoluje SetCommState.
void CmFlushComm(); // Wymiata bufory (wejsciowy i wyjsciowy) przed dwa
kolejne wywolania FlushComm.
void CmWriteComm(); // Kieruje do urzadzenia idComDev stosowny lancuch
znakow (wywoluje WriteComm).
void CmReadComm(); // Odczytuje urzadzenie idCommDev za pomoca funkcji
ReadComm. Wyniki wyswietla.
void CmSetupTest(); // Pozwala poprzez GUI manipulowac flagami send_...
void CmRunTest(); // Testuje CommEvent's tak, aby odczyt nastepowal
wtedy, gdy bufor input otrzymac moze juz 14 bajtow.
void CmAbout();
void EvCommNotify(uint commId, uint status); // Funkcja obslugi
komunikatu WM_COMMNOTIFY, dosc uproszczona (patrz wyzej).
DECLARE_RESPONSE_TABLE(TMyWindow);
};
// Klasa TMyApplication, jak w kazdym programie OWL.
class TMyApplication : public TApplication
{
public:
TMyApplication() : TApplication("Comtest") {};
protected:
virtual void InitMainWindow();
};
//==============================================================================================================================
// Definicje tabel pozwalajacych powiazac komunikaty Windows z odpowiednimi
metodami. Trzy pierwsze sa trywialne i odpowiadaja
// dialogom. Czwarta rozdysponowuje polecenia glownego menu programu. Uwaga:
w tej samej kolejnosci beda ponizej metody danych
// klas.
DEFINE_RESPONSE_TABLE1(TSelectCommDialog, TDialog)
EV_COMMAND(IDOK, CmOk),
END_RESPONSE_TABLE;
DEFINE_RESPONSE_TABLE1(TSetupCommDialog, TDialog)
EV_COMMAND(IDOK, CmOk),
END_RESPONSE_TABLE;
DEFINE_RESPONSE_TABLE1(TSetupTestDialog, TDialog)
EV_COMMAND(IDOK, CmOk),
END_RESPONSE_TABLE;
DEFINE_RESPONSE_TABLE1(TMyWindow, TWindow)
EV_COMMAND(CM_SELECTCOMM,CmSelectComm),
EV_COMMAND(CM_OPENCOMM, CmOpenComm),
EV_COMMAND(CM_CLOSECOMM, CmCloseComm),
EV_COMMAND(CM_FLUSHCOMM, CmFlushComm),
EV_COMMAND(CM_SETUPCOMM, CmSetupComm),
EV_COMMAND(CM_WRITECOMM, CmWriteComm),
EV_COMMAND(CM_READCOMM, CmReadComm),
EV_COMMAND(CM_SETUPTEST, CmSetupTest),
EV_COMMAND(CM_RUNTEST, CmRunTest),
EV_COMMAND(CM_ABOUT, CmAbout),
EV_WM_COMMNOTIFY,
END_RESPONSE_TABLE;
//==============================================================================================================================
TSelectCommDialog::TSelectCommDialog(TWindow* parent, TResId resid) :
TDialog(parent, resid)
{
IdPortBox = new TListBox(this,IDC_LISTBOX_IDPORT);
}
void TSelectCommDialog::SetupWindow()
{
TDialog::SetupWindow();
for(int i = 0; i < sizeof IdPortVal / sizeof IdPortVal[0]; i++)
IdPortBox->AddString(IdPortStr[i]);
IdPortBox->SetSelIndex(static_cast<TMyWindow*>(Parent)->idComPort - 1);
}
void TSelectCommDialog::CmOk()
{
static_cast<TMyWindow*>(Parent)->idComPort = IdPortBox->GetSelIndex() + 1;
TDialog::CmOk();
}
//------------------------------------------------------------------------------------------------------------------------------
TSetupCommDialog::TSetupCommDialog(TWindow* parent, TResId resid) : TDialog
(parent,resid)
{
fBinaryBox = new TCheckBox(this,IDC_CHECKBOX_FBINARY);
fRtsDisableBox = new TCheckBox(this,IDC_CHECKBOX_FRTSDISABLE);
fParityBox = new TCheckBox(this,IDC_CHECKBOX_FPARITY);
fOutxCtsFlowBox = new TCheckBox(this,IDC_CHECKBOX_FOUTXCTSFLOW);
fOutxDsrFlowBox = new TCheckBox(this,IDC_CHECKBOX_FOUTXDSRFLOW);
fDtrDisableBox = new TCheckBox(this,IDC_CHECKBOX_FDTRDISABLE);
fOutXBox = new TCheckBox(this,IDC_CHECKBOX_FOUTX);
fInXBox = new TCheckBox(this,IDC_CHECKBOX_FINX);
fPeCharBox = new TCheckBox(this,IDC_CHECKBOX_FPECHAR);
fNullBox = new TCheckBox(this,IDC_CHECKBOX_FNULL);
fChEvtBox = new TCheckBox(this,IDC_CHECKBOX_FCHEVENT);
fDtrflowBox = new TCheckBox(this,IDC_CHECKBOX_FDTRFLOW);
fRtsflowBox = new TCheckBox(this,IDC_CHECKBOX_FRTSFLOW);
IdPortBox = new TComboBox(this,IDC_COMBOBOX_IDPORT);
BaudRateBox = new TComboBox(this,IDC_COMBOBOX_BAUDRATE);
ByteSizeBox = new TComboBox(this,IDC_COMBOBOX_BYTESIZE);
ParityBox = new TComboBox(this,IDC_COMBOBOX_PARITY);
StopBitsBox = new TComboBox(this,IDC_COMBOBOX_STOPBITS);
RlsTimeoutEdit = new TEdit(this,IDC_EDIT_RLSTIMEOUT);
CtsTimeoutEdit = new TEdit(this,IDC_EDIT_CTSTIMEOUT);
DsrTimeoutEdit = new TEdit(this,IDC_EDIT_DSRTIMEOUT);
XonCharEdit = new TEdit(this,IDC_EDIT_XONCHAR);
XoffCharEdit = new TEdit(this,IDC_EDIT_XOFFCHAR);
XonLimEdit = new TEdit(this,IDC_EDIT_XONLIM);
XoffLimEdit = new TEdit(this,IDC_EDIT_XOFFLIM);
PeCharEdit = new TEdit(this,IDC_EDIT_PECHAR);
EofCharEdit = new TEdit(this,IDC_EDIT_EOFCHAR);
EvtCharEdit = new TEdit(this,IDC_EDIT_EVTCHAR);
TxDelayEdit = new TEdit(this,IDC_EDIT_TXDELAY);
}
void TSetupCommDialog::SetupWindow()
{
TDialog::SetupWindow();
TMyWindow* p = static_cast<TMyWindow*>(Parent);
if(GetCommState(((TMyWindow*)Parent)->idComDev,&p->dcb) < 0)
MessageBox("GetComState fails");
fBinaryBox ->SetCheck(p->dcb.fBinary ? BF_CHECKED :
BF_UNCHECKED);
fRtsDisableBox ->SetCheck(p->dcb.fRtsDisable ? BF_CHECKED :
BF_UNCHECKED);
fParityBox ->SetCheck(p->dcb.fParity ? BF_CHECKED :
BF_UNCHECKED);
fOutxCtsFlowBox->SetCheck(p->dcb.fOutxCtsFlow ? BF_CHECKED :
BF_UNCHECKED);
fOutxDsrFlowBox->SetCheck(p->dcb.fOutxDsrFlow ? BF_CHECKED :
BF_UNCHECKED);
fDtrDisableBox ->SetCheck(p->dcb.fDtrDisable ? BF_CHECKED :
BF_UNCHECKED);
fOutXBox ->SetCheck(p->dcb.fOutX ? BF_CHECKED :
BF_UNCHECKED);
fInXBox ->SetCheck(p->dcb.fInX ? BF_CHECKED :
BF_UNCHECKED);
fPeCharBox ->SetCheck(p->dcb.fPeChar ? BF_CHECKED :
BF_UNCHECKED);
fNullBox ->SetCheck(p->dcb.fNull ? BF_CHECKED :
BF_UNCHECKED);
fChEvtBox ->SetCheck(p->dcb.fChEvt ? BF_CHECKED :
BF_UNCHECKED);
fDtrflowBox ->SetCheck(p->dcb.fDtrflow ? BF_CHECKED :
BF_UNCHECKED);
fRtsflowBox ->SetCheck(p->dcb.fRtsflow ? BF_CHECKED :
BF_UNCHECKED);
int i;
char buffer[32];
for(i = 0; i < sizeof IdPortVal / sizeof IdPortVal[0]; i++)
IdPortBox->AddString(IdPortStr[i]);
IdPortBox->SetSelIndex(p->idComPort - 1);
for(i = 0; i < sizeof BaudRateVal / sizeof BaudRateVal[0]; i++)
BaudRateBox->AddString(BaudRateStr[i]);
BaudRateBox->SetText(itoa(p->dcb.BaudRate,buffer,10));
for(i = 0; i < sizeof BaudRateVal / sizeof BaudRateVal[0]; i++)
if(p->dcb.BaudRate == BaudRateVal[i]) BaudRateBox->SetSelIndex(i);
for(i = 0; i < sizeof ByteSizeVal / sizeof ByteSizeVal[0]; i++)
ByteSizeBox->AddString(ByteSizeStr[i]);
ByteSizeBox->SetText(itoa(p->dcb.ByteSize,buffer,10));
for(i = 0; i < sizeof ParityVal / sizeof ParityVal[0]; i++)
ParityBox->AddString(ParityStr[i]);
for(i = 0; i < sizeof ParityVal / sizeof ParityVal[0]; i++)
if(p->dcb.Parity == ParityVal[i]) ParityBox->SetSelIndex(i);
for(i = 0; i < sizeof StopBitsVal / sizeof StopBitsVal[0]; i++)
StopBitsBox->AddString(StopBitsStr[i]);
for(i = 0; i < sizeof StopBitsVal / sizeof StopBitsVal[0]; i++)
if(p->dcb.StopBits == StopBitsVal[i]) StopBitsBox->SetSelIndex(i);
RlsTimeoutEdit->SetText(itoa(p->dcb.RlsTimeout,buffer,10));
CtsTimeoutEdit->SetText(itoa(p->dcb.CtsTimeout,buffer,10));
DsrTimeoutEdit->SetText(itoa(p->dcb.DsrTimeout,buffer,10));
XonCharEdit ->SetText(itoa(p->dcb.XonChar, buffer,10));
XoffCharEdit->SetText(itoa(p->dcb.XoffChar,buffer,10));
XonLimEdit ->SetText(itoa(p->dcb.XonLim, buffer,10));
XoffLimEdit ->SetText(itoa(p->dcb.XoffLim, buffer,10));
PeCharEdit ->SetText(itoa(p->dcb.PeChar, buffer,10));
EofCharEdit ->SetText(itoa(p->dcb.EofChar, buffer,10));
EvtCharEdit ->SetText(itoa(p->dcb.EvtChar, buffer,10));
TxDelayEdit ->SetText(itoa(p->dcb.TxDelay, buffer,10));
}
void TSetupCommDialog::CmOk()
{
TMyWindow* p = static_cast<TMyWindow*>(Parent);
p->dcb.fBinary = fBinaryBox ->GetCheck() == BF_CHECKED;
p->dcb.fRtsDisable = fRtsDisableBox ->GetCheck() == BF_CHECKED;
p->dcb.fParity = fParityBox ->GetCheck() == BF_CHECKED;
p->dcb.fOutxCtsFlow = fOutxCtsFlowBox->GetCheck() == BF_CHECKED;
p->dcb.fOutxDsrFlow = fOutxDsrFlowBox->GetCheck() == BF_CHECKED;
p->dcb.fDtrDisable = fDtrDisableBox ->GetCheck() == BF_CHECKED;
p->dcb.fOutX = fOutXBox ->GetCheck() == BF_CHECKED;
p->dcb.fInX = fInXBox ->GetCheck() == BF_CHECKED;
p->dcb.fPeChar = fPeCharBox ->GetCheck() == BF_CHECKED;
p->dcb.fNull = fNullBox ->GetCheck() == BF_CHECKED;
p->dcb.fChEvt = fChEvtBox ->GetCheck() == BF_CHECKED;
p->dcb.fDtrflow = fDtrflowBox ->GetCheck() == BF_CHECKED;
p->dcb.fRtsflow = fRtsflowBox ->GetCheck() == BF_CHECKED;
int i;
char buffer[32];
i = BaudRateBox->GetSelIndex();
if(0 <= i && i < sizeof BaudRateVal / sizeof BaudRateVal[0])
p->dcb.BaudRate = BaudRateVal[i];
else{
BaudRateBox->GetText(buffer,sizeof buffer);
p->dcb.BaudRate == atoi(buffer);
}
p->dcb.ByteSize = ByteSizeVal[ByteSizeBox->GetSelIndex()];
p->dcb.Parity = ParityVal [ParityBox ->GetSelIndex()];
p->dcb.StopBits = StopBitsVal[StopBitsBox->GetSelIndex()];
RlsTimeoutEdit->GetText(buffer,sizeof buffer); p->dcb.RlsTimeout =
atoi(buffer);
CtsTimeoutEdit->GetText(buffer,sizeof buffer); p->dcb.CtsTimeout =
atoi(buffer);
DsrTimeoutEdit->GetText(buffer,sizeof buffer); p->dcb.DsrTimeout =
atoi(buffer);
XonCharEdit ->GetText(buffer,sizeof buffer); p->dcb.XonChar =
atoi(buffer);
XoffCharEdit->GetText(buffer,sizeof buffer); p->dcb.XoffChar =
atoi(buffer);
XonLimEdit ->GetText(buffer,sizeof buffer); p->dcb.XonLim =
atoi(buffer);
XoffLimEdit ->GetText(buffer,sizeof buffer); p->dcb.XoffLim =
atoi(buffer);
PeCharEdit ->GetText(buffer,sizeof buffer); p->dcb.PeChar =
atoi(buffer);
EofCharEdit ->GetText(buffer,sizeof buffer); p->dcb.EofChar =
atoi(buffer);
EvtCharEdit ->GetText(buffer,sizeof buffer); p->dcb.EvtChar =
atoi(buffer);
TxDelayEdit ->GetText(buffer,sizeof buffer); p->dcb.TxDelay =
atoi(buffer);
if(SetCommState(&p->dcb) < 0) MessageBox("SetComState fails");
TDialog::CmOk();
}
//------------------------------------------------------------------------------------------------------------------------------
TSetupTestDialog::TSetupTestDialog(TWindow* parent, TResId resid) :
TDialog(parent,resid)
{
crBox = new TCheckBox(this,IDC_CHECKBOX_CR);
lfBox = new TCheckBox(this,IDC_CHECKBOX_LF);
nullBox = new TCheckBox(this,IDC_CHECKBOX_NULL);
}
void TSetupTestDialog::SetupWindow()
{
TDialog::SetupWindow();
crBox ->SetCheck(static_cast<TMyWindow*>(Parent)->send_cr);
lfBox ->SetCheck(static_cast<TMyWindow*>(Parent)->send_lf);
nullBox->SetCheck(static_cast<TMyWindow*>(Parent)->send_null);
}
void TSetupTestDialog::CmOk()
{
static_cast<TMyWindow*>(Parent)->send_cr = crBox ->GetCheck() ==
BF_CHECKED;
static_cast<TMyWindow*>(Parent)->send_lf = lfBox ->GetCheck() ==
BF_CHECKED;
static_cast<TMyWindow*>(Parent)->send_null = nullBox->GetCheck() ==
BF_CHECKED;
TDialog::CmOk();
}
//------------------------------------------------------------------------------------------------------------------------------
TMyWindow::TMyWindow(TWindow* parent, const char far* title) :
TWindow(parent, title)
{
isComBusy = false; // Nic nie jest jeszcze otwarte.
idComPort = 2; // Mam myszke na COM1 i dlatego wybieram port COM2
(uwaga - sa jeszcze COM3, COM4, ...)
idComDev = 0; // To nie jest potrzebne.
memset(input, 0, sizeof input); // To tez (chyba?) nie jest konieczne.
Nie zawsze jednak robi sie rzeczy, ktore sa konieczne
memset(output, 0, sizeof output); // - czasem moze sie oplacac wyzerowanie
nieuzywanych jeszcze zmniennych, ot tak, na wszelki
memset(&dcb, 0, sizeof dcb); // wypadek, aby nie bylo w nich
przypadkowych wartosci.
cbInput = 0;
cbOutput = 0;
send_cr = false; // W zasadzie powinna wystarczac sama litera 'D'
wyslana do miernika METEX. Dlatego wszystkie te flagi
send_lf = false; // maja ustawiona wartosc na false. Potem mozna to
bedzie zmienic - przez odpowiedni dialog.
send_null = false;
}
void TMyWindow::Paint(TDC& dc, bool erase, TRect& rect)
{
dc.DrawText(input, cbInput, GetClientRect());
}
bool TMyWindow::CanClose()
{
if (isComBusy)
switch(MessageBox("Com is in use!\nShould I close the com?", "Comtest",
MB_YESNOCANCEL | MB_ICONQUESTION)) {
case IDYES: CmCloseComm(); return true;
case IDNO: return true;
case IDCANCEL: return false;
}
return true;
}
void TMyWindow::CheckCommState()
{
char ErrorStr[][128] = {
"CE_BREAK Hardware detected a break condition.",
"CE_CTSTO CTS (clear-to-send) timeout.",
"CE_DNS Parallel device was not selected.",
"CE_DSRTO DSR (data-set-ready) timeout.",
"CE_FRAME Hardware detected a framing error.",
"CE_IOE I/O error occurred during an attempt to communicate with a
parallel device.",
"CE_MODE Requested mode is not supported.",
"CE_OOP Parallel device signaled that it is out of paper.",
"CE_OVERRUN Character was not read from the hardware before the next
character arrived.",
"CE_PTO Timeout occurred during an attempt to communicate with a
parallel device.",
"CE_RLSDTO RLSD (receive-line-signal-detect) timeout.",
"CE_RXOVER Receiving queue overflowed.",
"CE_RXPARITY Hardware detected a parity error.",
"CE_TXFULL Transmission queue was full when a function attempted to
queue a character."
};
int ErrorVal[] = { CE_BREAK, CE_CTSTO, CE_DNS, CE_DSRTO, CE_FRAME, CE_IOE,
CE_MODE, CE_OOP, CE_OVERRUN, CE_PTO, CE_RLSDTO,
CE_RXOVER, CE_RXPARITY, CE_TXFULL };
int err = GetCommError(idComDev,NULL);
for(int i = 0; i < sizeof ErrorVal / sizeof ErrorVal[0]; i++) if(err &
ErrorVal[i]) MessageBox(ErrorStr[i]);
}
void TMyWindow::CmSelectComm()
{
TSelectCommDialog(this,IDD_SELECTCOMM).Execute();
}
void TMyWindow::CmOpenComm()
{
if(CanClose()){
idComDev = OpenComm(IdPortStr[idComPort-1], sizeof input, sizeof
output);
char ErrorStr[][32] = {
"OpenComm fails: IE_BADID",
"OpenComm fails: IE_BAUDRATE",
"OpenComm fails: IE_BYTESIZE",
"OpenComm fails: IE_DEFAULT",
"OpenComm fails: IE_HARDWARE",
"OpenComm fails: IE_MEMORY",
"OpenComm fails: IE_NOPEN",
"OpenComm fails: IE_OPEN"
};
int ErrorVal[] = { IE_BADID, IE_BAUDRATE, IE_BYTESIZE, IE_DEFAULT,
IE_HARDWARE, IE_MEMORY, IE_NOPEN, IE_OPEN };
for(int i = 0; i < sizeof ErrorVal / sizeof ErrorVal[0]; i++)
if(idComDev == ErrorVal[i]) MessageBox(ErrorStr[i]);
isComBusy = (idComDev >= 0);
char buffer[32];
lstrcpy(buffer,IdPortStr[idComPort - 1]);
lstrcat(buffer,":1200,n,7,2");
if(BuildCommDCB(buffer, &dcb) < 0) MessageBox("BuildCommDCB fails");
if(SetCommState(&dcb) < 0) MessageBox("SetComState fails");
if(GetCommState(idComDev,&dcb) < 0) MessageBox("GetComState fails");
CheckCommState();
}
}
void TMyWindow::CmCloseComm()
{
CheckCommState();
if(CloseComm(idComDev) < 0) MessageBox("CloseComm fails");
isComBusy = false;
}
void TMyWindow::CmSetupComm()
{
CheckCommState();
TSetupCommDialog(this,IDD_SETCOMMSTATE).Execute();
CheckCommState();
}
void TMyWindow::CmFlushComm()
{
FlushComm(idComDev,0);
FlushComm(idComDev,1);
}
void TMyWindow::CmWriteComm()
{
cbOutput = 0;
output[cbOutput++] = 'D';
if(send_cr) output[cbOutput++] = '\r';
if(send_lf) output[cbOutput++] = '\n';
if(send_null) output[cbOutput++] = '\0';
WriteComm(idComDev,output,cbOutput);
}
void TMyWindow::CmReadComm()
{
cbInput = ReadComm(idComDev,input,sizeof input);
Invalidate();
}
void TMyWindow::CmSetupTest()
{
TSetupTestDialog(this,IDD_SETUPTEST).Execute();
}
void TMyWindow::CmRunTest()
{
if(!EnableCommNotification(idComDev, HWindow, 14, 0))
MessageBox("EnableCommNotification failed");
CmWriteComm();
}
void TMyWindow::EvCommNotify(uint commId, uint status)
{
if(commId == idComDev){
if(status == CN_RECEIVE){
cbInput = ReadComm(idComDev,input,sizeof input);
CmRunTest();
TWindowDC dc(HWindow);
dc.DrawText(input, cbInput, GetClientRect());
}
}
}
void TMyWindow::CmAbout()
{
TDialog(this,IDD_ABOUT).Execute();
}
//------------------------------------------------------------------------------------------------------------------------------
void TMyApplication::InitMainWindow()
{
TWindow* client = new TMyWindow(0,"Hello");
TFrameWindow* frame = new TFrameWindow(NULL, "Comtest",client);
frame->SetIcon(this, IDI_ICON);
frame->AssignMenu(IDM_MENU);
SetMainWindow(frame);
}
//==============================================================================================================================
int OwlMain(int /*argc*/, char* /*argv*/[])
{
TMyApplication app;
return app.Run();
}
//==============================================================================================================================
[toc] | [prev] | [next] | [standalone]
| From | godek.maciek@gmail.com |
|---|---|
| Date | 2016-10-01 03:41 -0700 |
| Message-ID | <e336bf44-c8a4-4435-bf8f-b83c9cc5f71a@googlegroups.com> |
| In reply to | #28992 |
W dniu sobota, 1 października 2016 11:52:23 UTC+2 użytkownik slawek napisał: > > Teoretycy gawędziarze nie mogą nic pokazać, bo ich siłą nie są konkrety > > tylko znokautowanie przeciwnika pozornie logicznymi argumentami. Nazwałbym > > to retoryką sofizmatyczną ;-) > > Jeżeli ktoś twierdzi, że jego jeden program to 1 milionów linii kodu - to > znaczy że jest autorem i ma copyright do 1 miliona linii kodu - to powinien > umieć to udowodnić, albo pogodzić się że sceptycy, tacy jak ja, będą uważali > go za konfabulanta and/or grafomana. Może też nie każdy ma na tyle duże kompleksy, żeby musieć coś udowadniać samozwańczym kozakom z usenetu, tym bardziej, że owo udowadnianie nie służyłoby żadnemu innemu celowi. > Na razie nie zobaczyłem ani linijki kodu z tego miliona, nie dowiedziałem > się nawet do czego ten program służy. Ok, rozumiem tajemnicę zawodową. Pominę kwestię, że nawet o to nie zapytałeś. > Niemniej jednak coś jest nie teges, jeżeli ktoś upiera się że jego program > to 1 milion linii kodu, a potem sam przyznaje iż przez znaczny okres > pracowało nad tym programem czworo ludzi, a obecnie jest troje programistów. > Niezależnie od wszystkiego innego... jest to po prostu nieetyczne. Dlaczego nieetyczne? > I jeszcze drobiazg - ktoś czegoś takiego potrzebował - nie udało mi się > wyszukać programu w Pascalu na obsługę portu szeregowego (musiałbym > przekopywać się przez 5.25 calowe dyskietki, mam pod ręką napęd 3.5 calowy), > ale z archiwum wyciągnąłem program w C++ do testowania takowej. Oczywiście: > nie wysyłam całego - jak ktoś ma pracę domową "transmisja szeregowa" - to > większego pożytku z tego mieć nie będzie, brak plików *.h, *.rh, *.rc, *.ico > itd. itp. Ale mniej-więcej można się połapać co i jak robić. Polecam też > książkę Wojtka Mielczarka "Szeregowe interfejsy cyfrowe" ISBN 83-85701-23-0, > warto przejrzeć, chyba dalej aktualna (RS232C raczej się nie zmienił), > kosztowała 9 zł 10 gr, wydana przez Hellion w 1993. > > #include <owl/pch.h> // OWL Pre-Compiled Headers > #include <owl/checkbox.h> // Kazdy rodzaj kontrolek, ktory wystepuje w [...] Na przyszłość poleciłbym raczej wrzucanie większych fragmentów kodu na serwisy w rodzaju pastebin albo github. Czytnik usenetu niekonieczne jest dobrą przeglądarką kodu źródłowego. Ogólnie z całego programu podobało mi się użycie nazw CmOk. Zabawne zresztą jest to, że na moją uwagę, że obsługa portu szeregowego w .NET jest zjebana, wysyłasz jakiś -- jak twierdzisz -- swój stary kod w C++. To działanie ma coś na celu?
[toc] | [prev] | [next] | [standalone]
| From | slawek <fake@fakeemail.com> |
|---|---|
| Date | 2016-10-01 13:21 +0200 |
| Message-ID | <almarsoft.59127169069628211@news.v.pl> |
| In reply to | #28994 |
On Sat, 1 Oct 2016 03:41:07 -0700 (PDT), godek.maciek@gmail.com wrote: > Pominę kwestię, że nawet o to nie zapytałeś. Przeczytaj uważnie pierwszy wpis w tym wątku: wyraźnie jest pytanie. Proste i sensowne. > Dlaczego nieetyczne? Bo jest nieetyczne przypisywanie sobie wyłącznego autorstwa dzieła, które to dzieło ma także innych współautorów. W większości cywilizowanych państw może być to także karane jako przestępstwo i/lub być podstawą do oskarżeń przez współautorów. I naturalnie po jednym takim fikołku nikt z IQ powyżej ameby może nie chcieć robić z tobą czegokolwiek razem. De facto jest to forma piractwa rozumianego jako naruszenie prawa autorskiego. Nota bene, coś podobnego zdarzyło się studentowi na praktyce w Pewnej Dużej Firmie. Konkurencja wyjechała z pozwem. Duża Firma miała nieciekawie, uczelnia miała kłopoty, a student zwyczajnie miał przesłane. Co najgorsze: studenty straciły raz na zawsze możliwość tych praktyk. Czyli jeden geniusz zchrzanił nie tylko swoje życie, ale przy okazji wszystkim kolegom i koleżankom. Z bieżącego roku i wszystkich kolejnych. > Na przyszłość poleciłbym raczej wrzucanie większyc= > h fragmentów kodu > na serwisy w rodzaju pastebin albo github. Czytnik usenetu niekonieczne Jakby ci tu... A już wiem. Taki karny jeżyk to był. Zresztą 600 linijek to dużo nie jest. Ciesz się że nie jest to godzinny film 4K po UUencode. > w .NET jest zjebana, wysyłasz jakiś -- jak twierdzisz -- swó= > j stary kod > w C++. To działanie ma coś na celu?
[toc] | [prev] | [next] | [standalone]
| From | Kviat <null> |
|---|---|
| Date | 2016-10-01 13:33 +0200 |
| Message-ID | <57ef9f1d$0$15198$65785112@news.neostrada.pl> |
| In reply to | #28995 |
W dniu 2016-10-01 o 13:21, slawek pisze: > > Bo jest nieetyczne przypisywanie sobie wyłącznego autorstwa dzieła, > które to dzieło ma także innych współautorów. W większości > cywilizowanych państw może być to także karane jako przestępstwo i/lub > być podstawą do oskarżeń przez współautorów. I naturalnie po jednym > takim fikołku nikt z IQ powyżej ameby może nie chcieć robić z tobą > czegokolwiek razem. Brak umiejętności czytania ze zrozumieniem też jest nieetyczne. Powinno być karane śmiercią. Jeszcze raz, powoli: wloochacz napisał, że _jego_ program ma mln linii kodu. Gdzie ty tam wyczytałeś, że sobie przypisuje wyłączne autorstwo? Pozdrawiam Piotr
[toc] | [prev] | [next] | [standalone]
| From | Tomasz Kaczanowski <kaczus@dowyciecia_poczta.onet.pl> |
|---|---|
| Date | 2016-10-03 10:40 +0200 |
| Message-ID | <57f21980$0$15195$65785112@news.neostrada.pl> |
| In reply to | #28995 |
W dniu 2016-10-01 13:21, slawek napisał: > On Sat, 1 Oct 2016 03:41:07 -0700 (PDT), godek.maciek@gmail.com wrote: >> Pominę kwestię, że nawet o to nie zapytałeś. > > Przeczytaj uważnie pierwszy wpis w tym wątku: wyraźnie jest pytanie. > Proste i sensowne. > >> Dlaczego nieetyczne? > > Bo jest nieetyczne przypisywanie sobie wyłącznego autorstwa dzieła, > które to dzieło ma także innych współautorów. W większości > cywilizowanych państw może być to także karane jako przestępstwo i/lub > być podstawą do oskarżeń przez współautorów. I naturalnie po jednym > takim fikołku nikt z IQ powyżej ameby może nie chcieć robić z tobą > czegokolwiek razem. > > De facto jest to forma piractwa rozumianego jako naruszenie prawa > autorskiego. Heh Trochę chyba po bandzie jedziesz, bo jak znalazłem, nie napisał, że jest to wyłącznie jego dzieło... w jednym z pierwszych postów w temacie napisał wloochacz: > Sam tworzę (znaczy, nie tylko sam) takie niszowe rozwiązanie w Delphi, ale nie jest powszechne, natomiast ładne i zaczyna dobrze działać Więc może nie sprowadzajmy dyskusji do jakiegoś bagna. Sam jestem ciekaw jak się potoczy dalsza historia języka, jak napisałem, sam się zdziwiłem tym, że już w latach 90 na politechnice postrzegany był jako język wymierający, natomiast w zastosowaniach biznesowych okazywał się jednym z podstawowych języków używanych w Polsce. -- Kaczus http://kaczus.ppa.pl
[toc] | [prev] | [next] | [standalone]
| From | wloochacz <wloochacz@no.spam.gmail.com> |
|---|---|
| Date | 2016-10-03 15:12 +0200 |
| Message-ID | <57f2594f$0$647$65785112@news.neostrada.pl> |
| In reply to | #29019 |
W dniu 2016-10-03 o 10:40, Tomasz Kaczanowski pisze: > > w jednym z pierwszych postów w temacie napisał wloochacz: >> Sam tworzę (znaczy, nie tylko sam) takie niszowe rozwiązanie w Delphi, >> ale nie jest powszechne, natomiast ładne i zaczyna dobrze działać Napisał, ponieważ pomysł, projekt i architektura jest mojego autorstwa (implementacja szczegółów - pewnie, że nie tylko ja to robię i dopinam. Gdyby tak było to na cholerę mi ludzie potrzebni?), firma jest moja, kod jest napisany w dużej części przeze mnie osobiście, a ludzi zatrudniam ja, a nie oni mnie. To nie komuna, ani spółka pracownicza. A poza tym - nie będę się trollowi tłumaczył, pokazywał kodu, ani niczego innego. No fucking way! > Więc może nie sprowadzajmy dyskusji do jakiegoś bagna. Sam jestem ciekaw > jak się potoczy dalsza historia języka, jak napisałem, sam się zdziwiłem > tym, że już w latach 90 na politechnice postrzegany był jako język > wymierający, To chyba przesada, bo to przecież złote czasy dla Delphi. Czyli było na zdecydowanej fali wznoszącej niż odwrotnie. > natomiast w zastosowaniach biznesowych okazywał się jednym > z podstawowych języków używanych w Polsce. Co do popularności Delphi w PL - jest tak sobie. Dużo więcej jest w Niemczech, Holandii i przede wszystkim Brazylii. Raczej na pewno, więcej używa się Delphi profesjonalnie w Czechach niż w PL. A co do zarzutów, że Delphi jest przestarzałe lub czegoś nie da się zrobić; troll naprawdę nie ma pojęcia czym pisze. Zgodziłbym się z tezą, że nie jest to awangarda (a i tu można dyskutować czy aby na pewno w każdym obszarze, bo w kwestii łatwości kompatybilności wstecznej zawsze było wręcz wzorcowo, a kwestii przenoszenia całych programów na inne platformy jest coraz, coraz lepiej). Delphi nie posiada też tak potężnego Community jak np. Java czy .NET. Nie jest tak popularne i siłą rzeczy nie ma wszystkich fajnych zabawek dostępnych w pudełku lub nawet jako rozwiązań firm trzecich. -- wloochacz
[toc] | [prev] | [next] | [standalone]
| From | slawek <fake@fakeemail.com> |
|---|---|
| Date | 2016-10-03 17:16 +0200 |
| Message-ID | <almarsoft.2642506240526472682@news.v.pl> |
| In reply to | #29020 |
On Mon, 3 Oct 2016 15:12:23 +0200, wloochacz <wloochacz@no.spam.gmail.com> wrote: > Napisał, ponieważ pomysł, projekt i architektura jest mojego autorstwa Być może. Ale to jeszcze nie wszystko. > jest napisany w dużej części przeze mnie W części. Nie w całości. > ludzi zatrudniam > ja, a nie oni mnie. Umowa o pracę (tak samo o dzieło) to umowa wzajemna. Jeżeli nie będzie chętnych na pracę u ciebie, to nikogo nie zatrudnisz. Nawet jeżeli ktoś się znajdzie, to wątpliwe czy będzie to ktoś z elity, czy raczej student nie mający lepszych ofert. Plus z takiego studenta to fakt że nie będzie mądrzejszy od ciebie. Nota bene, Pascal dla AVR kosztuje 249 USD, natomiast Atmel Studio 7 z C++ dla AVR jest zupełnie za darmo. Potrzebny jakiś komentarz?
[toc] | [prev] | [next] | [standalone]
| From | godek.maciek@gmail.com |
|---|---|
| Date | 2016-10-03 08:40 -0700 |
| Message-ID | <64fe2daa-204b-438e-8f27-5ba8e1a96d83@googlegroups.com> |
| In reply to | #29021 |
W dniu poniedziałek, 3 października 2016 17:17:20 UTC+2 użytkownik slawek napisał: > Umowa o pracę (tak samo o dzieło) to umowa wzajemna. Jeżeli nie > będzie chętnych na pracę u ciebie, to nikogo nie zatrudnisz. Nawet > jeżeli ktoś się znajdzie, to wątpliwe czy będzie to ktoś z elity, czy > raczej student nie mający lepszych ofert. Ty byłeś kiedyś gdziekolwiek zatrudniony? Owszem, umowa jest wzajemna, i zazwyczaj polega na tym, że jedna osoba (pracownik) wykonuje pracę, zaś druga (pracodawca) płaci jej za to pieniądze. Kwestie praw majątkowych do efektu wykonanej pracy są zazwyczaj określone w umowie. > Plus z takiego studenta to fakt że nie będzie mądrzejszy od ciebie. Nawet jeśli nie będzie mądrzejszy, to i tak może być pyskaty, i może mu się wydawać, że jest mądrzejszy od wszystkich. Z takimi jest najgorzej.
[toc] | [prev] | [next] | [standalone]
| From | "re" <re@re.invalid> |
|---|---|
| Date | 2016-10-13 19:09 +0200 |
| Message-ID | <ntof4l$a3i$1@mx1.internetia.pl> |
| In reply to | #29021 |
Użytkownik "slawek" > ludzi zatrudniam ja, a nie oni mnie. Umowa o pracę (tak samo o dzieło) to umowa wzajemna. Jeżeli nie będzie chętnych na pracę u ciebie, to nikogo nie zatrudnisz. Nawet jeżeli ktoś się znajdzie, to wątpliwe czy będzie to ktoś z elity, czy raczej student nie mający lepszych ofert. --- W Delphi tylko elita programuje :-)
[toc] | [prev] | [next] | [standalone]
| From | Tomasz Kaczanowski <kaczus@dowyciecia_poczta.onet.pl> |
|---|---|
| Date | 2016-10-04 07:54 +0200 |
| Message-ID | <57f3442d$0$5147$65785112@news.neostrada.pl> |
| In reply to | #29020 |
W dniu 2016-10-03 15:12, wloochacz napisał: > W dniu 2016-10-03 o 10:40, Tomasz Kaczanowski pisze: >> >> w jednym z pierwszych postów w temacie napisał wloochacz: >>> Sam tworzę (znaczy, nie tylko sam) takie niszowe rozwiązanie w Delphi, >>> ale nie jest powszechne, natomiast ładne i zaczyna dobrze działać > Napisał, ponieważ pomysł, projekt i architektura jest mojego autorstwa > (implementacja szczegółów - pewnie, że nie tylko ja to robię i dopinam. > Gdyby tak było to na cholerę mi ludzie potrzebni?), firma jest moja, kod > jest napisany w dużej części przeze mnie osobiście, a ludzi zatrudniam > ja, a nie oni mnie. > To nie komuna, ani spółka pracownicza. > > A poza tym - nie będę się trollowi tłumaczył, pokazywał kodu, ani > niczego innego. > No fucking way! > >> Więc może nie sprowadzajmy dyskusji do jakiegoś bagna. Sam jestem ciekaw >> jak się potoczy dalsza historia języka, jak napisałem, sam się zdziwiłem >> tym, że już w latach 90 na politechnice postrzegany był jako język >> wymierający, > To chyba przesada, bo to przecież złote czasy dla Delphi. Czyli było na > zdecydowanej fali wznoszącej niż odwrotnie. Na początku lat 90 (wtedy zacząłem studia) Delphi jeszcze nie było :) >> natomiast w zastosowaniach biznesowych okazywał się jednym >> z podstawowych języków używanych w Polsce. > Co do popularności Delphi w PL - jest tak sobie. Dużo więcej jest w > Niemczech, Holandii i przede wszystkim Brazylii. > Raczej na pewno, więcej używa się Delphi profesjonalnie w Czechach niż w > PL. Nie jest tak źle, aczkolwiek nie aż tyle się pisze co kiedyś. W firmie w której obecnie pracuje używa się Delphi, w tej w której pracowałem wcześniej też (choć nie jest to jedyny język używany). Po prostu różne proste rzeczy, choć i te trochę bardziej skomplikowane dość łatwo i wygodnie się pisze w Delphi. W firmie, w której mam pracować niedługo, też jest Delphi - tam nawet jako podstawowy język jak na razie. > A co do zarzutów, że Delphi jest przestarzałe lub czegoś nie da się > zrobić; troll naprawdę nie ma pojęcia czym pisze. > Zgodziłbym się z tezą, że nie jest to awangarda (a i tu można dyskutować > czy aby na pewno w każdym obszarze, bo w kwestii łatwości > kompatybilności wstecznej zawsze było wręcz wzorcowo, a kwestii > przenoszenia całych programów na inne platformy jest coraz, coraz lepiej). > Delphi nie posiada też tak potężnego Community jak np. Java czy .NET. > Nie jest tak popularne i siłą rzeczy nie ma wszystkich fajnych zabawek > dostępnych w pudełku lub nawet jako rozwiązań firm trzecich. > -- Kaczus http://kaczus.ppa.pl
[toc] | [prev] | [next] | [standalone]
| From | "re" <re@re.invalid> |
|---|---|
| Date | 2016-10-13 19:07 +0200 |
| Message-ID | <ntof0q$9jt$1@mx1.internetia.pl> |
| In reply to | #29020 |
Użytkownik "wloochacz" ... > natomiast w zastosowaniach biznesowych okazywał się jednym > z podstawowych języków używanych w Polsce. Co do popularności Delphi w PL - jest tak sobie. Dużo więcej jest w Niemczech, Holandii i przede wszystkim Brazylii. Raczej na pewno, więcej używa się Delphi profesjonalnie w Czechach niż w PL. A co do zarzutów, że Delphi jest przestarzałe lub czegoś nie da się zrobić; troll naprawdę nie ma pojęcia czym pisze. Zgodziłbym się z tezą, że nie jest to awangarda (a i tu można dyskutować czy aby na pewno w każdym obszarze, bo w kwestii łatwości kompatybilności wstecznej zawsze było wręcz wzorcowo, --- D1 na późniejsze ? D7 na późniejsze ? Od teraz już będzie dobrze ?
[toc] | [prev] | [next] | [standalone]
| From | slawek <fake@fakeemail.com> |
|---|---|
| Date | 2016-10-03 17:52 +0200 |
| Message-ID | <almarsoft.4124351873371597067@news.v.pl> |
| In reply to | #29019 |
On Mon, 03 Oct 2016 10:40:35 +0200, Tomasz Kaczanowski <kaczus@dowyciecia_poczta.onet.pl> wrote: > Heh Trochę chyba po bandzie jedziesz Owszem, ale po to aby uczulić na problem równie powszechny jak mobbing itp. Na przypisywanie sobie osiągnięć pracowników i podwykonawców. Byłoby ok, gdyby użyty był zwrot "nasz program". Byłoby ok, gdyby było "program stworzony w mojej firmie". Nie jest ok jeżeli "mój program", a program zawiera pracę ponad pół tuzina ludzi. Ale tak to jest gdy w szkole toleruje się ściąganie i inne formy oszustwa. > jak się potoczy dalsza historia języka Moim zdaniem coś jest dziwnie: powinna być używana Ada, ew. Oberon, ew. Modula 3. A jest Delphi.
[toc] | [prev] | [next] | [standalone]
| From | Roman Tyczka <noemail@because.no> |
|---|---|
| Date | 2016-10-03 20:04 +0200 |
| Message-ID | <1wlcpqffk8bij.dlg@tyczka.com> |
| In reply to | #29023 |
On Mon, 03 Oct 2016 17:52:51 +0200, slawek wrote: >> Heh Trochę chyba po bandzie jedziesz > > Owszem, ale po to aby uczulić na problem równie powszechny jak > mobbing itp. Na przypisywanie sobie osiągnięć pracowników i > podwykonawców. > > Byłoby ok, gdyby użyty był zwrot "nasz program". Byłoby ok, gdyby > było "program stworzony w mojej firmie". Nie jest ok jeżeli "mój > program", a program zawiera pracę ponad pół tuzina ludzi. Czy tylko ja mam wrażenie, że z braku argumentów czepiasz się jak rzep psiego ogona? >> jak się potoczy dalsza historia języka > > Moim zdaniem coś jest dziwnie: powinna być używana Ada, ew. Oberon, > ew. Modula 3. A jest Delphi. Twoje zdanie jest akademickie czyli z nosa, nie masz doświadczeń biznesowych. Środowisko to nie tylko gładka składnia języka zgodna z ISO i możliwość obliczeń na liczbach zespolonych. Popularność środowiska budują dostępne z językiem biblioteki oraz biblioteki i narzędzia firm trzecich. I nie biblioteki matematyczne czy fizyczne, bo to nisza, lecz np. graficzne (GUI), bazodanowe, komunikacyjne, raportujące, etc. A tego Delphi ma całkiem sporo. -- pozdrawiam Roman Tyczka
[toc] | [prev] | [next] | [standalone]
Page 8 of 14 — ← Prev page 1 … 6 7 [8] 9 10 … 14 Next page →
Back to top | Article view | pl.comp.programming
csiph-web