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
Ongelmia stringien kanssa
3
767
Vastaukset
- 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
Kelekkakisat
Mikä vakava onnettomuus sattunut kisoissa. On peruttu koko kisat. Pelastuskopteri näytti käyvän paikalla.2110895- 408167
- 1235221
- 1433626
- 693558
Virkamiehille tarvitaan tuntuvat palkankorotukset
Naistenpäivänä on syytä muistuttaa, että virkamiehen euro on vain 80 senttiä. Palkat tulee saattaa samalle tasolle yksi353514- 333147
- 552499
Olisipa saanut sinuun
Tutustua paremmin. Harmi että aloin lopulta jännittämään kun näytit tunteesi niin voimakkaasti ja lähestyit niin voimaak352001- 281776