, enkle midler til at dele oplysninger kendskab.alternative data kendskab til galochka (og radiobuttons), der kan organiseres mere fleksibelt.,,, men nyere versioner af delphi kan tilbyde bedre metoder til visning af data ved samlinger af til galochka og radiobuttons, jeg er stadig ved d4.jeg har tit ønsket en data ved komponent, som (a) omfatter ikke de skrå kasse d4 er radio knap group, (b) kan komme til at ligne noget papir mere nøje, (c) muliggør en mere fleksibel ordning for poster i gruppen, og d), tillader usædvanlig mønstre af knapper at være på "og" off "samtidigt. kort sagt mere fleksibilitet, tror jeg, at denne opskrift er det, og det viser også enkle midler til at gøre nogle kontroller, der ikke er data ved erhverve denne kompetence ved at samarbejde med dem, som er.,,, øvre og nedre rækker til galochka er repræsenteret i delphi - kode under af klasser tcheckboxcollection og tpersonalitycbcollection henholdsvis.hver af disse klasser er en beholder til afkrydsningsfelt deskriptorer og deres metoder, klik, getvalue og setvalue, etablere den adfærd, der udvises af kontrol i fællesskab, og sørge for at inddrage deres samlede værdi med tilhørende data ved kontrol og dermed med de data, der opbevares. øvre for galochka opfører sig som en række radio knapper.i modsætning hertil er mere end en af lavere for galochka kan kontrolleres på en gang, og " nulstille " afkrydsningsfelt kan anvendes til at fjerne kontrollen af på en gang, deres bemærkninger velkommen.,, enhed, enhed1;,,, grænseflade,,,, anvendelser, vinduer, beskeder, sysutils, klasser, grafik, kontrol, formularer, dialoger, db, stdctrls, maske, dbctrls, dbtables, extctrls,,,,,,,,,,,,,, tcheckboxdescriptor =, klasse,,, /skjule misligholdelse adfærd i afkrydsningsfelt som svar, //til et klik, og forenkle manipulation af indkapslede objekt, private,,, preclickedstate: tcheckboxstate;,,, funktion, getstate: tcheckboxstate;,,, procedure, setstate (stat: tcheckboxstate);,,,,,, afkrydsningsfelt: tcheckbox;,,, ejendom, stat: tcheckboxstate læse getstate skrive setstate;,,, konstruktøren, skabe (thecheckbox: tcheckbox);,,,,,,,,,,,,,, tcheckboxcollection =, klasse, //medarbejder en data ved edit kasse og detsværdi med en samling, //af afkrydsningsfelt deskriptorer; misligholdelse adfærd minder om radio -, checkboxdescriptors: tlist;,, handlingclick: boolean,,,,,,,,,,,,, private, funktion, findsender (afsender: tobject): tcheckboxdescriptor;,,, funktion, getvalue:, snor,,,,,,,,, setvalue (newvalue:, snor,),,,,,,,,,,,,, associateddbedit: tdbedit; konstruktør, skabe (dbedit: tdbedit; thecheckboxes:, mange af tcheckbox);,,, procedure, klik (afsender: tobject);,,, ejendom, værdi, snor, læs: getvalue skrive setvalue,,,,,,,,,,,,,,, tpersonalitycbcollection =, klasse, (tcheckboxcollection) //afledte klasse, der giver mulighed for mere end én afkrydsningsfelt kontrolleres, //en gang og anvendelseren afkrydsningsfelt for nulstilling af andre private,,,,,, funktion, getvalue:, snor,,,,,,,,, setvalue (newvalue:, snor,),,,,,,,,,, offentlig ejendom, værdi:, snor, læse getvalue skrive setvalue;,,, procedure, klik (afsender - tobject);,,,,,,,,,,,,,, tform1 =, klasse, (tform), i figur 1: tabel;,, dbedit1: tdbedit;,, datasource1: tdatasource;,, checkbox1: tcheckbox;,, checkbox2: tcheckbox;,, checkbox3: tcheckbox;,, checkbox4: tcheckbox;,, checkbox5: tcheckbox;,, checkbox6: tcheckbox;,, checkbox7: tcheckbox;,, checkbox8: tcheckbox;,, checkboxna: tcheckbox;,, checkbox9: tcheckbox;,, checkbox10: tcheckbox;,, checkbox11: tcheckbox;,, checkbox12: tcheckbox,,,checkbox13: tcheckbox;,, checkbox14: tcheckbox;,, checkbox15: tcheckbox;,, checkbox16: tcheckbox;,, dbnavigator1: tdbnavigator;,, label1: tlabel;,, label2: tlabel;,, label3: tlabel;,, shape1: tshape;,, label4: tlabel;,, dbedit2: tdbedit;,,, procedure, formcreate (afsender: tobject);,,, procedure, checkboxnaclick (afsender: tobject);,,, procedure, dbedit1change (afsender: tobject);,,, procedure, checkbox9click (afsender: tobject);,,, procedure, dbedit2change (afsender: tobject), private,,, severitycbs: tcheckboxcollection;,, personalitycbs: tpersonalitycbcollection;,,,,,,,,,,,,,, var, form1: tform1;,,, gennemførelse,,,,,,, ($r *. dfm},,, tcheckboxdescript konstruktør,eller skabe (thecheckbox: tcheckbox), begynder,,,,, som skaber;,,: = afkrydsningsfelt thecheckbox; //bevare udformningen af afkrydsningsfelt,, preclickedstate: = thecheckbox.,,,,,,,, funktion, tcheckboxdescriptor.getstate: tcheckboxstate;, begynder resultat: = preclickedstate,,,,,,,,,,,, tcheckboxdescriptor.setstate (stat: tcheckboxstate), begynder, afkrydsningsfelt. stat: = stat;,, preclickedstate: = stat,,,,,,,,,, konstruktøren, tcheckboxcollection. skabe (dbedit: tdbedit; thecheckboxes:, system, af, tcheckbox);,, var,,, jeg: heltal, begynder,,,,, som skaber;,, associateddbedit: = dbedit;,, checkboxdescriptors: = tlist. skabe,,,,, jeg: = 0, høj (thecheckboxes),,, checkboxdescriptors tilsættes (tcheckboxdescriptor.. skabe (thecheckboxes [i]), handlingclick: = falske,,,,,,,,,, funktion, tcheckboxcollection.findsender (afsender: tobject): tcheckboxdescriptor;,, var,,, c: heltal,, checkboxdescriptor: tcheckboxdescriptor;, begynder,,, checkboxdescriptor: =, - nul,,,,,, (c) = 0, checkboxdescriptors. regne - 1, kan begynde,,, checkboxdescriptor: = checkboxdescriptors. produkter [c];,,, hvis checkboxdescriptor.checkbox = afsender, pause,,,,,,, resultat: = checkboxdescriptor,,,,,,,,,,, tcheckboxcollection. klik (afsender: tobject);,, var, clickedcbdescriptor, onecbdescriptor: tcheckboxdescriptor;,, c: heltal, begynder,,,,, hvis handlingclick, udpassage,, handlingclick: = sandt,,, clickedcbdescriptor: = findsender (afsender);,,, hvis clickedcbdescriptor. state = cbchecked, så clickedcbdescriptor. stat: = cbunchecked,,, ellers begynder,,, clickedcbdescriptor. stat: = cbchecked,,,,, (c) = 0, checkboxdescriptors. regne - 1, kan begynde,,, onecbdescriptor: = checkboxdescriptors. produkter [c];,,, hvis onecbdescriptor < > clickedcbdescriptor, så onecbdescriptor. stat: = cbunchecked,,,,,,,,,,,,,,,, associateddbedit. datasource. edit;,, associateddbedit. tekst: = værdi,,, handlingclick: = falske,,,,,,,,, tpersonalitycbcollection. klik (afsender: tobject);,, var, clickedcb: tcheckbox;,, clickedcbdescriptor, onecbdescriptor: tcheckboxdescriptor;,, c: heltal, begynder,,,,, hvis handlingclick, exit;,, handlingclick: = sandt,,, clickedcb: = afsender, som tcheckbox;,, clickedcbdescriptor: = findsender (afsender);,,, hvis clickedcb. navn = checkbox16, så,,,,, (c) = 0, checkboxdescriptors.grev - 1, kan begynde,,, onecbdescriptor: = checkboxdescriptors. produkter [c], onecbdescriptor. stat: = cbunchecked,,,,,,,,,,,,, clickedcbdescriptor. stat,,,,,,, cbchecked: clickedcbdescriptor. stat: = cbunchecked,,,,,,,, clickedcbdescriptor.: = cbchecked,,,,,,,,,,, associateddbedit. datasource. edit;,, associateddbedit. tekst: = værdi;,, handlingclick: = falske,,,,,,,, funktion, tpersonalitycbcollection.getvalue:, snor,,,, var,,, c, modulo, resultasint: heltal,, onecbdescriptor: tcheckboxdescriptor;, begynder,,, resultasint: = 0, modulo: = 1,,,,, (c) = 0, checkboxdescriptors.grev - 2, kan begynde,,,,, hvis c > 0, modulo: = modulo * 2;,, onecbdescriptor: = checkboxdescriptors. produkter [c];,,, hvis onecbdescriptor.checkbox.state = cbchecked, så,,, resultasint: = resultasint + modulo;,,,,,,, resultat: = inttostr (resultasint),,,,,,, funktion, tcheckboxcollection.getvalue:, snor,,,, var,,, c: heltal,, onecbdescriptor: tcheckboxdescriptor;, begynder,,,,,,,, (c) = 0, checkboxdescriptors.grev - 1, kan begynde,,, onecbdescriptor: = checkboxdescriptors. produkter [c];,,, hvis onecbdescriptor.checkbox.state = cbchecked så begynde,,,,, hvis onecbdescriptor.checkbox.caption = 'n /a, så resultatet: = 0,,, andet resultat: = afkrydsningsfelt onecbdescriptor.. teksten;,, bryde,,,,,,,,,,,,,,,, tpersonalitycbcollection.setvalue (newvalue:, snor,), var,,, c, modulo, mønster: heltal,, onecbdescriptor: tcheckboxdescriptor;, begynder,,,,, newvalue = ", udpassage,,, hvis handlingclick, udpassage,, handlingclick: = sandt,,, modulo: = 1;,, mønster: = strtoint (newvalue);,,,, (c) = 0, checkboxdescriptors.grev - 1, kan begynde,,,,, hvis, c = 0, modulo: = 1, andet, modulo: = modulo * 2;,, onecbdescriptor: = checkboxdescriptors. produkter [c];,,, hvis (mønster, og modulo) < > 0 så, onecbdescriptor. stat: = cbchecked,,,,,,, onecbdescriptor. stat: = cbunchecked,,,,,,,,,,, handlingclick: = falske,,,,,,,,, tcheckboxcollection.setvalue (newvalue:, snor,), var,,, c: heltal,, onecbdescriptor: tcheckboxdescriptor;, begynder,,,,, hvis newvalue = ", udpassage,,, hvis handlingclick, udpassage,, handlingclick: = sandt,,,,, (c) = 0, checkboxdescriptors.grev - 1, kan begynde,,, onecbdescriptor: = checkboxdescriptors. produkter [c], onecbdescriptor. stat: = cbunchecked,,,,,,,,,,, c = strtoint (newvalue);,, onecbdescriptor: = checkboxdescriptors. produkter [c], onecbdescriptor. stat: = cbchecked;,, handlingclick: = falske,,,,,,,,, tform1. formcreate (afsender: tobject), begynder,,, severitycbs: = tcheckboxcollection.Create ( DBEdit1,,, [ CheckBoxNA,CheckBox1, CheckBox2, CheckBox3, CheckBox4, CheckBox5, CheckBox6, CheckBox7, CheckBox8 ] );,, PersonalityCBs:=TPersonalityCBCollection.Create ( DBEdit2,,, [ CheckBox9, CheckBox10, CheckBox11, CheckBox12, CheckBox13, CheckBox14, CheckBox15, CheckBox16 ] );,, Table1.Open,,end,;,,,procedure, TForm1.CheckBoxNAClick(Sender: TObject);,,begin,,, SeverityCBs.Click(Sender);,,end,;,,,procedure, TForm1.DBEdit1Change(Sender: TObject);,,begin,,, SeverityCBs.SetValue(DBEdit1.Text),,end,;,,,procedure, TForm1.CheckBox9Click(Sender: TObject);,,begin,,, PersonalityCBs.Click(Sender);,,end,;,,,procedure, TForm1.DBEdit2Change(Sender: TObject);,,begin,,, PersonalityCBs.SetValue(DBEdit2.Text),,end,;,,,end,.,,,,,,,,,