Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

Esimerkissä

...

kutsutaan

...

c

...

-

...

funkioa

...

Qt:stä.

...

Näin

...

kannattaa

...

tehdä,

...

kun

...

testataan

...

esimerkiksi

...

funktiota,

...

jota

...

ei

...

tulla

...

käyttämään

...

QT:n

...

yhteydessä,

...

vaan

...

esimerkiksi

...

jossain

...

sulautetussa

...

systeemissä.

...

Tee

...

ensin

...

wizardilla

...

Dialogi-projekti,

...

johon

...

laitat

...

PushButton

...

painikkeen,

...

LineEdit_1

...

ja

...

LineEdit_2

...

tekstiruudut

...

ja

...

lcdNumber

...

näyttöruudun

Code Block



{code}
 class Dialog : public QDialog {
    Q_OBJECT
public:
    Dialog(QWidget *parent = 0);
    ~Dialog();
    int Tulo;//lisää tämä
    int Lahto;//lisää tämä
    QString TekstiNaytolle;//lisää tämä
private slots://lisää tämä
    void Laske();//lisää tämä

protected:
private:
    Ui::Dialog *ui;
};
Code Block
{code}

{code}
//esitellään testattava funktio
int LaskeKeskiarvo(int Tulo);


Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);
    connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(Laske()));//lisää tämä
}

Dialog::~Dialog()
{
    delete ui;
}

void Dialog::Laske()//lisää tämä
{
    QMessageBox msgBox;
    msgBox.setText("Et antanut lukua!");
    bool ok=false; //ok:lla testataan oliko syötetty arvo luku
    QString teksti; //tekstiruudusta saadaan tekstiä, joten tarvitaan muuttuja tähän tarkoitukseen
    teksti= ui->lineEdit->text(); //käydään hakemassa teksti
    Tulo=teksti.toInt(&ok,10); //muutetaan teksti kokonaisluvuksi
    if(ok==false)//jos annettu kirjaimia, lopetetaan funktio
    {
        msgBox.exec();
        return;
    }
    TekstiNaytolle+=teksti; //lisätään viimeksi syötetty luku jonon jatkoksi
    TekstiNaytolle+=" ";//lisätään tyhjää lukujen väliin
    ui->lineEdit_2->setText(TekstiNaytolle);//laiteaan kaikki syötetyt luvut tekstinäytölle
    ui->lcdNumber->display(LaskeKeskiarvo(Tulo));// kutsutaan funktiota LaskeKeskiarvo ja     //laitetaan saatu arvo lcd-näytölle}
{code}

Ja

...

täällä

...

testattava

...

funktio,

...

jossa

...

ei

...

ole

...

mitään

...

Qt:hen

...

liittyvää

{
Code Block
}
int Vektori[10]={0};
int i=0;
int k=0;
//tässä kannattaa olla tarkkana, jotta summa sopii muuttujaan
long int Summa=0;


int LaskeKeskiarvo(int Tulo)
{
    Vektori[i]=Tulo;
    i++;
    if(i==10)i=0;
    Summa=0;
    for(k=0;k<10;k++)
    {
        Summa+=Vektori[k];
    }
    return Summa/10;
}
{code}