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

767

    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. Kelekkakisat

      Mikä vakava onnettomuus sattunut kisoissa. On peruttu koko kisat. Pelastuskopteri näytti käyvän paikalla.
      Nivala
      21
      10895
    2. Aivan kauheaa

      Veikö koskiuoma taas ihmishengen? Se pitää kieltää!
      Imatra
      40
      8167
    3. Onko kaivattusi

      …mielestäsi älykäs, tai kenties tyhmä? Oma mielipide.
      Ikävä
      123
      5221
    4. Kuinka pitkä välimatka

      on teidän kotien välillä?
      Ikävä
      143
      3626
    5. Epäilen ettet edes

      Kehtaisi liikkua kanssani.
      Ikävä
      69
      3558
    6. Virkamiehille tarvitaan tuntuvat palkankorotukset

      Naistenpäivänä on syytä muistuttaa, että virkamiehen euro on vain 80 senttiä. Palkat tulee saattaa samalle tasolle yksi
      Maailman menoa
      35
      3514
    7. Oletko huomannut

      Yhden muutoksen?
      Ikävä
      33
      3147
    8. Jäikö meidän välit

      Mielestäsi Kesken?
      Ikävä
      55
      2499
    9. Olisipa saanut sinuun

      Tutustua paremmin. Harmi että aloin lopulta jännittämään kun näytit tunteesi niin voimakkaasti ja lähestyit niin voimaak
      Ikävä
      35
      2001
    10. Miltä mahtaa tuntua

      Sitten kun näet hänet pitkästä aikaa?
      Tunteet
      28
      1776
    Aihe