Deel 1 deel van schrijven, in een deel van de serie,

in Delphi, voor de voorbereiding van de eerste vergadering.,,,,,, dat artikel verscheen voor het eerst in Delphi,,, top van auteursrecht, auteursrecht,,,,,, het eerste deel van de beste manier om te zien wat De bouw van onderdelen, en met dezelfde tijd biedt bij het bepalen van de beste basis school tips, het gebruik van virtuele aangifte, het proces, enz.,,, de eerste twee dingen afvragen waarom je moet schrijven is het gebruik van componenten, een vergadering als je moet schrijven.De eerste vraag is eigenlijk heel eenvoudig te beantwoorden, en het zijn er een aantal antwoorden,,,,, gemakkelijk te gebruiken: de verpakking code betekent dat je kan eenvoudig verwijderen van dezelfde onderdelen in de verschillende vormen van herhaalde zonder een code voor het herstel van de code, de concentratie van toepassing (of een groep van toepassing) in een enkel element en het herstel van fouten.Veel geld, en: bereid om te betalen om niet opnieuw uitvinden, de privileges.,,,,, en de tweede vraag is niet zo moeilijk te beantwoorden.Wanneer je weet dat je de code schreef meer dan een keer, schrijf een vergadering is een goed idee, vooral als de code voor de uitvoering van de op basis van verschillende parameters,,, het creëren van onderdelen is het creëren van, de eerste stap is dat je je moet voortvloeien uit de groep van je.Als je van een andere klasse van je erfenis eigendom /methode en de gebeurtenissen, de vergadering heeft.Dit is een voorbeeld van hoe je moet opstellen, besluit zelf als een onderdeel van dit soort.,,, (de mening van methode b) in het geval van,,,,,,, dat de delen van het probleem TMemo.,,,,,,,,,,,,, oplossing.,,,,,,,,,,,,,,,, b, van TMemo,,,,,, van de tcustommemo,,,,,,,,,,,, C, van de tcustomcontrol,,,,,,, D,,,,,,,,,,, Uit een,,,,,, van de tcomponent,,,,,,,,,,, en dat lijkt me een beetje ingewikkeld, dus laat het me uitleggen hoe het proces.,,,,, als je alleen maar een bestaande onderdelen, componenten en je extra functies.Dit zal je nieuwe onderdelen van automatisch aan alle bestaande onderdelen en kenmerken van alle functies, en b: je moet niet alleen de toevoeging van soms, maar je moet het ook schrappen.Standaard oefening delen is geschreven voor de eerste keer in tcustomxxxxx vergadering alle eigenschappen van de gebeurtenissen en de methoden in de vergadering is van de beschermde gebieden vast te stellen.De praktische component, dan uit deze lessen.Dus, de truc is niet verbergen, maar van de "op maat" versie van de vergadering uw vergadering, en die wil je alleen te verwijderen van de eigenschappen van de gebeurtenissen niet wil /) kenmerken,,,, moet worden gericht: een component moet een zin aan het raam.Dit is in de eerste plaats om te zijn.Tcustomcontrol alleen eigen doeken eigenschap.,,, d: er is een raam, dus die niet kunnen worden gericht.De basis van ingrediënten zoals TLabel.,,,, - bevordering van het creëren van een component: geen interactie en je leven makkelijker maakt.Een van de tcomponent is alleen zichtbaar op ontwerp.Een typisch voorbeeld van het gebruik van dit type onderdeel is van een databank, een Timer, zodra we hebben besloten dat we de belangrijkste categorie zou moeten zijn, de volgende stap is het creëren van onderdelen.Onderdelen van de menu 's, de selectie van nieuwe onderdelen, je zal zien dat deze dialoog.,,,,,,,,,,,,,, de voorloper van het type, dat is basis vormen, we moeten vallen,,,,,,,,,,,,,, de naam, het is onze nieuwe de naam van een onderdeel van klasse, (de brief "t"),,,,,,,,,,,,, palet van pagina' s, welke rekening in de vergadering in het panel zou je zijn als je,, de samenstelling, in een niet bestaande etiketten vertellen, Delphi, wil je een nieuwe het label.,,,,,,, een code is geschreven, we schrijven was.Het eerste voorbeeld hiervan is niet gebruikt, met uitzondering van waaruit een concept opstellen van de onderdelen, in de eerste plaats van de belangrijkste menu kiezen Vergadering, en de keuze van nieuwe componenten.In de tcomponent "voorouders" en tfirstcomponent als je de naam van de component.De volgende keer op de knop "installatie", op dit punt, kan je je nieuwe vergadering naar de bestaande pakket (een pakje in het bezit zijn van een verzameling van onderdelen) of de installatie van een nieuw pakket.Klik op "het nieuwe pakket" klik "door" knop.,,,,,, als je al je nieuwe pakket voor de keuze van het pad en de naam, 'oké' in een beschrijving.In het kader van een dialoog (vragen als je wilt bouwen van uw pakket) op de "is".Zodra het pakket is samengesteld en de installatie, red je pakje en eenheid, in die tijd hebben we onze basis aangewezen, en onze nieuwe naam.We hebben een nieuw pakket bevat onze vergadering, en heeft een skelet structuur, die bestaat uit deskundigen, als je kijkt naar de source code, je ziet nu dat de bescherming van het publiek, en particulier, en voor een deel van het pakket, het pakket en,, pakket is een eenvoudige het concept, maar zeer belangrijke onderdeel van het schrijven.Het samenbrengen van vier woorden te bereiken: de bescherming van particuliere, openbare, en, de, publicatie, zie je dat deze automatisch in de source code voor je nieuwe onderdelen van automatisch.,,,,,,,,,,,,,,,,,,,,,,,,,.In dezelfde eenheid van onderdelen van de in de artikelen en andere particuliere, worden beschermd, in deze rubriek aangegeven methoden, de aard en de gebeurtenissen van deze categorie zal ook een categorie vallen,,,,, open, open, de methoden, de eigenschappen en de gebeurtenissen in de toegang tot de verklaring van overal.Het ontwerp van de waarde van deze instellingen is het tijd, dit is red je project.(niet alle soorten steun, bijvoorbeeld, de installatie),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.In de volgende codes tot onderdeel van de source code,,,,,,,,,,,, particuliere, particuliere} {fstarttime,,,,,,,,, de bescherming van fstoptime:DWORD;,,,,, - de bescherming van de verklaring),,,,,, getelapsedtime: string, virtuele;,,,,,,,,,} {publieke verklaringen,,,,, de procedures, de start van de virtuele;,,,,,,,,,, programma stopzetten;,,, virtueel eigendom, begin: dword, lezen, fstarttime;,,, eigendom, stopt de tijd: dword, lezen, fstoptime;,,, - goed, de verstreken tijd: string, lezen, getelapsedtime;,,,,,, een verklaring gepubliceerd} {,,,,,,,,,,,,,,,,,,, wat we hier doen is de toevoeging van twee variabelen fstarttime en fstoptime (dit is een standaard data variabelen de letter f).De controle van deze variabelen voor de begin - en stoppen.We hebben nog een getelapsedtime functie terug een string fstoptime - fstarttime.Tot slot, we hebben nog drie Read - only.,,, in de shift-ctrl-c, Delphi zal automatisch de code van je klasse (of een klik met de muis, de keuze van de integriteit van de categorie "wijzer").- de volgende code onder hun eigen methode.,,,,,,,,,,,, tfirstcomponent} {, touw, tfirstcomponent.getelapsedtime:;,,,,, de resultaten: = IntToStr (fstoptime - fstarttime);,,,,,,,,, programma 's, tfirstcomponent beginnen;.,,, fstarttime:= functie;,,,,,,,,,, tfirstcomponent. Stop, begin fstoptime:= functie;,,,,,,,,,,,,,,,,,,,,,,,,, te testen, om je te redden van de eenheid, en open je tas open (documenten, de menu' s en de selectie van projecten, de "pakket" voor de soorten documenten, als je je tas openen op de "samengesteld" knop.Je kan ook door de keuze van de belangrijkste onderdelen van het menu, en dan open je tas te installeren.Kies je tas, en daarna de "bewerken" knop, nu kan je druppels, tfirstcomponent op het formulier, in feite, je kan als je wil.Nog twee knopen (btnstart en btnstop), wordt de volgende code toe te voegen aan uw vorm, dan ren je de testprocedures,,,,,,,,, programma 's, een gebeurtenis plaatsvindt. Btnstartclick (afzender: TObject);,,,,, dat het begin van het einde, firstcomponent1.;,,, het programma,,, het voorkomen van een incident. Btnstopclick (afzender: TObject);,,,,,,, firstcomponent1. Stop. Beschrijving: = firstcomponent1. De verstreken tijd;,,,,,,,,,,,,,,,,, en klik op "begin" knop zal beginnen (is de functie van een een API' s sinds begin terug milliseconden ramen).,,, klik op "stop" knop zal stoppen met tijd, veranderingen in de vorm van titel.,,, de virtuele, dynamische en abstracte en herschrijven, en misschien is het je opgevallen, virtuele, na de aangifte en de getelapsedtime beginnen, stop.De volgende oefening zal het gebruik van interpretatie.,,, het creëren van een nieuw onderdeel van deze vergadering, tfirstcomponent afgeleid van (naam tsecondcomponent) en de installatie van het,,.,, de virtuele en dynamische van Delphi methode kan vertellen in een afgeleide te vervangen door een deel van de manier van de schrijver.如果我们忽略类中的方法,我们的新代码会被执行,而不是原来的代码,,,,,,,,,,,,,{保护,保护声明},,,,,,getelapsedtime:字符串重写;,,;,,,,,,,我们,,,,,,然后执行上面的代码如下:,,,,,,,,,,,tsecondcomponent.getelapsedtime:字符串;var,,:字符串;,,开始,,,:=,继承,getelapsedtime;,,结果:= +,'毫秒或',+,,格式(,“%。2F秒',,,,[(停止时间-开始时间)/1000 ]);,,,;,,,,,,,我们,,,,,,新代码现在在原getelapsedtime更换叫,甚至叫getelapsed tfirstcomponent到实施的时间现在会打电话给我们的新代码(如果我们已经创建了一个实例啊F) tsecondcomponent is.Door gebruik te maken van de oorspronkelijke beschikking die een code, let op: als je niet "het" één van de fundamentele benadering (omdat de basis niet zijn verklaring voor de virtuele, of is het omdat je vergeten.Tsecondcomponent bel je de nieuwe code, en uitvoering van de code in de tfirstcomponent zal blijven van de originele code tfirstcomponent noemen.,,, dat kan niet worden verwacht dat een abstracte identificatiecode van Delphi code nomenclatuur.Je moet ze niet op een abstracte wijze creëren van een voorbeeld van het doel, zoals tstrings).De praktijk van de normen is het creëren van een klasse van zaad en herschrijven van alle abstracte methode (zoals tstringlist).,,, dynamische en virtuele is een eenvoudige snelheid en de omvang van het probleem.Een dynamische aanpak zal resulteren in een soort van elk voorbeeld, minder geheugen, en een virtuele methode zal de tenuitvoerlegging van de kosten sneller, een beetje extra geheugen, er zijn een paar eenvoudige maatregelen ter verhoging van de vergadering, de gebeurtenissen.De gebeurtenissen kunnen de vergadering en de toepassing van procedures voor communicatie, in kennis van het belangrijke gebeurtenissen.Een incident is slechts een lezen /schrijven van de goederen, in plaats van een eenvoudige variabelen (zoals touw, integer, enz.). Dit is een proces of functie.,,, het creëren van een nieuw onderdeel van het tsecondcomponent nomenclatuur van tthirdcomponent vallen.De installatie van de onderdelen van het behoud van de eenheid, jij, en de toevoeging van de volgende code,,,,,,,,,,, - = (ststarted, ststopped);,, tstatechangeevent =, de procedures, de afzender: TObject; staat: tstate),,,,,,,, (tsecondcomponent tthirdcomponent =,),,,,,,, particuliere, particuliere} {fonstart,,,,,,,,, fstate: staat; fonstop: met andere woorden, fonstatechange:tstatechangeevent;,,,,,,,,, - bescherming, bescherming van de verklaring),,,,,,,,, (openbare en publieke verklaringen},,, de fabrikant van het (aowner:tcomponent,,,,,,,,); herschrijven, de verschrikkelijke, vernietigen;,,,,,,,,,,,.,, programma 's op; voor;,,,,, de aard, De staat: tstate, lezen, fstate gepubliceerd;,,,,,,, verklaring, {},,,,, eigendom, met andere woorden, fonstart onstart: lezen, schrijven, fonstart;,,, eigendom, tstatechangeevent OnStateChange: lezen, schrijven fonstatechange,,,,,,,, fonstatechange; eigendom, met andere woorden, fonstop onStop: lezen, schrijven, fonstop; en, tot slot,,,,,,,,,,,,,,,, is de vereenvoudiging van de procedures en de functie van de gebeurtenissen (zelden), behoort tot een categorie (dus "voorwerp" - clausule in de tstatechangeevent je te zien).Bijvoorbeeld, met andere woorden van Delphi slechts door middel van object voor de gebeurtenis tot een standaard geval vormen, is het altijd goed om de "eigen" (de afzender: TObject) als een gebeurtenis van dezelfde gebeurtenis van de eerste code parameters kunnen worden gebruikt voor meer dan één component.,,, met andere woorden, gedefinieerd Als de,,,,,,,,,, met andere woorden, de procedures (de afzender: TObject), het voorwerp, de,,,,,,,,,,,,,, in een vergadering van een gebeurtenis die is één zaak, of als het geval is toegewezen, als dit waar is, zeg het maar.Ik heb voortdurend de start en stop die van TSecondComponent in deze gebeurtenissen om trigger, als.,,,,,,,,.,,, ik TThirdComponent.Start;,,,,,,, is Inherited, //This TSecondComponent.Start,,,, FState: = stStarted;,,, als, 1 (onstart) dan onstart (zelf);,,, als, 1 (OnStateChange), dan OnStateChange (zelf staat); aan het einde van,,,,,,.,,, ik TThirdComponent.Stop;,,,,,,, is Inherited, //This TSecondComponent.Stop,,,,, FState: = stStopped;,, als, 1 (OnStop), dan OnStop (zelf);,,, als, 1 (OnStateChange), dan OnStateChange (zelf staat); aan het einde van,,,,,, de fabrikant, TThirdComponent.Create (AOwner: TComponent);,,, ",,,,,, Inherited,; was je //This is, initialise eigenschappen,Het creëren van,,,,,, /en - object kan worden gebruikt binnen de,,,,,,,, fstate:= ststopped;,,, de verschrikkelijke, tthirdcomponent. Vernietiging;,,,,,,, ///////dit is waar je zal vernietigen, /geen bezwaar gemaakt,,,,,, die;,,,,,,,,,,,,,, het opstellen van uw pakket (vergeet niet om je tas je te allen tijde de toevoeging van nieuwe elementen).In je nieuwe onderdelen in de vorm, zal je merken dat er drie gebeurtenissen.Voor de,,,,,, OnStateChange onStop,.Als je kijkt naar de demo3 zal je zien dat ik gebruik van deze gebeurtenissen voor.,,,, is de titel "begin, onStop, bleek dat na de tijd OnStateChange /uitschakelen,,, in verband met de start /stop knop,,,,,,,, de procedures, de thirdcomponent1start (afzender: Een gebeurtenis plaatsvindt. TObject); begin,,, beschrijving: =,,,,,, dat het begin van het einde;;,,, procedure, een gebeurtenis. Thirdcomponent1stop (afzender: TObject);,,,,, beschrijving: = thirdcomponent1. De verstreken tijd;,,,,,,, De procedures, de thirdcomponent1statechange (afzender een incident gebeurd.: TObject; staat: tstate);,,,,, btnstart. De: = thirdcomponent1. Staat = ststopped;,, btnstop. De: = thirdcomponent1. Staat = ststarted;,,,,,,,,,,,,,,,,, standaard onderdeel van het GLB te schrijven hoeveel punten.Een deel van de vergadering schriftelijk, met inbegrip van de basis zijn van methoden en normen voor te schrijven.,,,,,, het creëren en vernietigen van onderdelen: de door de fabrikant en de verschrikkelijke, voorwerp, de vernietiging van door.- de fabrikant heeft drie doelstellingen,,,, het creëren van een voorwerp, het is opgenomen in de (sub voorwerpen),,,,, - klasse - waarde (eigendom, enz.),,,,, de verbetering van de anomalie en te stoppen met de categorie worden gecreëerd.,,,,,,,, is de functie van die structurele criteria noemen. De fabrikant in zijn eigen vader, dus dat kan de uitvoering van de initialisations, hoewel dit niet noodzakelijk is voor de totstandbrenging van onderdelen.(de vergadering wordt om je als je het niet aan de fabrikant, door een beroep te doen op de erfenis van de fabrikant, het creëren van), een verschrikkelijke, het zijn alleen voor de vrijheid, de verdeling van de levensduur van de onderdelen van de middelen tijdens een.Alleen als je deze middelen vrijkomen, bel de erfenis standaard onderdeel:,,,,,,, je kan het herschrijven van deze methode om je eigen onderdeel zelf grafische,,, het laden, het: door de groep van deskundigen, het is de bel, als haar moedermaatschappij wordt gecreëerd.Je kan het herschrijven van deze methode voor het uitvoeren van een afhankelijk is van een reeks eigenschappen zijn voorzien van actie.,,, ongeldig is, wanneer de aard van de verandering, gevolgen: een deel van het gebruik van deze methode moet je zien.,,, componentstate,: deze eigenschap is zeer nuttig als je moet In die tijd de huidige ontwerp - /de onderdelen bestaan, of als de prestaties van dit proces is door de stroom naar de,,, pakket - en het is goed dat standaard schrijf je vergadering dan de basis - tcustommyclass afkomstig zijn.Schrijf je "op maat" deel van de (indien niet alle) voor beschermde gebieden aangegeven in eigendom /.,,, als je van je "op maat" verklaring van de prestaties van je alleen in de delen worden bekendgemaakt of vrijgegeven.,,,,,,,,,,, tcustommyclass = (tcomponent),,,,,,,, privé, fsomestring: touw;,,,,,, de bescherming van programma 's, setsomestring (CONST waarde: string);,,,,, virtueel eigendom, somestring: string, lezen, schrijven, fsomestring, setsomestring;,,,,,,,, tmyclass = (tcustommyclass), klasse,,,,,,, uitgeverijen, eigendom, somestring;,,,,,,,,,,,,,,,,,, dit is een goede oefening voor, omdat het om iemand van hun eigen onderdelen, op basis van je sTot schrapping van bepaalde eigenschap dat ze aandacht.,,, setsomestring zijn verklaring voor de virtuele in beschermde gebieden.Dit is ook een goede manieren, omdat het is toegestaan dat een soort onder te reageren op veranderingen in de waarde van de eigenschap, door het aannemen van hun proces.Dit is ook van toepassing op de gebeurtenissen, als je een OnStateChange gebeurtenis ontdek je, bijvoorbeeld dostatechange methode:,,,,,,,,,,, tcustommyclass =, klasse, (tcomponent),,,,, fonstatechange: particuliere, tstatechangeevent;,,,,,, de procedures, de bescherming van dostatechange (staat,: tstate); de virtuele;,,,,,,,, eigendom, uitgeverijen, lezen, fonstatechange tstatechangeevent OnStateChange:,,,,,,,,,, schrijven, fonstatechange;,, programma 's, tcustommyclass. Dostatechange (staat: tstate);,,,,, als begin, distributie (OnStateChange), en dan,,, (self - OnStateChange staat);,,,,,,,,,,,,,,,,, in plaats van het schrijven van "als de distributie (OnStateChange) en van elke staat" code veranderd, je alleen maar bellen dostatechange (News "De Tate Gallery ".Behalve de kleine, waardoor ook het afgeleide herschrijven dostatechange trekker nodig code in reactie op een gebeurtenis.,,, samengevat, in dit eerste artikel, we hebben gezien dat de vergadering te schrijven.We zien ook hoe schrijf onze vergadering, en wat de oorspronkelijke categorie op basis van onze vergadering.Trouwens, we hebben de virtuele dynamische aanpak, en hoe ze te gebruiken voor de verwezenlijking van onderdelen van fatsoen.,,, in het tweede deel van dit artikel zullen wij leren om een speciale eigenschappen, zoals de binaire gegevens verzameling van eigenschappen, en kan worden verlengd.,,, het volgende artikel > >,,,, de source code met dit artikel, kan het downloaden.

Click to view full size
New component
Install component



Previous:
Next Page: