Delphi2009

keskustelua!

Onko merkittäviä muutoksia ?

9

505

    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. Katso: Ohhoh! Miina Äkkijyrkkä sai käskyn lähteä pois Farmi-kuvauksista -Kommentoi asiaa: "En ole.."

      Tämä oli shokkiyllätys. Oliko tässä kyse tosiaan siitä, että Äkkijyrkkä sanoi asioita suoraan vai mistä.... Tsemppiä, Mi
      Tv-sarjat
      130
      4915
    2. Voi kun mies rapsuttaisit mua sieltä

      Saisit myös sormiisi ihanan tuoksukasta rakkauden mahlaa.👄
      Ikävä
      30
      3106
    3. Haluan jutella kanssasi Nainen

      Olisiko jo aika tavata ja avata tunteemme...On niin paljon asioita joihin molemmat ehkä haluaisimme saada vastaukset...O
      Ikävä
      16
      1807
    4. Poliisiauto Omasp:n edessä parkissa

      Poliisiauto oli parkissa monta tuntia Seinäjoen konttorin edessä tänään. Haettiinko joku tai jotain pankista tutkittavak
      Seinäjoki
      22
      1760
    5. Onko mies niin,

      että sinulle ei riitä yksi nainen? Minulle suhde tarkoittaa sitoutumista, tosin eihän se vankila saa olla kummallekaan.
      Tunteet
      18
      1611
    6. Voitasko leikkiä jotain tunnisteleikkiä?

      Tietäisi ketä täällä käy kaipaamassa.. kerro jotain mikä liittyy sinuun ja häneen eikä muut tiedä. Vastaan itsekin kohta
      Ikävä
      71
      1481
    7. Miksi näin?

      Miksi vihervassut haluaa maahan porukkaa jonka pyhä kirja kieltää sopeutumisen vääräuskoisten keskuuteen? Näin kotoutumi
      Maailman menoa
      19
      1237
    8. Armi Aavikko Malmin hautausmaa

      Haudattiinko Armi arkussa Malmin hautausmaalle vai tuhkattiinko hänet? Kuka tietää asiasta oikein?
      Kotimaiset julkkisjuorut
      10
      1223
    9. Haluisin suudella ja huokailla

      ja purra kaulaasi ja rakastella sinua. Haluisin puristella rintojasi ja pakaroitasi. Ei sinulla taida olla kuitenkaan ni
      Ikävä
      16
      1197
    10. Ison Omenan uhri tukahdutettiin kuoliaaksi. Kuolinsyynä sydämen pysähdys.

      Eli naisen hengittäminen estettiin ja tästä oli suorana seurauksena sydämen pysähdys. Ihan oppikirjan mukainen tapaus. H
      Maailman menoa
      17
      1187
    Aihe