Delphi2009

keskustelua!

Onko merkittäviä muutoksia ?

9

569

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • julkistustilaisuus
    • Delphikoodari..

      Lähdetään työkaverin kanssa seminaariin, jossa esitellään Delphi 2009 uudet ominaisuudet :)

      Unicode tuki on niistä tärkein!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

      • tilaisuudesta

        Voisit kertoa mitä siellä Delpistä puhuttiin (hinta ja markkina ymv asiat jotka eivät sisällä ohjelmointia niitä ei tarvi kertoa.


      • Delphikoodari..
        tilaisuudesta kirjoitti:

        Voisit kertoa mitä siellä Delpistä puhuttiin (hinta ja markkina ymv asiat jotka eivät sisällä ohjelmointia niitä ei tarvi kertoa.

        Jeps! Pitää yrittää muistaa mitä siellä esitellään. Saas nähdä milloin Delphi alkaa tukemaan 64-bit ohjelmien tekoa? Tosin tuo unicode tuki on tärkein tällä hetkellä, sen verran tuon kanssa on joutunut aina säätämään. Toki nuo erilliset Tnt-komponentit on olemassa, mutta olis mukavempi jos tuo unicode olis tuettuna ihan alusta asti Delphin osalta.


      • Delphikoodari..
        Delphikoodari.. kirjoitti:

        Jeps! Pitää yrittää muistaa mitä siellä esitellään. Saas nähdä milloin Delphi alkaa tukemaan 64-bit ohjelmien tekoa? Tosin tuo unicode tuki on tärkein tällä hetkellä, sen verran tuon kanssa on joutunut aina säätämään. Toki nuo erilliset Tnt-komponentit on olemassa, mutta olis mukavempi jos tuo unicode olis tuettuna ihan alusta asti Delphin osalta.

        Jeps! Aika paljon uutta Delphi 2009, ainaskin tähän 2006 versioon nähden. Uusia komponentteja, kuten ribbon controllit, joilla saa Office 2007 tyyliset ohjelmat tehtyä, myös TCategoryPanel. Paranneltu entisiä komponentteja, kuten TEdit-komponentissa voi keskittää tekstin, ennen piti käyttää TRichEditiä, jotta sai tämän toiminnon mm.

        Resurssimanageri, eli enään ei tarvi säätää erillisiä rc-tiedostoja ja resurssikääntäjää, jos haluaa esim. kuvan upottaa exen sisälle.

        Unicode tuki on nyt natiivina joka paikassa tuettu ja jos oikein kuulin, niin jopa ä ja ö kirjaimet muuttujissa olisi sallittu, eli örkkejä := 1024 toimii.

        Geneeriset tietotyypit ja anonymous methods
        http://blogs.codegear.com/davidi/2008/07/23/38915

        Png-tuki kuville, tämä oli ennen erillinen systeemi, eli kuvissa voi käyttää läpinäkyvyyttä yms..

        Luonnollisesti Windows 2000 ylöspäin kaikki winukat on tuettu, kuten Vista ja Server 2008.

        Tässä nyt jotain ihan pintapuolisesti.


      • ja pahasti...
        Delphikoodari.. kirjoitti:

        Jeps! Aika paljon uutta Delphi 2009, ainaskin tähän 2006 versioon nähden. Uusia komponentteja, kuten ribbon controllit, joilla saa Office 2007 tyyliset ohjelmat tehtyä, myös TCategoryPanel. Paranneltu entisiä komponentteja, kuten TEdit-komponentissa voi keskittää tekstin, ennen piti käyttää TRichEditiä, jotta sai tämän toiminnon mm.

        Resurssimanageri, eli enään ei tarvi säätää erillisiä rc-tiedostoja ja resurssikääntäjää, jos haluaa esim. kuvan upottaa exen sisälle.

        Unicode tuki on nyt natiivina joka paikassa tuettu ja jos oikein kuulin, niin jopa ä ja ö kirjaimet muuttujissa olisi sallittu, eli örkkejä := 1024 toimii.

        Geneeriset tietotyypit ja anonymous methods
        http://blogs.codegear.com/davidi/2008/07/23/38915

        Png-tuki kuville, tämä oli ennen erillinen systeemi, eli kuvissa voi käyttää läpinäkyvyyttä yms..

        Luonnollisesti Windows 2000 ylöspäin kaikki winukat on tuettu, kuten Vista ja Server 2008.

        Tässä nyt jotain ihan pintapuolisesti.

        [Geneeriset tietotyypit ja anonymous methods
        http://blogs.codegear.com/davidi/2008/07/23/38915]

        Mitä nuo geneeriset tietotyypit ja nimettömät metodit oikein ovat ja missä niitä tarvitsee, joku käytännön esimerkki olisi hyvä. Ei tunnu googlekaan antavan kunnon vastausta.


      • JeP koodissa
        ja pahasti... kirjoitti:

        [Geneeriset tietotyypit ja anonymous methods
        http://blogs.codegear.com/davidi/2008/07/23/38915]

        Mitä nuo geneeriset tietotyypit ja nimettömät metodit oikein ovat ja missä niitä tarvitsee, joku käytännön esimerkki olisi hyvä. Ei tunnu googlekaan antavan kunnon vastausta.

        Noita geneerisiä ominaisuuksia on viime aikoina tullut muihinkin kieleen esim Java 1.6.
        Todennäköisesti ainakin nimimerkki TRRY osaa sanoa yleispätevästi mitä tuo tarkoittaa.


      • TRRY
        ja pahasti... kirjoitti:

        [Geneeriset tietotyypit ja anonymous methods
        http://blogs.codegear.com/davidi/2008/07/23/38915]

        Mitä nuo geneeriset tietotyypit ja nimettömät metodit oikein ovat ja missä niitä tarvitsee, joku käytännön esimerkki olisi hyvä. Ei tunnu googlekaan antavan kunnon vastausta.

        Geneeriset tietotyypit mahdollistavat luokkien parametrisoinnin. Esimerkiksi edellisen linkin esimerkissä esitellään geneerinen TList-luokka, joka ottaa yhden parametrin: listaan tallennettavien alkioiden tyypin. Tuosta tyypistä käytetään luokan esittelyssä nimeä T.

        Myöhemmin määritellään kaksi erilaista listatyyppiä: lista kokonaislukuja, TList, ja lista merkkijonoja TList. Nämä ovat kaksi eri tyyppiä, joiden esittelyt näet, kun korvaat geneerisessä TList-esittelyssä esiintyvät isot T-kirjaimet merkkijonoilla "Integer" ja "String".

        Missä geneerisiä tyyppejä sitten tarvitaan? Niiden avulla voi välttää saman ohjelmakoodin kirjoittamista kahteen kertaan. Esimerkiksi lista-tyyppiä ei tarvitse ohjelmoida kuin kerran, mutta samalla kerralla saa listan kaikille haluamilleen alkiotyypeille.

        No, eihän sitä koodia oikeasti muutenkaan kirjoitettaisi erikseen kokonaisluku- ja merkkijonolistoille. Ilman geneerisiä luokkia ongelma ratkaistaisiin määrittelemällä lista yleisesti "objekteille". Geneerisillä tietotyypeillä on kuitenkin etunsa "objektin" käyttöön verrattuna, kun listaan tallennetaan vain yhden tyyppisiä alkioita. Geneerisillä tietotyypeillä saadaan kaksi kokonaan erillistä listatyyppiä, jolloin kääntäjä voi tehdä tarkemmat tyyppitarkastukset, ja ohjelman suorituskin voi olla hieman nopeampaa, koska alkioiden tyyppi on koko ajan selvillä. Nopeus tosin riippuu kääntäjän toteutuksesta. Javassa (ainakaan 1.5:ssä) nopeusetua ei ole, koska tyyppitieto hukataan ennen tavukoodiksi käännöstä.

        Nimettömät metodit säästävät hieman ohjelmoijan kirjoitusvaivaa, nimien keksimisen päänvaivaa, ja auttavat kirjoittamaan vain yhdessä paikassa tarvittavan ohjelmakoodin juuri sinne, missä sitä todella tarvitaan.

        Käyttötarkoituksista tulee ensimmäisenä mieleen useista kirjastoista löytyvä sort-funktio. Sellaiselle voi usein antaa parametriksi järjestettävän tietorakenteen lisäksi myös funktion, joka kertoo, kahden vertailtavaksi annetun arvon on suuruuksien suhteen. Ilman nimettömiä metodeja tätä tarkoitusta varten on kirjoitettava normaali funktio nimineen päivineen, vaikka sitä ei missään muualla tarvittaisi. Sen sijaan nimettömän vertailufunktion voi kirjoittaa vaikka suoraan sort-funktiokutsun parametrien joukkoon.

        En äkkiseltään saanut selvää, tuliko Delphiin samalla myös sulkeumat. Ne ovat erittäin luonnollinen ja käytännöllinen lisä nimettömiin funktioihin. (Ei pidä ymmärtää väärin; on niistä riemua myös nimellisten funktioiden kera.)

        Vielä lyhyt Python-esimerkki nimettömistä funktioista ja sulkeumista. Seuraavassa vuorottele-nimiseen muuttujaan tallennetaan nimetön funktio, joka ottaa parametrikseen listan "arvot". Kun tätä funktiota kutsutaan, paluuarvona saadaan sellainen (nimetön) funktio, joka puolestaan palauttaa listan alkioita vuoron perään yksi kerrallaan. Viimeisen alkion jälkeen palautetaan taas ensimmäinen alkio. Nimettömien funktioiden, joita Pythonissa esitellään lambda-lausekkeella (syntaksi on "lambda" parametrit kaksoispiste paluuarvo) ansiosta koodi on varsin lyhyt:

        vuorottele = lambda lista: lambda: [lista[0], lista.append(lista.pop(0))][0]

        Vuorottelijoita voi olla ajossa samanaikaisesti useita eri listoille:

        a = vuorottele([1,2,3])
        b = vuorottele(['a','b'])

        a:n kutsut "a()" palauttavat 1, 2, 3, 1, 2, 3, ... ja b:n kutsut 'a', 'b', 'a', 'b', ... riippumatta siitä, missä järjestyksessä niitä kutsutaan.


      • <Minä_vaan>
        TRRY kirjoitti:

        Geneeriset tietotyypit mahdollistavat luokkien parametrisoinnin. Esimerkiksi edellisen linkin esimerkissä esitellään geneerinen TList-luokka, joka ottaa yhden parametrin: listaan tallennettavien alkioiden tyypin. Tuosta tyypistä käytetään luokan esittelyssä nimeä T.

        Myöhemmin määritellään kaksi erilaista listatyyppiä: lista kokonaislukuja, TList, ja lista merkkijonoja TList. Nämä ovat kaksi eri tyyppiä, joiden esittelyt näet, kun korvaat geneerisessä TList-esittelyssä esiintyvät isot T-kirjaimet merkkijonoilla "Integer" ja "String".

        Missä geneerisiä tyyppejä sitten tarvitaan? Niiden avulla voi välttää saman ohjelmakoodin kirjoittamista kahteen kertaan. Esimerkiksi lista-tyyppiä ei tarvitse ohjelmoida kuin kerran, mutta samalla kerralla saa listan kaikille haluamilleen alkiotyypeille.

        No, eihän sitä koodia oikeasti muutenkaan kirjoitettaisi erikseen kokonaisluku- ja merkkijonolistoille. Ilman geneerisiä luokkia ongelma ratkaistaisiin määrittelemällä lista yleisesti "objekteille". Geneerisillä tietotyypeillä on kuitenkin etunsa "objektin" käyttöön verrattuna, kun listaan tallennetaan vain yhden tyyppisiä alkioita. Geneerisillä tietotyypeillä saadaan kaksi kokonaan erillistä listatyyppiä, jolloin kääntäjä voi tehdä tarkemmat tyyppitarkastukset, ja ohjelman suorituskin voi olla hieman nopeampaa, koska alkioiden tyyppi on koko ajan selvillä. Nopeus tosin riippuu kääntäjän toteutuksesta. Javassa (ainakaan 1.5:ssä) nopeusetua ei ole, koska tyyppitieto hukataan ennen tavukoodiksi käännöstä.

        Nimettömät metodit säästävät hieman ohjelmoijan kirjoitusvaivaa, nimien keksimisen päänvaivaa, ja auttavat kirjoittamaan vain yhdessä paikassa tarvittavan ohjelmakoodin juuri sinne, missä sitä todella tarvitaan.

        Käyttötarkoituksista tulee ensimmäisenä mieleen useista kirjastoista löytyvä sort-funktio. Sellaiselle voi usein antaa parametriksi järjestettävän tietorakenteen lisäksi myös funktion, joka kertoo, kahden vertailtavaksi annetun arvon on suuruuksien suhteen. Ilman nimettömiä metodeja tätä tarkoitusta varten on kirjoitettava normaali funktio nimineen päivineen, vaikka sitä ei missään muualla tarvittaisi. Sen sijaan nimettömän vertailufunktion voi kirjoittaa vaikka suoraan sort-funktiokutsun parametrien joukkoon.

        En äkkiseltään saanut selvää, tuliko Delphiin samalla myös sulkeumat. Ne ovat erittäin luonnollinen ja käytännöllinen lisä nimettömiin funktioihin. (Ei pidä ymmärtää väärin; on niistä riemua myös nimellisten funktioiden kera.)

        Vielä lyhyt Python-esimerkki nimettömistä funktioista ja sulkeumista. Seuraavassa vuorottele-nimiseen muuttujaan tallennetaan nimetön funktio, joka ottaa parametrikseen listan "arvot". Kun tätä funktiota kutsutaan, paluuarvona saadaan sellainen (nimetön) funktio, joka puolestaan palauttaa listan alkioita vuoron perään yksi kerrallaan. Viimeisen alkion jälkeen palautetaan taas ensimmäinen alkio. Nimettömien funktioiden, joita Pythonissa esitellään lambda-lausekkeella (syntaksi on "lambda" parametrit kaksoispiste paluuarvo) ansiosta koodi on varsin lyhyt:

        vuorottele = lambda lista: lambda: [lista[0], lista.append(lista.pop(0))][0]

        Vuorottelijoita voi olla ajossa samanaikaisesti useita eri listoille:

        a = vuorottele([1,2,3])
        b = vuorottele(['a','b'])

        a:n kutsut "a()" palauttavat 1, 2, 3, 1, 2, 3, ... ja b:n kutsut 'a', 'b', 'a', 'b', ... riippumatta siitä, missä järjestyksessä niitä kutsutaan.

        Mitä eroa on template:llä ja geneerisillä tietotyypeillä?


    Ketjusta on poistettu 1 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. SDP haluaa LISÄÄ veroja bensa-autoille!

      Sdp:n vaihtoehtobudjetti esittää polttomoottoriautoille lisää veroja Sdp esittää tuoreessa vaihtoehtobudjetissaan verot
      Maailman menoa
      177
      17462
    2. Riikka se jytkytti BKT:stä nyt 0,3 prosenttia pois

      Ja vain kolmessa kuukaudessa! Vuositasollahan tuo tarkoittaa reilun prosentin pudotusta. Pärjäisi varmaan lasketteluss
      Maailman menoa
      47
      10034
    3. Vasemmistoaate on aatteista jaloin

      Kaikki saavat ja kukaan ei jää ilman. Kuka tuollaista voisi vastustaa?
      Maailman menoa
      61
      5917
    4. Antti Lindtman kiitti valtiovarainministeri Purraa

      Ministeri Purra kertoi ottavasa vastuun EU:n alijäämämenettelyyn joutumisesta. Hän myös sanoi tietävänsä, että Lindtman
      Perussuomalaiset
      46
      3210
    5. Suomalaisten enemmistö on (ateisteja / fiksuja / sosialisteja)

      Tai jokin noiden yhdistelmä, koska S-ryhmän markkinaosuus päivittäistavarakaupasta on yli 50 prosenttia.
      Maailman menoa
      21
      2911
    6. Brittiläinen vasemmistolehti: Sanna Marin oli vihdoin rehellinen

      Nyt tulee pahasti lunta tupaan Seiskan tähtitytölle. Ex-pääministerin kirjaa arvostellaan latteuksista ja itsekehusta.
      Maailman menoa
      25
      2822
    7. "Purra löylytti oppositiota", sanoi naistoimittaja Pöllöraadissa

      Kyllä, Purra tekee juuri sitä työtä mitä hänen tuossa asemassa pitää tehdä, hän antaa oppositiolle takaisin samalla mita
      Maailman menoa
      56
      2692
    8. Henkilökohtaisia paljastuksia Dubaista - Kohujulkkis Sofia Belorf on äitipuoli ja puoliso!

      Tiesitkö, että Sofia on äitipuoli ja rakastava puoliso? Sofia Belorf saa oman sarjan, jossa seurataan hänen Bling Bling
      Kotimaiset julkkisjuorut
      86
      2628
    9. Kenen luo menisit nyt

      jos se olisi mahdollista?
      Ikävä
      138
      1890
    10. Alexander C. G. riisti demari-Veijolta arvonimen

      "Stubb myönsi 66 arvonimeä ja peruutti yhden arvonimen. Presidentti Tarja Halonen myönsi Baltzarille kulttuurineuvoksen
      Maailman menoa
      43
      1870
    Aihe