Delphi2009

keskustelua!

Onko merkittäviä muutoksia ?

9

513

    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. Kamala onnettomuus

      Miten tällaiset mönkijäonnettomuudet yleensä tapahtuu? Liikaa vauhtia? Saako mönkijöillä ajaa lasten kanssa ja ilman kyp
      Suomussalmi
      186
      8385
    2. Mönkijäpnnettomuus

      Harmillinen homma. https://www.hs.fi/suomi/art-2000010557170.html
      Suomussalmi
      47
      2482
    3. Tilitoimisto!!!

      Mikä tilitoimisto jäi kiinni rikoksesta Rovaniemellä?
      Rovaniemi
      31
      1889
    4. Tietäisitpä miten haluaisin sinut kohdata

      Vaikka vaan katsella ohimennen. Voisitko telepaattisesti lähettää viestiä, - löytyisikö kohtauspaikkaa?
      Ikävä
      74
      1703
    5. Kerro kaivatustasi jotakin mukavaa.

      Itse aloitan: hyvännäköinen ja ahkera ❤️‍🔥
      Ikävä
      111
      1639
    6. Oon pahoillani sun puolesta

      kun olit muuttunut niin paljon ulkoisesti. Ja huonompaan suuntaan. Koeta pärjätä. Naiselle mieheltä vuosien takaa
      Ikävä
      53
      1239
    7. Milloin oot nähnyt kaivattusi

      ensimmäistä kertaa?
      Ikävä
      60
      1161
    8. Missä päin suomea kaivattusi asustelee?

      Oma kaivattuni (mies(J) asuu Uudenmaan läänissä.
      Ikävä
      60
      1112
    9. Tiesitkös nainen että mulla on paljon vientiä?!

      Sänkyseuraa riittää, valinnan vaikeus.
      Ikävä
      93
      1055
    10. Tikanmäen vastaus Haavistolle

      Aika erikoinen puolustautuminen valtuuston puheenjohtajalla kaupunkilaisen kirjoitukseen. Haavisto ihmetteli niitä tunn
      Pyhäjärvi
      113
      922
    Aihe