<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>WinForms</title><link>https://www.dotnetzone.gr:443/cs/forums/12/ShowForum.aspx</link><description>Θέματα για rich client / windows εφαρμογές, σε οποιαδήποτε γλώσσα (VB.NET, C#, managed C++, κ.α.)</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Απ:Ερώτηση Για τον "|" (logical bitwise OR) operator (C#)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/21970.aspx</link><pubDate>Sun, 10 Dec 2006 19:13:25 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:21970</guid><dc:creator>pontifikas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/21970.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=21970</wfw:commentRss><description>Νομίζω ότι κατάλαβα. Θα κάνω μερικές δοκιμές μόνος μου.&lt;br&gt;Αν αποδειχτεί ότι δεν κατάλαβα...θα επανέλθω δημήτριος&lt;img src="/cs/emoticons/emotion-4.gif" alt="Stick out tongue" /&gt; (αυτό είναι απειλή)&lt;br&gt;</description></item><item><title>Απ: Απ:Ερώτηση Για τον "|" (logical bitwise OR) operator (C#)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/21875.aspx</link><pubDate>Fri, 08 Dec 2006 19:54:48 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:21875</guid><dc:creator>Νατάσα Μανουσοπούλου</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/21875.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=21875</wfw:commentRss><description>Σε ένα enumeration που είναι μαρκαρισμένο σαν [Flags], ξέρεις ότι κάθε τιμή του έχει αναμμένο ένα bit, χωρίς να σε ενδιαφέρει ποιο. Η αναπαράσταση του enumeration εξαρτάται από τον compiler, ο οποίος θα επιλέξει τον κατάλληλο underlying τύπο. &lt;br&gt;&lt;br&gt;Πάντως, σε ένα [Flags] enum, πρέπει μόνος σου να ορίσεις τις τιμές των σταθερών. Στο παράδειγμα που δίνεις παραπάνω, οι τιμές που δίνονται αυτόματα θα ήταν οι CS=0. VBNET=1, Java=2, Pascal=3, Assembly=4.&lt;br&gt;&lt;br&gt;Ακόμα, έχεις τη δυνατότητα να ορίσεις και μέλη του enumeration που έχουν περισσότερα bits αναμμένα, για να δώσεις όνομα σε συνδυασμό τιμών, π.χ.:&lt;br&gt;&lt;br&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;[Flags]&lt;br /&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;enum&lt;/span&gt; Languages&lt;br /&gt;{&lt;br /&gt;    None &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;=&lt;/span&gt; 0x0000,&lt;br /&gt;    CS &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;=&lt;/span&gt; 0x0001,&lt;br /&gt;    VBNET &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;=&lt;/span&gt; 0x0002,&lt;br /&gt;    Java &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;=&lt;/span&gt; 0x0004,&lt;br /&gt;    Pascal &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;=&lt;/span&gt; 0x0008,&lt;br /&gt;    Assembly &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;=&lt;/span&gt; 0x0010,&lt;br /&gt;    BracketLanguages &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;=&lt;/span&gt; CS &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;|&lt;/span&gt; Java, &lt;span style="color: Green;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;// 0x0005&lt;/span&gt;&lt;br /&gt;    BeginEndLanguages &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;=&lt;/span&gt; VBNET &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;|&lt;/span&gt; Pascal, &lt;span style="color: Green;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;// 0x000A&lt;/span&gt;&lt;br /&gt;    All &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;=&lt;/span&gt; 0xffff&lt;br /&gt;}&lt;/span&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Απ:Ερώτηση Για τον "|" (logical bitwise OR) operator (C#)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/21865.aspx</link><pubDate>Fri, 08 Dec 2006 16:26:13 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:21865</guid><dc:creator>pontifikas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/21865.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=21865</wfw:commentRss><description>Και πώς ξέρω ότι το Top είναι 0001 και όχι 0010 ή 0100?&lt;br&gt;
&lt;br&gt;
Επίσης, αν έχουμε δηλαδή ένα enumertation type με 10 members αυτό θα χρησιμοποιεί 10 bit για αναπαράσταση?&lt;br&gt;
&lt;br&gt;
Τέλος, πρέπει να αρικοποιώ εγώ τα members για να ισχύουν οι πράξεις με bit. Δηλαδή, αν η παραπάνω δήλωση (στο post του russo) ήταν έτσι:&lt;br&gt;
&lt;br&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;public&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;enum&lt;/span&gt; languages&lt;br /&gt;    {&lt;br /&gt;        CS,&lt;br /&gt;        VBNET,&lt;br /&gt;        Java, &lt;br /&gt;        Pascal,&lt;br /&gt;        Assembly&lt;br /&gt;    }&lt;/span&gt;&lt;br&gt;
&lt;br&gt;
θα έκανε διαφορά?&lt;br&gt;
&lt;br&gt;
Ευχαριστώ.</description></item><item><title>Απ: Απ:Ερώτηση Για τον "|" (logical bitwise OR) operator (C#)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/21834.aspx</link><pubDate>Thu, 07 Dec 2006 23:33:32 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:21834</guid><dc:creator>Νατάσα Μανουσοπούλου</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/21834.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=21834</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/cs/Themes/mistblue/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;pontifikas wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td valign="top" class="txt4"&gt;Ξανανοίγοντας το θέμα θα ήθελα να ρωτήσω το εξής.&lt;br&gt;Καλά με τα enumeration types που δηλώνουμε εμείς.Με τα enumerations που είναι δηλωμένα στο VS πώς γίνεται.&lt;br&gt;&lt;br&gt;Βασικά θέλω να κάνω το εξής:&lt;br&gt;Θέλω από όλα τα Controls της φόρμας, να αφαιρέσω αν υπάρχει το AnchorStyles.Bottom χωρίς να πειράξω όμως τα υπόλοιπα.&lt;br&gt;Αν δηλαδή ένα Control έχει AnchroStyles.Top+AnchorStyles.Bottom, να μείνει μόνο το Top.&lt;br&gt;Δυστυχώς δεν μπορώ να κατανοήσω πώς λειτουργούν τα enums ώστε να εφαρμόσω τον κατάλληλο τελεστή.&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;Σύντομη απάντηση: θέλεις να κάνεις myControl.Style &amp;amp;= ~AnchorStyles.Bottom.&lt;br&gt;Εξήγηση: Έχεις την τιμή Top | Bottom. Έστω ότι Top = 0001 και Bottom = 0010 σε δυαδικό οπότε Top | Bottom = 0011. Θέλεις από το 0011 να μηδενίσεις το προτελευταίο bit. Για να το κάνεις αυτό, πρέπει να κάνεις and (&amp;amp;) με μια μάσκα που έχει μηδέν στην κατάλληλη θέση, δηλαδή την 1101. Αυτή είναι το συμπλήρωμα του 1 για το 0010, δηλαδή το ~0010, δηλαδή ~AnchorStyles.Bottom.</description></item><item><title>Απ: Ερώτηση Για τον "|" (logical bitwise OR) operator (C#)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/21813.aspx</link><pubDate>Thu, 07 Dec 2006 19:48:23 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:21813</guid><dc:creator>Mitsaras</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/21813.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=21813</wfw:commentRss><description>Δε θα έπρεπε το συγκεκριμένο enum, να "μαρκαριστεί" με το FlagsAttribute?</description></item><item><title>Απ: Απ:Ερώτηση Για τον "|" (logical bitwise OR) operator (C#)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/21808.aspx</link><pubDate>Thu, 07 Dec 2006 18:57:39 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:21808</guid><dc:creator>pontifikas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/21808.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=21808</wfw:commentRss><description>Ξανανοίγοντας το θέμα θα ήθελα να ρωτήσω το εξής.&lt;br&gt;Καλά με τα enumeration types που δηλώνουμε εμείς.Με τα enumerations που είναι δηλωμένα στο VS πώς γίνεται.&lt;br&gt;&lt;br&gt;Βασικά θέλω να κάνω το εξής:&lt;br&gt;Θέλω από όλα τα Controls της φόρμας, να αφαιρέσω αν υπάρχει το AnchorStyles.Bottom χωρίς να πειράξω όμως τα υπόλοιπα.&lt;br&gt;Αν δηλαδή ένα Control έχει AnchroStyles.Top+AnchorStyles.Bottom, να μείνει μόνο το Top.&lt;br&gt;Δυστυχώς δεν μπορώ να κατανοήσω πώς λειτουργούν τα enums ώστε να εφαρμόσω τον κατάλληλο τελεστή.&lt;br&gt;</description></item><item><title>Απ:Ερώτηση Για τον "|" (logical bitwise OR) operator (C#)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/3968.aspx</link><pubDate>Wed, 03 Aug 2005 21:00:21 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:3968</guid><dc:creator>pontifikas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/3968.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=3968</wfw:commentRss><description>Ευχαριστώ πολυ φίλε rousso. Ωραίο παράδειγμα. &lt;img src="/cs/emoticons/emotion-5.gif" alt="Wink [;)]" /&gt; Δεν το ήξερα αυτό.&lt;br&gt;
Μέχρι τώρα δεν έδινα τιμές στα enums και άφηνα να παίρνουν τον αύξοντα.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;</description></item><item><title>Απ:Ερώτηση Για τον "|" (logical bitwise OR) operator (C#)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/3963.aspx</link><pubDate>Wed, 03 Aug 2005 18:54:07 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:3963</guid><dc:creator>rousso</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/3963.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=3963</wfw:commentRss><description>&lt;P&gt;Ό,τι κι αν παριστάνει&amp;nbsp;το VertexFormats (το οποίο αν δεν κάνω λάθος είναι σε κάποια βιβλιοθήκη Direct3D) δεν παύει να είναι ένα enum. Ένα enum μπορείς να το δεις σαν ένα set από int με ονόματα. Δηλαδή το VertexFormats.Posistion αντιπροσωπεύει ένα int και αντίστοιχα το VertexFormats.Diffuse ένα άλλο int. Άρα το bitwise or κάνει την ίδια&amp;nbsp;δουλειά&amp;nbsp;στα enum με αυτή που κάνει σε δύο απλούς int. Το αποτέλσμα της πράξης είναι και πάλι int.&lt;/P&gt;
&lt;P&gt;Πάρε το εξής παράδειγμα:&lt;/P&gt;
&lt;P&gt;θες να βάλεις μια λίστα από 5 CheckBoxes (&lt;FONT size=2&gt;CheckedListBox&lt;/FONT&gt;) και θες με μια και μόνο τιμή να καταχωρήσεις το set από τις επιλογές.&lt;/P&gt;
&lt;P&gt;Ας πούμε ότι έχεις την ερώτηση "Ποιές από τις παρακάτω γλώσσες&amp;nbsp;γνωρίζετε;" και τις επιλογές:&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr&gt;
&lt;P&gt;&lt;FONT face=Tahoma&gt;[ &amp;nbsp;] C#&lt;BR&gt;[ &amp;nbsp;] VB.NET&lt;BR&gt;[ &amp;nbsp;] Pascal&lt;BR&gt;[&amp;nbsp; ] Java&lt;BR&gt;[ &amp;nbsp;] 80x86 Assembly&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;μπορείς να κάνεις το εξής:&lt;/P&gt;
&lt;P&gt;να φτιάξεις ένα enum&lt;/P&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE dir=ltr&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff size=2&gt;public&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;enum&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt; languages&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;CS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1, &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT face="Courier New"&gt;// 00000001 (binary)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;VBNET&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2, &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT face="Courier New"&gt;// 00000010&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;Java&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;= 4, &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT face="Courier New"&gt;// 00000100&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;Pascal&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;= 8, &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT face="Courier New"&gt;// 00001000&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;Assembly&amp;nbsp;&amp;nbsp;= 16 &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT face="Courier New"&gt;// 00010000&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;Να φτιάξεις&amp;nbsp;το CheckedListBox σου:&lt;/P&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE dir=ltr&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" color=#0000ff size=2&gt;private&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt; System.Windows.Forms.CheckedListBox myCheckedListBox;&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;Στο οποίο να προσθέσεις τις επιλογές περίπου ως εξής:&lt;/P&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE dir=ltr&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;myCheckedListBox.Items.Add(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt; selection("C#", languages.CS));&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;myCheckedListBox.Items.Add(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt; selection("VB.NET", languages.VBNET));&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;myCheckedListBox.Items.Add(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt; selection("Java", languages.Java));&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;myCheckedListBox.Items.Add(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt; selection("Pascal", languages.Pascal));&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;myCheckedListBox.Items.Add(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt; selection("Assembly", languages.Assembly));&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;Όπου selection είναι μια κλάση που θα έχεις ορίσει εσύ ως εξής:&lt;/P&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE dir=ltr&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff size=2&gt;public&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;class&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt; selection&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff size=2&gt;public&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt; name;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;public&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;languages language;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff size=2&gt;public&lt;/FONT&gt;&lt;FONT size=2&gt; selection(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt; name, languages language)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" color=#0000ff size=2&gt;this&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;.name = name;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" color=#0000ff size=2&gt;this&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;.language = language;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;}&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;override&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;public&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt; ToString()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" color=#0000ff size=2&gt;return&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt; name;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;}&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;Αφού κάνει τις επιλογές του ο χρήστης μπορείς να τις φυλάξεις σε μια μεταβλητή ως εξής:&lt;/P&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE dir=ltr&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;languages selections = 0;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff size=2&gt;foreach&lt;/FONT&gt;&lt;FONT size=2&gt; (selection s &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;in&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt; myCheckedListBox.CheckedItems)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;selections |= s.language;&amp;nbsp;&lt;FONT size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;// δηλαδή: selections = selections | s.language;&lt;/FONT&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;
&lt;P&gt;Αν ο χρήστης έχει επιλέξει π.χ. Java &amp;amp; C# τότε η τιμή της &lt;FONT face="Courier New"&gt;selections&lt;/FONT&gt; θα είναι &lt;FONT face="Courier New"&gt;languages.Java | languages.CS&lt;/FONT&gt; δηλαδή &lt;FONT face="Courier New"&gt;4 | 1&lt;/FONT&gt; δηλαδή σε binary &lt;FONT face="Courier New"&gt;100 | 1&lt;/FONT&gt; δηλαδή&amp;nbsp;σε&amp;nbsp;binary&amp;nbsp;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;101&amp;nbsp;&lt;/STRONG&gt;&lt;/FONT&gt; δηλαδή &lt;FONT face="Courier New"&gt;&lt;STRONG&gt;5 &lt;/STRONG&gt;&lt;/FONT&gt;στο δεκαδικό&amp;nbsp; σύστημα. Η τιμή&amp;nbsp;5 (int) μπορεί να γίνει assign σε μεταβλητή&amp;nbsp;enum.&lt;/P&gt;
&lt;P&gt;Τέλος για να δεις αν ο χρήστης ξέρει Pascal μπορείς να κάνεις το εξής:&lt;/P&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff size=2&gt;bool&lt;/FONT&gt;&lt;FONT size=2&gt; KnowsPascal = (selections &amp;amp; languages.Pascal) == languages.Pascal;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P&gt;Αυτό είναι κλασικό παράδειγμα της χρήσης του bitwise or σε user interfaces.Φαντάσου ότι θες να φυλάξεις τις επιλογές του χρήστη σε μια database και έχεις στην διάθεσή σου μόνο ένα πεδίο τύπου int. Η λύση αυτή είναι κλασική.&lt;/P&gt;
&lt;P&gt;Φυσικά μπορείς να κάνεις πολλά άλλα πράγματα με αυτό όπως να υπολογίσεις subnets π.χ. αν έχεις να κάνεις με δίκτυα, ή να πάρεις δύο raster (δυο δορυφορικές εικόνες π.χ. ή δύο jpeg) και να κάνεις λογικές πρέξεις ανάμεσα στα bit των pixels για να δημιουργήσεις οπτικά εφέ, σύνθετες εικόνες ή να βγάλεις συμπεράσματα για την βλάστηση... &lt;/P&gt;
&lt;P&gt;Ελπίζω να σε βοήθησα...&lt;/P&gt;
&lt;P&gt;rousso&lt;/P&gt;</description></item><item><title>Ερώτηση Για τον "|" (logical bitwise OR) operator (C#)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/3962.aspx</link><pubDate>Wed, 03 Aug 2005 17:39:52 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:3962</guid><dc:creator>pontifikas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/3962.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=3962</wfw:commentRss><description>Θα ήθελα να ρωτήσω ποιές μπορεί να είναι οι χρήσεις του.&lt;br&gt;
Η λογική λέει ότι συγκρίνει bit to bit τα δυο μέρη του και δίνει το αποτέλεσμα που προκύπτει από ΟR.&lt;br&gt;
&lt;br&gt;
Χτές είδα αυτό όμως&lt;br&gt;
&lt;br&gt;
public static readonly VertexFormats FVF_Flags = VertexFormats.Position | VertexFormats.Diffuse;&lt;br&gt;
&lt;br&gt;
όπου VertexFormat είναι enumeration type.&lt;br&gt;
Ποιό θα είναι το αποτέλεσμα αυτής της ανάθεσης &lt;img src="/cs/emoticons/emotion-40.gif" alt="Hmm [^o)]" /&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;</description></item></channel></rss>