Miten merkkijono siirretään/kopioidaan toiselle lomakkeelle?
Tietojen vaihto
2
457
Vastaukset
- Delphiguru
Delphin merkkijonot ( String ) eivät ole mitenkään sidoksissa lomakkeisiin (TForm -johdannaiset kuten TForm1 jne. ).
Mieti ensin, onko kukin tarvitsemasi merkkijono globaali (eli 1 kpl / ohjelma) vai oliokohtainen.
JOS kyse on globaaleista merkkijonoista, mikset tekisi uutta käännösyksikköä (New / Unit ).
Nimeä uusi UNIT vaikkapa ProjectGlobals.pas
kaikissa niissä uniteissa, joissa tarvitset noita merkkijonoja, lisää tämä lause:
uses
ProjectGlobals;
TAI, jos UNITissa on jo uses -lause, lisää sen loppuun:
,ProjectGlobals;
(vain 1 puolipiste USES -lauseen lopussa, eli välille jäävät muutetaan pilkuiksi).
jos nyt tuon ProjectGlobals -unitin interface -osaan laitat:
var
MJono1, MJono2, MJono3 : String;
niin voit käyttää kaikkia kolmea merkkijonoa kaikista UNITeista joista haluat, lisäät vain ko. ProjectGlobals kyseisen UNITin uses -lauseeseen.
Toki, jos jostain syystä esim. olet lisännyt TForm2 -luokkaan (muualle kuin private / protected -osaan) vaikkapa mjonon:
Testi : String;
niin esim Form1:ssä pääset siihen käsiksi näin:
Form2.Testi := 'haloo';
(joudut lisäämään Unit1:n uses -lauseeseen Unit2, jos TForm2 on määritelty UNITissa Unit2), tosin Delphi huomaa tämän tilanteen automaattisesti käännösvaiheessa ja ehdottaa: "Unit1 references Unit2; do you want to add Unit2 in the USES of Unit1" - vastaat tähän YES ja Delphi hoitaa tilanteen itse. - ...
Tai sitten voi käyttää SendMessagea:
http://www.cryer.co.uk/brian/delphi/howto_send_custom_window_message.htm
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod225304- 254498
- 282621
- 342284
- 372028
- 151968
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191627- 121551
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons211297Kerranki asiat oikein
Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa101214