Ongelmia stringien kanssa

MiTen se nyt On

Miten merkkijonoluettelo pitäisi tuoda näihin monirivisiin käyttöliittymäkomponentteihin. xx.AddStrings( ) ? xx.Assign( )? xx.text := vai joku muu? (Miksi tämä) Olisi hienoa jos olisi pieni selventävä esimerkki myös

3

738

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • example_dk6

      Eli jos nyt oikein ymmärsin kysymyksesi, niin alla oletettava vastaus: procedure TForm1.Button1Click(Sender: TObject); var sl : TStringList; begin sl := TStringList.Create; try sl.Add('1'); sl.Add('2'); sl.Add('3'); //Memo1.Lines.AddStrings(TStrings(sl)); //Memo1.Lines.Assign(sl); //Memo1.Lines.Text := sl.Text; finally sl.free; end; end; Vaihtoehdot kommentoituna, onnistuu vielä eri tavoinkin, mutta tuskinpa tarvitset lisää esimerkkejä.

      • high power

        Eri vaihtoehtoja on tarjolla mutta onko näiden suorituskyvyssä eroja ?


      • Delphiguru
        high power kirjoitti:

        Eri vaihtoehtoja on tarjolla mutta onko näiden suorituskyvyssä eroja ?

        Ensinnäkin:

        nopeuden maksimomiseksi, tee näin:

        guiComponent.addStrings(SomeStrings);

        eityisesti TMemo:on lisäys saattaa olla nopein näin:

        memo1.Text := memo1.Text ^M^J SomeStrings.Text;

        jos lisäät "käsin" yksittäisiä merkkijonoja, niin:

        guiComponent.BeginUpdate;
        try

        // lisää 1 tai useampia merkkijonoja tässä, esim: guiComponent.Lines.Add('jotakin');

        finally

        guiComponent.EndUpdate;

        end;


        tuo addStrings -metodi kutsuu sisäisesti BeginUpdate / EndUpdate -paria nopeuden maksimoimiseksi.

        huomaa myös: vanhoissa Win95/Win98/winME -käyttöjärjestelmissä niin memoissa kuin TListBoxeissakin on maksimi rivi/merkkimääräraja aika alhaalla.


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

    Luetuimmat keskustelut

    1. Orpo hiiri kadoksissa, Marin jo kommentoi

      Kuinka on valtiojohto hukassa, kun vihollinen Grönlantia valloittaa? Putinisti Purra myös hiljaa kuin kusi sukassa.
      Maailman menoa
      65
      4859
    2. Lopeta jo pelleily, tiedän kyllä mitä yrität mies

      Et tule siinä onnistumaan. Tiedät kyllä, että tämä on just sulle. Sä et tule multa samaan minkäänlaista responssia, kosk
      Ikävä
      273
      3736
    3. Tampereen "empatiatalu" - "Harvoin näkee mitään näin kajahtanutta"

      sanoo kokoomuslainen. Tampereen kaupunginvaltuuston maanantain kokouksessa käsiteltävä Tampereen uusi hyvinvointisuunni
      Maailman menoa
      288
      3420
    4. Tehomaksu rankaisisi normaalista sähkönkäytöstä

      Energiaviraston valmistelema tehomaksumalli herättää aiheellista huolta erityisesti tavallisten kotitalouksien näkökulma
      Maailman menoa
      115
      3295
    5. Nuori lapualainen nainen tapettu Tampereella?

      Työ­matkalainen havahtui erikoiseen näkyyn hotellin käytävällä Tampereella – tämä kaikki epäillystä hotelli­surmasta tie
      Lapua
      34
      2780
    6. Lidl teki sen mistä puhuin jo vuosikymmen sitten

      Eli asiakkaat saavat nyt "skannata" ostoksensa keräilyvaiheessa omalla älypuhelimellaan, jolloin ei tarvitse mitään eril
      Maailman menoa
      127
      1748
    7. 105
      1610
    8. Leo Meller on kuollut

      Mtä sääntöjen vastaista Mellerin kuolemassa?
      Helluntailaisuus
      172
      1251
    9. Orpo pihalla kuin lumiukko

      Onneksi pääministerimme ei ole ulkopolitiikassa päättäjiemme kärki. Hänellä on täysin lapsellisia luuloja Trumpin ja USA
      Kansallinen Kokoomus
      86
      1142
    10. Toimari laittoi afrikkalaiset työharjoittelijat laulamaan Banaaninlastaajan laulua!

      Käski vielä heidän sanoa aina aamulla tehtävien jaossa "tama ei olla valkoisen miehen homma."
      Maailman menoa
      34
      1081
    Aihe