Belešku
Pristup ovoj stranici zahteva autorizaciju. Možete pokušati da se prijavite ili da promenite direktorijume.
Pristup ovoj stranici zahteva autorizaciju. Možete pokušati da promenite direktorijume.
Ako ste koristili neki drugi alat za programiranje, kao što su Visual Basic ili JavaScript, možda ćete pitati: Gde su varijable? Pover Apps funkcioniše drugačije i potreban mu je drugačiji pristup. Umesto da posegnete za promenljivom kada napravite aplikaciju platna, zapitajte se: Šta bih uradio u Ekcelu?
U drugim alatima, možete eksplicitno izvršiti proračun i sačuvati rezultat u promenljivu. Ali Pover Apps i Ekcel automatski preračunavaju formule kako se ulazni podaci menjaju, tako da obično ne morate da kreirate ili ažurirate varijable. Korišćenjem ovog pristupa lakše kreirate, razumete i održavate svoju aplikaciju.
Ponekad morate koristiti varijable u Pover Apps-u, što proširuje Ekcelov model dodavanjem formula ponašanja. Ove formule se pokreću kada, na primer, korisnik izabere dugme. U okviru formule ponašanja, često je korisno postaviti promenljivu za upotrebu u drugim formulama.
Generalno izbegavajte korišćenje promenljivih. Ali ponekad samo promenljiva vam omogućava da kreirate iskustvo koje želite. Promenljive se implicitno kreiraju i unose kada se pojave u funkcijama koje postavljaju njihove vrednosti.
Prevod programa Excel u Power Apps
Excel
Pogledajmo kako funkcioniše Excel. Ćelija može imati vrednost, kao što je broj ili niz, ili formulu koja se zasniva na vrednostima drugih ćelija. Kada unesete drugu vrednost u ćeliju, Ekcel automatski ponovo izračunava sve formule koje zavise od nove vrednosti. Ne morate da radite nikakvo programiranje da biste omogućili ovo ponašanje.
U sledećem primeru, ćelija A3 koristi formulu A1+A2. Ako se A1 ili A2 promeni, AKSNUMKS automatski preračunava da prikaže izmene. Ovo ponašanje ne zahteva nikakvo kodiranje izvan same formule.
Excel nema promenljive. Vrednost ćelije sa formulom se menja na osnovu njenog unosa, ali ne postoji način da zapamtite rezultat formule i sačuvate ga u ćeliji ili bilo gde drugde. Ako promenite vrednost ćelije, cela tabela se može promeniti, a sve prethodno izračunate vrednosti se gube. Možete kopirati i nalepiti ćelije, ali to je ručno i nije moguće sa formulama.
Power Apps
Aplikacije koje kreirate u Pover Apps-u rade slično Ekcelu. Umesto da ažurirate ćelije, dodajete kontrole bilo gde na ekranu i imenujete ih za upotrebu u formulama.
Na primer, možete kopirati Ekcel ponašanje u aplikaciji dodavanjem kontrole Label pod nazivom LabelKSNUMKS i dve kontrole za unos teksta pod nazivom TektInputKSNUMKS i TektInputKSNUMKS. Ako podesite osobinu TekstLabelKSNUMKS na TektInputKSNUMKS + TektInputKSNUMKS, on uvek prikazuje zbir brojeva u TektInputKSNUMKS i TektInputKSNUMKS automatski.
Primetite da je LabelKSNUMKS kontrola izabrana, prikazujući svoju ... tekstualnu formulu u traci formule na vrhu ekrana. Formula TektInputKSNUMKS + TektInputKSNUMKS kreira zavisnost između ovih kontrola, baš kao i zavisnosti između ćelija u Ekcel radnoj svesci. Promenimo vrednost TextInput1:
Formula za LabelKSNUMKS automatski preračunava i prikazuje novu vrednost.
U Pover Apps-u koristite formule da biste postavili ne samo glavnu vrednost kontrole, već i svojstva kao što je formatiranje. U sledećem primeru, formula za osobinu Boja oznake automatski prikazuje negativne vrednosti u crvenoj boji. Funkcija If izgleda poznato iz Ekcel-a:
If( Value(Label1.Text) < 0, Red, Black )
Koristite formule za mnoge scenarije:
- Kada je GPS vašeg uređaja uključen, kontrola mape prikazuje vašu trenutnu lokaciju sa formulom koja koristi Location.Latitude i Location.Longitude. Dok se krećete, mapa automatski prati vašu lokaciju.
- Drugi korisnici ažuriraju izvore podataka. Na primer, ostali članovi tima mogu da ažuriraju stavke u listi. Kada osvežite izvor podataka, sve zavisne formule se automatski preračunavaju da bi prikazale ažurirane podatke. Na primer, možete podesiti svojstvo Stavke galerije na formulu Filter (SharePointList), koja automatski prikazuje novo filtrirani skup zapisa.
Prednosti
Korišćenje formula za izradu aplikacija ima brojne prednosti:
- Ako poznajete Excel, onda znate Power Apps. Model i jezik formule su isti.
- Ako ste koristili druge alate za programiranje, razmislite o tome koliko koda biste trebali da uradite ove primere. U Visual Basic-u, napisali biste rukovalac događaja za događaj promene na svakoj kontroli unosa teksta. Kod za izračunavanje u svakom od njih je suvišan i može da izađe iz sinhronizacije, ili bi trebalo da napišete zajednički potprogram. U Pover Apps-u sve to radite sa jednom formulom u jednoj liniji.
- Da biste videli odakle dolazi tekst LabelKSNUMKS-a, tačno znate gde da tražite: formula u Tekst imovina. Ne postoji drugi način da se promeni tekst ove kontrole. U tradicionalnom alatu za programiranje, bilo koji rukovalac događajima ili potprogram može da promeni vrednost oznake, sa bilo kog mesta u programu. To otežava praćenje kada i gde se promenljiva promenila.
- Ako promenite kontrolu klizača, a zatim se predomislite, možete da promenite klizač nazad na prvobitnu vrednost. Kao da se ništa nije promenilo: aplikacija prikazuje iste kontrolne vrednosti kao i ranije. Nema posledica za eksperimentisanje i pitanje "šta ako", baš kao u Ekcelu.
Generalno, ako možete da uradite nešto sa formulom, bolje vam je. Pustite da mehanizam za formule u usluzi Power Apps radi za vas.
Treba da znate kada se koriste promenljive
Hajde da promenimo našu jednostavnu zbrajalicu da se ponaša kao staromodna mašina za dodavanje sa tekućim ukupnim brojem. Kada izaberete dodati dugme, dodate broj u tekući ukupan iznos. Kada izaberete dugme Obriši , resetujete ukupan broj na nulu.
| Prikaz | Opis |
|---|---|
|
Kada se aplikacija pokrene, tekući ukupni iznos je 0. Crvena tačka predstavlja prst korisnika u polju za unos teksta, gde korisnik unosi 77. |
|
Korisnik bira dugme Dodaj. |
|
Tekućem ukupnom iznosu se dodaje 77. Korisnik ponovo bira dugme Dodaj. |
|
Ponovo se tekućem ukupnom iznosu dodaje 77, što daje rezultat 154. Korisnik bira dugme Obriši. |
|
Tekući ukupan iznos je resetovan na 0. |
Naša mašina za dodavanje koristi nešto što ne postoji u programu Excel: dugme. U ovoj aplikaciji ne možete koristiti samo formule za izračunavanje ukupnog iznosa jer njegova vrednost zavisi od niza radnji koje korisnik preduzme. Umesto toga, ručno snimate i ažurirate ukupan iznos. Većina alatki za programiranje skladišti ove informacije u promenljivim.
Ponekad vam je potrebna promenljiva da bi se vaša aplikacija ponašala onako kako želite, ali ovaj pristup dolazi sa upozorenjima:
- Ručno ažurirate tekući ukupan. Automatsko preračunavanje to ne radi za vas.
- Ukupan iznos se ne izračunava na osnovu vrednosti drugih kontrola. To zavisi od toga koliko puta korisnik izabere dugme Dodaj i koja je vrednost u kontroli unosa teksta svaki put. Da li je korisnik ušao 77 i izabrao Dodaj dva puta, ili su uneli 24 i 130 za svaki dodatak? Ne možete reći razliku nakon što ukupan broj dostigne 154.
- Promene ukupnog iznosa mogu doći iz različitih akcija. U ovom primeru, i dodaj i obriši dugmad ažuriraju ukupan. Ako se aplikacija ne ponaša onako kako očekujete, koje dugme uzrokuje problem?
Korišćenje globalne promenljive
Da biste kreirali mašinu za dodavanje, potrebna vam je promenljiva za držanje ukupnog broja. Najjednostavnije varijable koje se koriste u Pover Apps-u su globalne varijable.
Kako funkcionišu globalne promenljive:
- Podesite vrednost globalne promenljive sa funkcijom Set . Set( MyVar, 1 ) postavlja globalnu promenljivu MyVar na vrednost 1.
- Koristite globalnu promenljivu pozivajući se na ime koje se koristi sa funkcijom Set . U ovom slučaju, MiVar vraća 1.
- Globalne varijable mogu da sadrže bilo koju vrednost, uključujući nizove, brojeve, zapise i tabele.
Obnovite mašinu za dodavanje pomoću globalne promenljive:
Dodajte kontrolu za unos teksta pod nazivom TextInput1, i dva dugmeta nazvana Button1 i Button2.
Podesite Tekst osobinu Button1 na "Add" i podesite Tekst osobinu Button2 na "Clear".
Da biste ažurirali ukupan broj kada korisnik izabere Dodaj dugme, podesite njegovu osobinu OnSelect na ovu formulu:
Set (RunningTotal, RunningTotal + TektInputKSNUMKS)
Ova formula kreira RunningTotal kao globalnu promenljivu koja sadrži broj zbog operatora + . Referentni RunningTotal bilo gde u aplikaciji. Kada korisnik otvori aplikaciju, RunningTotal ima početnu vrednost prazno.
Prvi put kada korisnik izabere dugme Dodaj i Set pokreće, RunningTotal je postavljen na vrednost RunningTotal + TektInputKSNUMKS.
Da biste podesili ukupan broj na 0 kada korisnik izabere Obriši dugme, podesite njegovu osobinu OnSelect na ovu formulu:
Set( RunningTotal, 0 )
Dodajte kontrolu Label i podesite njenu osobinu Tekst na RunningTotal.
Ova formula automatski preračunava i pokazuje korisniku vrednost RunningTotal kako se menja na osnovu dugmadi koje korisnik izabere.
Pregledajte aplikaciju. Unesite broj u polje za tekst i izaberite dodati dugme nekoliko puta. Kada budete spremni, vratite se na autorsko iskustvo pomoću tastera Esc .
Da biste prikazali vrednost globalne promenljive, izaberite Promenljive u meniju za kreiranje aplikacije.
Da prikažete sva mesta gde je promenljiva definisana i korišćena, izaberite je pod Globalne promenljive.
Tipovi promenljivih
Power Apps ima tri vrste promenljivih:
| Promenljiva tip | Scope | Opis | Funkcije koje uspostavljaju |
|---|---|---|---|
| Globalne promenljive | Aplikacija | Koristite globalne varijable da biste držali broj, tekstualni niz, Boolean, zapis, tabelu ili drugu vrednost na koju se pozivate bilo gde u aplikaciji. | Postavite |
| Promenljive konteksta | Ekran | Koristite kontekstne promenljive da prenesete vrednosti na ekran, kao što su parametri u drugim jezicima. Pozivate se na njih sa samo jednog ekrana. |
UpdateContext Kretanje |
| Kolekcije | Aplikacija | Koristite kolekcije da biste držali tabelu na koju se pozivate bilo gde u aplikaciji. Možete da promenite sadržaj tabele i sačuvate je na lokalnom uređaju za kasniju upotrebu. |
Prikupljanje Preuzmite |
Kreiranje i uklanjanje promenljivih
Varijable se kreiraju implicitno kada se pojave u funkciji Set, UpdateContext, Navigate, Collect ili ClearCollect . Da biste deklarisali promenljivu i njen tip, samo je uključite u bilo koju od ovih funkcija bilo gde u vašoj aplikaciji. Ove funkcije ne stvaraju varijable; oni samo popunjavaju varijable sa vrednostima. Nikada ne deklarišete promenljive eksplicitno kao što biste mogli u drugom alatu za programiranje, a sve kucanje je implicitno iz upotrebe.
Na primer, možda imate kontrolu dugmeta sa formulom OnSelect jednako je Set( X, 1 ). Ova formula uspostavlja X kao promenljivu sa tipom broja. Koristite Ks u formulama kao broj, a ta promenljiva ima vrednost prazno nakon što otvorite aplikaciju, ali pre nego što izaberete dugme. Kada izaberete dugme, dajete X vrednost 1.
Ako dodate još jedno dugme i podesite njegovu OnSelect osobinu na Set( X, "Hello" ), javlja se greška jer tip (tekst string) ne odgovara tipu u prethodnom Set (broj). Sve implicitne definicije promenljive moraju se slagati po tipu. Opet, sve se to dešava zato što spominjete X u formulama, a ne zato što bilo koja od tih formula zapravo radi.
Uklonite promenljivu uklanjanjem svih funkcija Set, UpdateContext, Navigate, Collect ili ClearCollect koje implicitno uspostavljaju promenljivu. Bez ovih funkcija, promenljiva ne postoji. Takođe uklonite sve reference na promenljivu jer one izazivaju grešku.
Vek trajanja i početna vrednost promenljive
Varijable ostaju u memoriji dok se aplikacija pokreće. Kada se aplikacija zatvori, vrednosti u varijablama se gube.
Sačuvajte sadržaj promenljive u izvoru podataka pomoću funkcija Patch ili Collect . Čuvajte vrednosti u kolekcijama na lokalnom uređaju pomoću funkcije SaveData .
Kada korisnik otvori aplikaciju, sve varijable počinju sa početnom vrednošću prazno.
Čitanje promenljivih
Koristite ime promenljive da biste pročitali njenu vrednost. Na primer, definišite promenljivu sa ovom formulom:
Set( Radius, 12 )
Zatim koristite Radijus gde god da koristite broj, i on je zamenjen sa 12:
Pi() * Power( Radius, 2 )
Ako date promenljivoj konteksta isti naziv kao globalnoj promenljivoj ili kolekciji, promenljiva konteksta ima prednost. Možete se pozvati na globalnu promenljivu ili kolekciju koristeći operator razdvajanja[@Radius].
Rezervisana imena promenljivih
Ne koristite nijedno od sledećih imena promenljivih. Ova imena su svojstva aplikacije, a njihovo korišćenje može izazvati kolizije imena promenljivih koje rezultiraju neočekivanim ponašanjem aplikacije.
- Pretraživanje
- DizajnVisina
- DizajnŠirina
- Visina
- MinScreenHeight
- MinScreenWidth
- SizeBreakpoints
- StudioVersion
- TestCaseId
- Testiranje
- Preuzmite
- Tema
- Širina
Korišćenje promenljive konteksta
Pogledajmo kako kreirate mašinu za dodavanje koristeći kontekstnu promenljivu umesto globalne promenljive.
Kako funkcionišu kontekstne varijable
- Implicitno uspostavljate i podesite kontekstne promenljive pomoću funkcije UpdateContext ili Navigate . Kada se aplikacija pokrene, početna vrednost svake kontekstne promenljive je prazna.
- Ažurirajte promenljive konteksta sa zapisima. U drugim alatima za programiranje, obično koristite "=" za dodeljivanje, kao što je "k = 1". Za promenljive konteksta koristite { x: 1 } umesto toga. Kada koristite promenljivu konteksta, koristite njeno ime direktno bez sintakse zapisa.
- Takođe možete podesiti kontekstnu promenljivu kada koristite funkciju Navigate da prikažete ekran. Ako razmišljate o ekranu kao o nekoj vrsti procedure ili potprograma, ovaj pristup je kao prolazak parametara u drugim alatima za programiranje.
- Osim za Navigate, kontekstne varijable su ograničene na kontekst jednog ekrana, gde su i dobile ime. Ne možete ih koristiti ili postaviti izvan ovog konteksta.
- Kontekstne varijable mogu da sadrže bilo koju vrednost, uključujući nizove, brojeve, zapise i tabele.
Obnovite mašinu za dodavanje pomoću kontekstne promenljive:
Dodajte kontrolu unosa teksta pod nazivom TextInput1 i dva dugmeta pod nazivom Button1 i Button2.
Podesite Tekst osobinu Button1 na "Add" i podesite Tekst osobinu Button2 na "Clear".
Da biste ažurirali tekući ukupan iznos kad god korisnik izabere dugme Dodaj , podesite njegovu osobinu OnSelect na ovu formulu:
UpdateContext ( { RunningTotal: RunningTotal + TektInputKSNUMKS } )
Ova formula uspostavlja RunningTotal kao kontekstnu promenljivu koja sadrži broj zbog operatora + . Pozivate se na RunningTotal bilo gde na ovom ekranu. Kada korisnik otvori aplikaciju, RunningTotal ima početnu vrednost prazno.
Prvi put kada korisnik izabere dugme Add i pokrene se UpdateContext , RunningTotal je postavljen na vrednost RunningTotal + TextInputKSNUMKS.
Da biste podesili ukupan broj na 0 kad god korisnik izabere dugme Clear , podesite njegovu osobinu OnSelect na ovu formulu:
UpdateContext( { RunningTotal: KSNUMKS } )
Opet, koristite UpdateContext sa formulom UpdateContext( { RunningTotal: 0 } ).
Dodajte kontrolu Label i podesite njenu osobinu Tekst na RunningTotal.
Ova formula će se automatski preračunati i korisniku pokazati vrednost Tekući ukupan iznos kako se bude menjala na osnovu tastera koje korisnik izabere.
Pregledajte aplikaciju. Unesite broj u polje za tekst i izaberite dodati dugme nekoliko puta. Kada budete spremni, vratite se na autorsko iskustvo pomoću tastera Esc .
Podesite vrednost kontekstne promenljive dok se krećete do ekrana da biste preneli "kontekst" ili "parametre" sa jednog ekrana na drugi. Da biste demonstrirali ovu tehniku, umetnite ekran, umetnite dugme i podesite svojstvo OnSelect prema ovoj formuli:
Navigate( Screen1, None, { RunningTotal: -1000 } )
Držite pritisnut taster Alt dok izaberete ovo dugme da prikažete Screen1 i podesite kontekstnu promenljivu RunningTotal na -1000.
Da prikažete vrednost kontekst promenljive, uradite jedno od sledećeg:
Ako koristite verziju Power Apps Studio za pregled, izaberite Promenljive u meniju za kreiranje aplikacija.
Ako koristite klasičnu verziju Pover Apps Studio, izaberite meni Datoteka , a zatim izaberite Promenljive u levom oknu.
Da pokažete gde je kontekst promenljiva definisana i korišćena, izaberite je pod Kontekst promenljive.
Korišćenje kolekcije
Hajde da napravimo mašinu za dodavanje pomoću kolekcije. Pošto kolekcija sadrži tabelu koja se lako menja, ova mašina za dodavanje čuva "papirnu traku" svake vrednosti dok je unesete.
Kako kolekcije funkcionišu
- Kreirajte i podesite kolekcije pomoću funkcije ClearCollect . Umesto toga možete koristiti funkciju Collect , ali ona zahteva drugu promenljivu umesto zamene stare.
- Kolekcija je vrsta izvora podataka i tabele. Da biste dobili jednu vrednost u kolekciji, koristite funkciju First i dobijte jedno polje iz dobijenog zapisa. Ako koristite jednu vrednost sa ClearCollect-om, ovo je polje Vrednost , kao u ovom primeru:
First(VariableName). Vrednost
Kreirajte mašinu za dodavanje pomoću kolekcije:
Dodajte kontrolu unosa teksta , pod nazivom TektInput1 , i dva dugmeta, pod nazivomButton1 i Button2 .
Podesite Tekst osobinu Button1 na "Add" i podesite Tekst osobinu Button2 na "Clear".
Da biste ažurirali tekući ukupan iznos kad god korisnik izabere dugme Dodaj , podesite njegovu osobinu OnSelect na ovu formulu:
Collect( PaperTape, TextInput1.Tekt )
Samo postojanje ove formule određuje PaperTape kao zbirku koja sadrži tabelu tekstualnih niski sa jednom kolonom. Možete da referencirate PaperTape bilo gde u aplikaciji. Kad god korisnik otvori ovu aplikaciju, PaperTape je prazna tabela.
Kada se ova formula pokrene, dodaje novu vrednost na kraj kolekcije. Zato što dodajemo jedinstvenu vrednost, Collect je automatski postavlja u tabelu sa jednom kolonom, a naziv kolone je Vrednost, i koristićete ga kasnije.
Da biste očistili papirnu traku kada korisnik izabere dugme Clear , podesite svojstvo OnSelect na ovu formulu:
Jasno (PaperTape)
! [OnSelect svojstvo Clear but1. Da biste pokrenuli mašinu za dodavanje, izaberite F5 da biste otvorili pregled, unesite brojeve u kontrolu unosa teksta i izaberite dugmad.
etiketa.](mediji / rad sa varijablama /papertape-3.png)Da biste pokrenuli mašinu za dodavanje, pritisnite F5 da biste otvorili Pregled, unesite brojeve u kontrolu unosa teksta i izaberite dugmad.
Da biste se vratili na podrazumevani radni prostor, izaberite Esc.
Da biste prikazali papirnu traku, ubacite kontrolu tabele podataka i podesite njene **[Stavke](kontrole / svojstvaKSNUMKS. Da biste videli vrednosti u vašoj kolekciji, uradite jedno od sledećeg:
Ako koristite verziju za pregled Pover Apps Studio, izaberite Promenljive u meniju za izradu aplikacija, a zatim izaberite Kolekcije.
Ako koristite klasičnu verziju Pover Apps Studio, izaberite Kolekcije na meniju Datoteka . Da biste videli vrednosti u vašoj kolekciji, uradite jedno od sledećeg:
Ako koristite verziju Power Apps Studio za pregled, izaberite Promenljive u meniju za kreiranje aplikacija, a zatim izaberite Kolekcije.
Ako koristite klasičnu verziju, izaberite Kolekcije Power Apps Studiou meniju Fajl .
Da biste sačuvali i dobili svoju kolekciju, dodajte još dve kontrole dugmeta i podesite njihove osobine teksta na Učitaj i sačuvaj. Podesite svojstvo OnSelect dugmeta Učitaj prema ovoj formuli:
Clear( PaperTape ); LoadData (PaperTape, "StoredPaperTape", istina)
Prvo morate da obrišete kolekciju zato što će LoadData dodati sačuvane vrednosti na kraj kolekcije.
Podesite svojstvo OnSelect dugmeta Sačuvaj prema ovoj formuli:
SaveData( PaperTape, "StoredPaperTape")
Ponovo pregledajte tako što ćete izabrati FKSNUMKS, unesite brojeve u kontrolu unosa teksta i izaberite dugmad. Izaberite dugme Sačuvaj. Zatvorite i ponovo učitajte aplikaciju i izaberite dugme Učitaj za ponovno učitavanje kolekcije.
Belešku
SaveData i LoadData funkcije rade u mobilnom uređaju , ali ne i na veb plejeru Power Apps . Power Apps Studio Power Apps