Miten merkkijono siirretään/kopioidaan toiselle lomakkeelle?
Tietojen vaihto
2
486
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
Sä olet epävakaa
tai ainakin yrität onnistuneesti vaikuttaa siltä. Ei sun kanssa uskalla ruveta yhtään mihinkään, menis hommat ojasta all462075Mieti miten paljon yritin
Löytää yhteyttä kanssasi uudelleen sen väärinymmärryksen jälkeen. Koen etten tullut puoleltasi hyvin kohdelluksi mies😔571819- 361534
Yksi viesti häneltä ja ottaisin takaisin
Mutta ei sitä tule. Ja ehkä parempi niin, tein jo valintani. En saanut häneltä tarpeeksi, kaikki muu meni minun edelle j321443- 781238
- 581122
Keskisarjan puheet
Onko kansanedustajan sopivaa puhua tuollai vai pitäisikkö potkia pois eduskunnasta?189973- 57949
- 49913
- 24894