Delphi2009

keskustelua!

Onko merkittäviä muutoksia ?

9

524

    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. Kuuluuko ehkäisy parisuhteessa molemmille

      Mieheni pelkää kovasti sitä, että minun käyttämä ehkäisy (pillerit) pettävät ja että tulisin raskaaksi. Hänellä on jo en
      Parisuhde
      62
      1214
    2. Suhun ihastuminen oli liikaa mulle ...

      Se meni jo sairauden ja sekavuuden puolelle. Oisin tehnyt melkein mitä vain, että saisin sut ja se ei ole tervettä. Vars
      Ikävä
      34
      1020
    3. Mihin ihastuit ensimmäisenä

      kaivatussasi? 💯
      Ikävä
      63
      1010
    4. Tänään valtuustossa

      Striimi rikki. Mennään saliin ja otetaan pussillinen mätiä omenoita mukaan. Popcornit valmiiksi kun Savola alkaa puhumaa
      Ähtäri
      26
      1007
    5. Miten paljon odotat hänen

      Kohtaamisia tai näkemistä? Kuinka hyvä keskusteluyhteys teillä on?
      Ikävä
      69
      955
    6. Onko kaivattunne puhelias

      Vai hiljainen hissukka.
      Ikävä
      46
      941
    7. Jiille kysymys

      Oletko kuitenkin mennyt eteenpäin ja sinulla joku uusi nainen kuvioissa? 🥹
      Ikävä
      73
      892
    8. Suomussalmen mustalaiset

      Uutena suomussalmelaisena mietin, että millasta porukkaa ovat?
      Suomussalmi
      17
      870
    9. Oletko mielestäsi kaivattusi

      ihannetyyppi ulkoisesti?
      Ikävä
      56
      852
    10. Minkälaiset hiukset

      kaivatullasi on? Miehellä Kenties ananas, puolikalju jne jne Naisella kenties vaaleat kiharat jne jne
      Ikävä
      27
      836
    Aihe