Maailmassa on liikaa tekstieditoreja, joten aina yksi mahtuu mukaan. Ajattelin tässä että monet kaivannevat helpohkoa projektia johon tarttua, ja tekstieditori on yksi tällainen. Joskin ajattelin heittää tähän mukaan myös vaikeustasoa: ohjelma ei saa käyttää ainuttakaan ActiveX-kontrollia, jolloin laskuista jää pois esimerkiksi RichTextBoxin käyttö. Vaihtoehdoksi tälle ajattelin asettaa Scintilla-elementin käytön, joka mahdollistaa mm. koodin värjäyksen tehokkaammin kuin se RichTextBoxilla onnistuu. Tämä ei tietty ole kiveen kirjoitettua jos ehdotuksia ja perusteluja löytyy.
Ohjelman kehittämistä voi jakaa osiin: joku voi vaikka keskittyä sivussa toimivan tiedostopalkin koodaamiseen, toinen taas voisi tehdä käyttäjäkontrollin (user control) johon voi lisätä painikkeita ja mahdollisesti myös vaikka valikoita. Tämän tarkoituksena siis tietysti useamman avoimen ikkunan hallitseminen. Sitten voi tehdä vaikka heksaeditoria, valmiita toimintoja (mm. korvaa valituissa tiedostoissa), koodin värjäyksen, keskitetyn asetuksien lataustallennusmoduulin ja muuta mukavaa.
Useimmille tästä saatavaa hyötyä olisi kokemus ja voisin myös antaa neuvoja sekä vinkkejä koodin optimointiin tai siistimiseen. Projektissa käytettäisiin useimpien muuttujien kohdalla ammattilaisten käytössä vakiintuneita merkintätapoja, esim. kaikkien Long-muuttujien eteen tulisi lyhenne lng, Stringeille str ja niin edelleen. Tämä on hyödyllistä oppia ja yhtenäistää projektin koodaustyyliä. Lisäksi tavoitteena olisi myös kaiken koodin kommentoiminen, jolloin toiset voisivat helposti katsoa miten toisten aikaansaannokset toimivat ja oppia siitä. Minulle etuna tulisi se, että saisin hieman viimeistellymmän tekstieditorin: käytän nykyään omaa editoriani, mutta siinä riittää puutteita, vaikka onkin minulle täysin käyttökelpoinen.
Minulta löytyy valmiina hyviä kirjastoja merkistökoodauksien ja UTF-8:n käsittelyyn (Scintilla käyttää natiivina UTF-8:aa) sekä dialogi-ikkunoiden käyttöön esim. tiedostojen monivalintamoodissa, joten niistä ei tarvitse huolehtia. Ajattelin myös koodata perustan useamman ikkunan käsittelemiselle MDI-ikkunassa.
Sitten se kysymys: kiinnostaako tämmöinen projekti ketään?
Sanoista vähän tekoihin: http://merri.net/putkamuistio/
Siinä on ikkunointirunko. Käytin kokoelmaa säilömiseen (Collection), niiden kanssa saa olla varovainen ettei muisti vuoda kun kyseessä on ns. garbage collection. Olen todennut ettei kannata leikkiä taulukkomuuttujien kanssa ikkunoita/objekteja käsitellessä, saa erittäin satunnaisesti virheitä kun tekee ReDim Preserveä, mutta niitä virheitä ei sitten voikaan korjata kuin vaihtamalla pois taulukkomuuttujasta.
Aihe on jo aika vanha, joten et voi enää vastata siihen.