Használata stringgrid komponens programozás - programozás C, Delphi, C #

Példaként egy komponens a bemeneti stringGrid tömb, úgy egy programot, amely kiszámítja a számtani középértéke az elemek a tömb. Program párbeszédablak ábrán látható. 5.3. stringGrid komponens lehet belépni a tömb, és alkatrészek Label1 Label2 - megjelenítéséhez magyarázó szöveget és a számítás eredményeként Buttoni - indítására a számítási folyamat.

Ábra. 5.3. Egy párbeszéd ablak bemeneti és array

StringGrid komponenst formájában adjuk hozzá, pontosan ugyanaz, mint a többi komponens. Miután az így alakul ki kell elvégezni a beállítást a táblázat szerint. 5.2. Az értékek a szélesség és magasság tulajdonságokat kell használni az egeret, hogy állítsa be úgy, hogy a méret a komponens azonos volt vonal méretben.

A szöveg a program listán látható 5.2.

5.2 táblázat. Ingatlan értékének StringGrid1 alkatrész

Listing 5.2. Bevitele és feldolgozása egy sor egészek

Ablakok, üzenetek, SysUtils, variánsok

Osztályba tartozó, Graphics, Controls, Forms, Dialogs, rácsok, StdCtrls;

eljárás ButtonlClick (Sender: TObject); magán

eljárás TForml.ButtonlClick (Sender: TObject); var

a. array [1..5] egész szám; // tömb

summ: integer; // elemek összege

sr: real; // számtani átlaga

i: integer; // index

// úgy vélik, hogy ha a cella üres, a megfelelő

// tömb elemet s értéke nulla

Ha a length (StringGridl.Cells [i-1, 0]) <>0

majd a [i]: = StrToInt (StringGridl.Cells [i-1,0])

summ: = summ + a [i]; sr: = summ / 5;

Összefoglalva eredmények Label2.Caption: =

'Sum elemek:' + IntToStr (summ)

+ # 13 + „számtani átlag:„+ FloatToStr (SR);

A tárgyalás után fut a program van egy vágy, hogy módosítsa a tömb input folyamat. Tehát, nem lenne jó, ha a kurzor automatikusan a következő cellája, például eredményeként egy gombnyomás . Ezt meg lehet tenni az eseményt eljárás onkeypress. Ugyanakkor eljárás feladata a szűrés adattáblák egy sejtbe lehet határozni. A mi esetünkben ez szükséges ahhoz, hogy a sejt csak bemenő számokat.

Event text onkeypress feldolgozási eljárás listán látható 5.3. Megjegyzés: a Col tulajdonsága, hogy miközben a program tartalmaz egy táblázatot oszlop számát, ahol a kurzor található. Ez a funkció is használható, hogy a kurzort a kívánt táblázatcellába. Ugyanakkor szem előtt tartani, hogy az oszlop a táblázatban, de mivel a vonalak számozása nullától.

Listing 5.3. Esemény feldolgozási eljárás onkeypress

eljárás TForm1.StringGridlKeyPress (Sender: TObject;

# 8, '0' .. '9'. ; // számok és a legfontosabb

# 13: // a kulcs

ha StringGridl.Col

majd StringGridl.Col: = StringGridl.Col + 1;

mást kulcs: = Chr (0); // többi karakter nem engedélyezettek

Ha azt szeretnénk, hogy vezessenek be egy sor lebegőpontos számok (a: array [1 5] valós), akkor onkeypress esemény eljárás bonyolultabb, így amellett, hogy a számok megengedett karakterek elválasztó karaktert (vessző vagy pont - attól függ, hogy a Windows-beállítások) és .. mínusz. Annak érdekében, hogy egy program barát tekintetében a felhasználó kérheti trükk helyettesítő helytelen behelyezés határoló igaz felhasználó. Határozza meg, mely elválasztó karaktert engedélyezett a jelenlegi beállítás Windows, akkor vegye fel a kapcsolatot egy globális változót Decimaiseparator.

Listing 5.4 mutatja a szöveg beviteli modul alkalmazását és feldolgozásának egy sor tört számok. A feldolgozási eljárás onkeypress biztosít bemeneti eseményeket egy táblázat cella csak megengedett, ha a felvétel egy frakcionális szimbólumok száma.

Listing 5.4. Bevitele és feldolgozása a tömb a tört számok

Ablakok, üzenetek, SysUtils, Változatok, osztályok,

Graphics, Controls, Forms, Dialogs, rácsok, StdCtrls;

Kapcsolódó cikkek