Miten merkkijono siirretään/kopioidaan toiselle lomakkeelle?
Tietojen vaihto
2
464
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
Hengenvaaralliset kiihdytysajot päättyivät karmealla tavalla, kilpailija kuoli
Onnettomuudesta on aloitettu selvitys. Tapahtuma keskeytettiin onnettomuuteen. Tapahtumaa tutkitaan paikan päällä yhtei1997004- 1592076
- 1131708
- 511400
Suureksi onneksesi on myönnettävä
Että olen nyt sitten mennyt rakastumaan sinuun. Ei tässä mitään, olen kärsivällinen ❤️551268Möykkähulluus vaati kuolonuhrin
Nuori elämä menettiin täysin turhaan tällä järjettömyydellä! Toivottavasti näitä ei enää koskaan nähdä Kauhavalla! 😢551150Älä mies pidä mua pettäjänä
En petä ketään. Älä mies ajattele niin. Anteeksi että ihastuin suhun varattuna. Pettänyt en ole koskaan ketään vaikka hu1001084Reeniähororeeniä
Helvetillisen vaikeaa työskennellä hoitajana,kun ei kestä silmissään yhtään läskiä. Saati hoitaa sellaista. Mitä tehdä?71026Tarvitsemme lisää maahanmuuttoa.
Väestö eläköityy, eli tarvitsemme lisää tekeviä käsiä ja veronmaksajia. Ainut ratkaisu löytyy maahanmuutosta. Nimenomaan253971- 41959