Delphi2009

keskustelua!

Onko merkittäviä muutoksia ?

9

558

    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. Hengenvaaralliset kiihdytysajot päättyivät karmealla tavalla, kilpailija kuoli

      Onnettomuudesta on aloitettu selvitys. Tapahtuma keskeytettiin onnettomuuteen. Tapahtumaa tutkitaan paikan päällä yhtei
      Kauhava
      198
      6908
    2. Ootko rakastunut?

      Kerro pois nyt
      Ikävä
      159
      2036
    3. Onhan sulla nainen parempi mieli

      Nyt? Ainakin toivon niin.
      Ikävä
      113
      1688
    4. Ujosteletko tosissaan vai mitä oikeen

      Himmailet???? Mitä pelkäät?????
      Ikävä
      51
      1390
    5. Suureksi onneksesi on myönnettävä

      Että olen nyt sitten mennyt rakastumaan sinuun. Ei tässä mitään, olen kärsivällinen ❤️
      Ikävä
      55
      1238
    6. Möykkähulluus vaati kuolonuhrin

      Nuori elämä menettiin täysin turhaan tällä järjettömyydellä! Toivottavasti näitä ei enää koskaan nähdä Kauhavalla! 😢
      Kauhava
      50
      1098
    7. Älä mies pidä mua pettäjänä

      En petä ketään. Älä mies ajattele niin. Anteeksi että ihastuin suhun varattuna. Pettänyt en ole koskaan ketään vaikka hu
      Ikävä
      100
      1074
    8. Reeniähororeeniä

      Helvetillisen vaikeaa työskennellä hoitajana,kun ei kestä silmissään yhtään läskiä. Saati hoitaa sellaista. Mitä tehdä?
      Kouvola
      7
      996
    9. Tarvitsemme lisää maahanmuuttoa.

      Väestö eläköityy, eli tarvitsemme lisää tekeviä käsiä ja veronmaksajia. Ainut ratkaisu löytyy maahanmuutosta. Nimenomaan
      Maailman menoa
      251
      954
    10. Kävit nainen näemmä mun

      Facessa katsomassa....
      Ikävä
      41
      929
    Aihe