Kongsi melalui


Logik imperatif

Nota

Microsoft Power Fx ialah nama baharu untuk bahasa formula aplikasi kanvas. Artikel ini ialah kerja yang sedang berjalan kerana kita mengekstrak bahasa daripada aplikasi kanvas, mengintegrasikan ia dengan produk Microsoft Power Platform yang lain dan menjadikan ia tersedia sebagai sumber terbuka. Mulakan dengan Gambaran keseluruhan Microsoft Power Fx untuk pengenalan kepada bahasa.

Kebanyakan formula dalam Microsoft Power Fx mengira nilai. Seperti hamparan Excel, pengiraan semula berlaku secara automatik sebagai nilai perubahan. Sebagai contoh, anda mungkin mahu menunjukkan nilai dalam kawalan Label dalam warna merah jika kurang daripada sifar atau sebaliknya dalam warna hitam. Jadi anda boleh menetapkan sifat Warna pada kawalan tersebut untuk formula ini:

If( Value(TextBox1.Text) >= 0, Color.Black, Color.Red )

Dalam konteks ini, apakah maksudnya apabila pengguna memilih kawalan Butang? Tiada nilai telah berubah, jadi tidak ada perkara baharu untuk dikira. Excel tidak mempunyai bersamaan dengan kawalan Butang.

Dengan memilih kawalan Butang, pengguna memulakan jujukan tindakan, atau tingkah laku, yang akan mengubah keadaan aplikasi:

  • Ubah skrin yang dipaparkan: Fungsi Kembali.
  • Kawal isyarat (Power Apps sahaja): Fungsi Dayakan dan Nyahdayakan.
  • Segar semula, kemas kini atau keluarkan item dalam sumber data: Fungsi Segar semula, Kemas kini, UpdateIf, Tampalan, Alih keluar, RemoveIf.
  • Kemas kini pemboleh ubah konteks (kanvas Power Apps sahaja): Fungsi UpdateContext.
  • Cipta, kemas kini atau alih keluar item dalam koleksi: Fungsi Kumpulkan, Kosongkan, ClearCollect.

Disebabkan fungsi ini mengubah keadaan aplikasi, ia tidak boleh dikira semula secara automatik. Anda boleh menggunakannya dalam formula untuk sifat OnSelect, OnVisible, OnHidden, dan On... lain-lain yang dipanggil formula tingkah laku.

Lebih daripada satu tindakan

Gunakan koma bernoktah untuk mencipta senarai tindakan untuk melaksanakan. Contohnya, anda mungkin mahu mengemas kini pemboleh ubah konteks dan kemudian kembali ke skrin sebelumnya:

UpdateContext( { x: 1 } ); Back()

Tindakan dilakukan mengikut susunan yang dipaparkan dalam formula. Fungsi seterusnya tidak akan dimulakan sehingga fungsi semasa telah dilengkapkan. Jika ralat berlaku, fungsi berikutnya mungkin tidak dimulakan.