Maand: maart 2003

  • Ik ben er echt wel

    Ik ben er echt wel heilig van overtuigd dat de beste manier om iets te leren, het ook meteen serieus voor ’t echt doen is.  Pak nu die hele C#. Ik lees al een goeie anderhalve week Programming C# van O’Reilly, allemaal goed en wel, maar ik heb op ongeveer een goeie dag programmeren meer…

  • Proper, al zeg ik het

    Proper, al zeg ik het zelf. Deze vieze code: lvMain.Columns.Add(“Genre”,-1,HorizontalAlignment.Left);lvMain.Columns.Add(“Books”,-1,HorizontalAlignment.Left);getData.CommandText=”select * from qryGenres”;dr=getData.ExecuteReader();while (dr.Read()) {     ListViewItem li=        lvMain.Items.Add(dr.GetString(dr.GetOrdinal(“genre_name”)));    if (!dr.IsDBNull(dr.GetOrdinal(“books”)))     {        li.SubItems.Add(dr.GetInt32(dr.GetOrdinal(“books”)).ToString());    }     else     {        li.SubItems.Add(“-“);    }}dr.Close(); Vervangen door dit: queryString=”select * from qryGenres”;columnHeaders.Add(“Function”); columnHeaders.Add(“Books”);columnFields.Add(“genre_name”); columnFields.Add(“books”);nt=NodeType.genreNode;FillListView(queryString, nt, columnHeaders, columnFields); …en da’s dan ook meteen helemaal veralgemeend, werkt zowel met stringvelden als datevelden als nummervelden en…

  • Bill Shatner is 72 vandaag

    Bill Shatner is 72 vandaag.

  • Mysterie opgelost. Het event voor

    Mysterie opgelost. Het event voor doubleclick was gekoppeld aan dat voor File | Exit. Slim.

  • Bah, selected item vinden in

    Bah, selected item vinden in een listview bij een click. Hoe? Geen idee. Ik had er in Delphi in de tijd ook al last mee, ik denk dat ik toen iets in de zin van ListView1.Selected:=ListView1.GetItemAt(ListView1.ScreenToClient(mouse.CursorPos).X,ListView1.ScreenToClient(mouse.CursorPos).Y); gedaan had. Brr, inderdaad. Het lijkt nochtans redelijk simpel: dubbelklik op een listview lvMain, en dan weet ik normaal…

  • Zonet op tv gezien. Um

    Zonet op tv gezien. Um Qasr was zogezegd gisteren al ingenomen en onder controle, maar dat blijkt toch niet helemaal het geval te zijn: “some fanatics will remove their uniforms and fight us in civilian clothes”. Ja, da’s dan guerilla-oorlog zeker? En, even tellen, één irakees op een fiets in de verte, twee irakezen elk…

  • Ho boy, it’s going to

    Ho boy, it’s going to be one of those mornings… Zelie wil absoluut op de computer spelen, maar geen vijf minuten hetzelfde. En Louis weet niet wat hij wil, behalve dan ambetant zijn. En blokjes verspreiden over heel het huis.

  • De listview werkt, voor boeken

    De listview werkt, voor boeken toch, Midsomer Murders is gedaan, en ik moet om 7 uur op voor de kinderen. Naar bed!

  • Whee! Da’s dus iets dat

    Whee! Da’s dus iets dat ik al sinds vorig jaar voor mij uit schuif, dat mij al die tijd heeft tegengestoken in die Delphi-applicatie, en nu opgelost is! Alla. En dan nu die listview.

  • Treeview is gedaan, nu de

    Treeview is gedaan, nu de listview bovenaan rechts. Enfin, ik zeg dat de treeview gedaan is, maar da’s eigenlijk niet waar: als ik een authorNode uitklap, dan toon ik alle boeken van die auteur. En dat zou niet mogen: ik zou eigenlijk alleen maar de boeken van die auteur in die rol mogen tonen. Dus…

  • Thé Lau! Op de Pop

    Thé Lau! Op de Pop Poll op Canvas! Ik heb die mens live gezien met The Scene op Torhout, en live op zijn alleen akoestisch in één of ander cultureel centrum, en allebei magnifiek goed.

  • Hm. ’t Was niet eens

    Hm. ’t Was niet eens zo moeilijk: het is een kwestie van veiligheid, dat TreeDataNode van TreeNode en TreeNode van MarshalByRefObject inherited is, en dat daarvoor expliciete get en set methods moeten gemaakt worden. Dus ’t was een zaak van een intern id en een extern ID te hebben, een accessor te maken, en Bob’s yer…

  • Grr! Nu heb ik het

    Grr! Nu heb ik het weer van die marshal-by-referer-histories. En deze keer kan ik er niet rond, ik heb het ID echt nodig: if (thisNode.ID!=0) { queryString+=thisNode.ID.ToString(); } Damned. Ik zal moeten zoeken.

  • Oops, vergeten dat ik TreeDataNodes

    Oops, vergeten dat ik TreeDataNodes moest aanmaken, geen eenvoudige TreeNodes! Hopsadaisy: TreeDataNode tn=new TreeDataNode(    dr.GetString(dr.GetOrdinal(nameField))+     ” (“+dr.GetInt32(dr.GetOrdinal(countField))+”)”,    expandedNode,    dr.GetInt32(dr.GetOrdinal(keyField)));thisNode.Nodes.Add(tn); Oche, ik weet wel dat het allemaan geen raketwetenschap is, maar ik doe het echt zó graag, programmeren. Iets maken van niets, en ondertussen nieuwe dingen bijleren–is er iets wijzer?

  • Echt wel een gemak, die

    Echt wel een gemak, die DataReader in C#. Gaat enkel vooruit, doet niets anders dan data lezen, maar: verblindend snel, en bijzonder eenvoudig: cnnBooks.Open();OleDbCommand getData=new OleDbCommand(queryString,cnnBooks);OleDbDataReader dr=getData.ExecuteReader();while (dr.Read()) {    thisNode.Nodes.Add(        dr.GetString(dr.GetOrdinal(nameField))+         ” (“+dr.GetInt32(dr.GetOrdinal(countField))+”)”);}dr.Close();cnnBooks.Close(); Connectie open zetten, commando aanmaken en instantiëren, commando uitvoeren en in de reader steken, over de rijen van de reader lopen en…