Σημείωμα
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να εισέλθετε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Σημείωμα
Το Microsoft Power Fx είναι το νέο όνομα για τη γλώσσα τύπου των εφαρμογών καμβά. Αυτά τα άρθρα βρίσκονται σε εξέλιξη, καθώς Microsoft εξάγει τη γλώσσα από εφαρμογές καμβά, την ενσωματώνει με άλλα προϊόντα Microsoft Power Platform και την καθιστά διαθέσιμη ως ανοιχτός κώδικας. Ξεκινήστε με την Επισκόπηση του Microsoft Power Fx για μια εισαγωγή στη γλώσσα.
Μάθετε πώς διαφέρουν οι μεταβλητές του Power Fx από τις μεταβλητές σε εργαλεία όπως Visual Basic ή JavaScript και πότε οι τύποι αποτελούν καλύτερη επιλογή. Αυτό το άρθρο εξηγεί πώς μπορείτε να επιλέξετε καθολικές μεταβλητές, μεταβλητές περιβάλλοντος ή συλλογές για τη διαχείριση τιμών και κατάστασης εφαρμογών.
Σε άλλα εργαλεία, μπορείτε να εκτελέσετε ρητά έναν υπολογισμό και να αποθηκεύσετε το αποτέλεσμα σε μια μεταβλητή. Ωστόσο, το Power Fx και το Excel επαναλαμβάνουν αυτόματα τον υπολογισμό των τύπων καθώς αλλάζουν τα δεδομένα εισόδου, ώστε να μην χρειάζεται συνήθως να δημιουργείτε και να ενημερώνετε μεταβλητές. Εφαρμόζοντας αυτή την προσέγγιση όποτε είναι δυνατό, μπορείτε να δημιουργήσετε, να κατανοήσετε και να συντηρήσετε πιο εύκολα την εφαρμογή σας.
Σε ορισμένες περιπτώσεις, πρέπει να χρησιμοποιήσετε μεταβλητές στο Power Fx. Το Power Fx επεκτείνει το μοντέλο της Excel προσθέτοντας τύπους συμπεριφοράς. Αυτοί οι τύποι εκτελούνται όταν, για παράδειγμα, ένας χρήστης επιλέξει ένα κουμπί. Μέσα σε έναν τύπο συμπεριφοράς, είναι συχνά χρήσιμο να ορίσετε μια μεταβλητή για χρήση σε άλλους τύπους.
Γενικά, αποφύγετε τη χρήση μεταβλητών. Ωστόσο, μερικές φορές, μόνο μία μεταβλητή μπορεί να δώσει το αποτέλεσμα που θέλετε. Δημιουργείτε και πληκτρολογείτε μη ρητά μεταβλητές όταν εμφανίζονται σε συναρτήσεις που ορίζουν τις τιμές τους.
Μετάφραση του Excel στο Power Fx
Excel
Ας εξετάσουμε τον τρόπο λειτουργίας του Excel. Ένα κελί μπορεί να περιέχει μια τιμή, όπως έναν αριθμό ή μια συμβολοσειρά ή έναν τύπο που βασίζεται στις τιμές άλλων κελιών. Μόλις ο χρήστης εισαγάγει μια διαφορετική τιμή σε ένα κελί, το Excel υπολογίζει ξανά αυτόματα τους τύπους που εξαρτώνται από τη νέα τιμή. Δεν χρειάζεται να κάνετε προγραμματισμό για να ενεργοποιήσετε αυτή τη συμπεριφορά.
Στο παρακάτω παράδειγμα, το κελί A3 ορίζεται στον τύπο A1+A2. Εάν το A1ο ή το A2 αλλάξουν, το Α3 υπολογίζει εκ νέου αυτόματα για να απεικονίσει την αλλαγή. Αυτή η συμπεριφορά δεν απαιτεί καμία κωδικοποίηση εκτός του ίδιου του τύπου.
Το Excel δεν έχει μεταβλητές. Η τιμή ενός κελιού που περιέχει έναν τύπο αλλάζει με βάση τα δεδομένα εισόδου, αλλά δεν υπάρχει τρόπος να διατηρείτε στη μνήμη το αποτέλεσμα ενός τύπου και να το αποθηκεύετε σε ένα κελί ή οπουδήποτε αλλού. Εάν αλλάξετε την τιμή ενός κελιού, ενδέχεται να αλλάξει ολόκληρο το υπολογιστικό φύλλο και να χαθούν οποιεσδήποτε προηγουμένως υπολογιζόμενες τιμές. Ένας χρήστης του Excel μπορεί να αντιγράψει και να επικολλήσει κελιά, αλλά η διαδικασία αυτή εκτελείται από τον χρήση με μη αυτόματο τρόπο και όχι με τύπους.
Power Fx
Η λογική που δημιουργείτε στο Power Fx συμπεριφέρεται σε μεγάλο βαθμό όπως το Excel. Αντί να ενημερώνετε κελιά, μπορείτε να προσθέτετε στοιχεία ελέγχου σε οποιοδήποτε σημείο μιας οθόνης και να τα ονομάζετε έτσι ώστε να μπορούν να χρησιμοποιηθούν σε τύπους.
Για παράδειγμα στο Power Apps, μπορείτε να αναπαραγάγετε τη συμπεριφορά του Excel σε μια εφαρμογή, προσθέτοντας ένα στοιχείο ελέγχου τύπου Ετικέτα, με την ονομασία Label1 και δύο στοιχεία ελέγχου τύπου Εισαγωγή κειμένου με την ονομασία TextInput1 και TextInput2. Εάν, στη συνέχεια, ορίσετε την ιδιότητα Text του στοιχείου Label1 σε TextInput1.Text + TextInput2.Text, εμφανίζει πάντα αυτόματα το άθροισμα όποιων αριθμών βρίσκονται στα στοιχεία ελέγχου TextInput1 και TextInput2 .
Παρατηρήστε ότι το στοιχείο ελέγχου Label1 είναι επιλεγμένο, εμφανίζοντας τον τύπο Text που χρησιμοποιεί στη γραμμή τύπων, στο επάνω μέρος της οθόνης. Εδώ μπορείτε να βρείτε τον τύπο TextInput1.Text + TextInput2.Text. Αυτός ο τύπος δημιουργεί μια εξάρτηση ανάμεσα σε αυτά τα στοιχεία ελέγχου, όπως ακριβώς δημιουργούνται εξαρτήσεις μεταξύ κελιών σε ένα βιβλίο εργασίας του Excel. Ας αλλάξουμε την τιμή του TextInput1:
Ο τύπος για το label1 επανυπολογίζεται αυτόματα, εμφανίζοντας τη νέα τιμή.
Στο Power Fx, μπορείτε να χρησιμοποιήσετε τύπους για να προσδιορίσετε όχι μόνο την κύρια τιμή ενός στοιχείου ελέγχου, αλλά και ιδιότητες όπως η μορφοποίηση. Στο επόμενο παράδειγμα, ένας τύπος για την ιδιότητα Color της ετικέτας εμφανίζει αυτόματα τις αρνητικές τιμές με κόκκινο χρώμα. H συνάρτηση If θα πρέπει να φαίνεται οικεία από το Excel:
If( Value(Label1.Text) < 0, Color.Red, Color.Black )
Μπορείτε να χρησιμοποιήσετε τύπους για ένα ευρύ φάσμα σεναρίων:
- Χρησιμοποιώντας το GPS της συσκευής σας, ένα στοιχείο ελέγχου χάρτη μπορεί να εμφανίσει την τρέχουσα θέση σας με έναν τύπο που χρησιμοποιεί τις συναρτήσεις Location.Latitude και Location.Longitude. Καθώς μετακινείστε, ο χάρτης παρακολουθεί αυτόματα τη θέση σας.
- Άλλοι χρήστες μπορούν να ενημερώσουν τις προελεύσεις δεδομένων. Για παράδειγμα, άλλοι χρήστες από την ομάδα σας μπορούν να ενημερώνουν στοιχεία σε μια λίστα του SharePoint. Όταν ανανεώνετε μια προέλευση δεδομένων, οι εξαρτημένοι τύποι υπολογίζονται αυτόματα ώστε να αντικατοπτρίζουν τα ενημερωμένα δεδομένα. Προχωρώντας το παράδειγμα, μπορείτε να ορίσετε την ιδιότητα Items μιας συλλογής στον τύπο Filter( SharePointList ), η οποία εμφανίζει αυτόματα το πρόσφατα φιλτραρισμένο σύνολο εγγραφών.
Πλεονεκτήματα των τύπων Power Fx
Η χρήση τύπων για τη δημιουργία εφαρμογών προσφέρει πολλά πλεονεκτήματα:
- Εάν γνωρίζετε το Excel, γνωρίζετε και το Power Fx. Η γλώσσα του μοντέλου και των τύπων είναι ίδια.
- Εάν χρησιμοποιείτε άλλα εργαλεία προγραμματισμού, εξετάστε πόσο κώδικα θα χρειαστείτε για να ολοκληρώσετε αυτά τα παραδείγματα. Στη Visual Basic, θα έπρεπε να γράψετε ένα πρόγραμμα χειρισμού συμβάντων για το συμβάν αλλαγής σε κάθε στοιχείο ελέγχου εισαγωγής κειμένου. Ο κώδικας για την εκτέλεση του υπολογισμού σε καθένα από αυτά τα άτομα χειρισμού συμβάντων είναι περιττός και μπορεί να βγει εκτός συγχρονισμού ή θα χρειαστεί να γράψετε μια κοινή υπορουτίνη. Στο Power Fx, θα ολοκληρώσετε όλες τις εργασίες με έναν μοναδικό τύπο μίας γραμμής.
- Για να κατανοήσετε από πού προέρχεται το κείμενο της ετικέτας1, γνωρίζετε πού ακριβώς να κοιτάξετε: τον τύπο στην ιδιότητα Text . Δεν υπάρχει άλλος τρόπος να επηρεάσετε το κείμενο αυτού του στοιχείου ελέγχου. Σε ένα παραδοσιακό εργαλείο προγραμματισμού, κάθε πρόγραμμα χειρισμού συμβάντων ή υπορουτίνα θα μπορούσε να αλλάξει την τιμή της ετικέτας, από οποιοδήποτε σημείο του προγράμματος. Αυτή η προσέγγιση μπορεί να δυσκολεύσει τον εντοπισμό του πότε και πού άλλαξε μια μεταβλητή.
- Εάν ο χρήστης αλλάξει ένα στοιχείο ελέγχου ρυθμιστικού και, στη συνέχεια, αλλάξει γνώμη, μπορεί να επαναφέρει το ρυθμιστικό πίσω στην αρχική του τιμή. Είναι σαν να μην έχει αλλάξει ποτέ τίποτα: η εφαρμογή εμφανίζει τις ίδιες τιμές στοιχείων ελέγχου όπως και πριν. Δεν υπάρχουν συνέπειες για τον πειραματισμό και την εφαρμογή του ερωτήματος "what if", όπως δεν υπάρχουν και στο Excel.
Σε γενικές γραμμές, εάν μπορείτε να επιτύχετε ένα αποτέλεσμα χρησιμοποιώντας έναν τύπο, είναι καλύτερα. Αφήστε τη μηχανή τύπων στο Power Fx να δουλέψει για λογαριασμό σας.
Μάθετε πότε πρέπει να χρησιμοποιείτε μεταβλητές
Ας αλλάξουμε τον απλό αθροιστή μας ώστε να λειτουργεί σαν παλιά αριθμομηχανή, με ένα τρέχον σύνολο. Εάν επιλέξετε ένα κουμπί Προσθήκη , προσθέτετε έναν αριθμό στο τρέχον σύνολο. Εάν επιλέξετε ένα κουμπί Απαλοιφή , επαναφέρετε το τρέχον σύνολο στο μηδέν.
| Εμφάνιση | Περιγραφή |
|---|---|
|
Όταν ξεκινήσει η εφαρμογή, το τρέχον σύνολο είναι 0. Η κόκκινη κουκκίδα αντιπροσωπεύει το δάχτυλο του χρήστη στο πλαίσιο εισαγωγής κειμένου, όπου ο χρήστης εισάγει το 77. |
|
Ο χρήστης επιλέγει το κουμπί Προσθήκη. |
|
Το 77 προστίθεται στο τρέχον σύνολο. Ο χρήστης επιλέγει ξανά το κουμπί Προσθήκη. |
|
Το 77 προστίθεται ξανά στο τρέχον σύνολο, με αποτέλεσμα 154. Ο χρήστης επιλέγει το κουμπί Απαλοιφή. |
|
Το τρέχον σύνολο επανέρχεται σε 0. |
Η αριθμομηχανή μας χρησιμοποιεί κάτι που δεν υπάρχει στο Excel: ένα κουμπί. Σε αυτή την εφαρμογή, δεν μπορείτε να χρησιμοποιήσετε μόνο τύπους για τον υπολογισμό του τρέχοντος συνόλου, επειδή η τιμή του εξαρτάται από μια σειρά ενεργειών που εκτελεί ο χρήστης. Αντίθετα, πρέπει να καταγράψετε και ενημερώσετε το τρέχον σύνολο με μη αυτόματο τρόπο. Τα περισσότερα εργαλεία προγραμματισμού αποθηκεύουν αυτές τις πληροφορίες σε μια μεταβλητή.
Μερικές φορές θα χρειαστείτε μια μεταβλητή για να συμπεριφερθεί η εφαρμογή σας με τον τρόπο που θέλετε. Ωστόσο, η προσέγγιση παρέχεται με προειδοποιήσεις:
- Πρέπει να ενημερώσετε με μη αυτόματο τρόπο το τρέχον σύνολο. Ο αυτόματος επανυπολογισμός δεν θα το κάνει για εσάς.
- Δεν μπορείτε να υπολογίσετε το τρέχον σύνολο με βάση τις τιμές άλλων στοιχείων ελέγχου. Εξαρτάται από το πόσες φορές ο χρήστης επέλεξε το κουμπί Προσθήκη και ποια τιμή ήταν στο στοιχείο ελέγχου εισαγωγής κειμένου κάθε φορά. Μήπως ο χρήστης εισήγαγε 77 και επέλεξε το κουμπί Προσθήκη δύο φορές ή μήπως καθόρισε τις τιμές 24 και 130 για κάθε μία από τις αθροίσεις; Δεν μπορείτε να αντικρίσετε τη διαφορά όταν το σύνολο φτάσει τον αριθμό 154.
- Οι αλλαγές στο σύνολο μπορεί να προέρχονται από διαφορετικές διαδρομές. Σε αυτό το παράδειγμα, τόσο το κουμπί Add όσο και το κουμπί Clear, ενημερώνουν το σύνολο. Εάν η εφαρμογή δεν συμπεριφέρεται με τον αναμενόμενο τρόπο, ποιο κουμπί προκαλεί το πρόβλημα;
Χρησιμοποιήστε μια καθολική μεταβλητή
Για να δημιουργήσετε την αριθμομηχανή σας, χρειάζεστε μια μεταβλητή που περιέχει το τρέχον σύνολο. Οι απλούστερες μεταβλητές για να εργαστείτε με το Power Fx είναι οι καθολικές μεταβλητές.
Πώς λειτουργούν οι καθολικές μεταβλητές:
- Χρησιμοποιήστε τη συνάρτηση Set για να ορίσετε την τιμή της καθολικής μεταβλητής. Ο τύπος Set( MyVar, 1 ) ορίζει την καθολική μεταβλητή MyVar στην τιμή 1.
- Χρησιμοποιήστε την καθολική μεταβλητή αναφέροντας το όνομα που χρησιμοποιήσατε με τη συνάρτηση Set . Στην περίπτωση αυτή, η συνάρτηση MyVar επιστρέφει την τιμή 1.
- Οι καθολικές μεταβλητές μπορεί να περιέχουν οποιαδήποτε τιμή, όπως συμβολοσειρές, αριθμούς, εγγραφές και πίνακες.
Ας δημιουργήσουμε εκ νέου την αριθμομηχανή χρησιμοποιώντας μια καθολική μεταβλητή:
Προσθέστε ένα στοιχείου ελέγχου "Κείμενο εισαγωγής", με την ονομασία TextInput1, και δύο κουμπιά, με την ονομασία Button1 και Button2.
Ορίστε την ιδιότητα Text του στοιχείου Button1 σε "Add" και την ιδιότητα Text του στοιχείου Button2 σε "Clear".
Για να ενημερώνεται το τρέχον σύνολο όταν ένας χρήστης επιλέγει το κουμπί Προσθήκη ορίστε την ιδιότητά του OnSelect στον παρακάτω τύπο:
Σύνολο ( RunningTotal, RunningTotal + TextInput1.Text )
Η απλή ύπαρξη αυτού του τύπου καθιερώνει το RunningTotal ως καθολική μεταβλητή που κατέχει έναν αριθμό λόγω του τελεστή +. Μπορείτε να κάνετε αναφορά του RunningTotal σε οποιοδήποτε σημείο της εφαρμογής. Όποτε ο χρήστης ανοίγει αυτήν την εφαρμογή, το RunningTotal έχει μια αρχική τιμή κενής.
Την πρώτη φορά που ένας χρήστης επιλέγει το κουμπί Προσθήκη και το Ορισμός εκτελείται, το RunningTotal ορίζεται στην τιμή RunningTotal + TextInput1.
Για να ορίσετε το τρέχον σύνολο σε 0 κάθε φορά που ο χρήστης επιλέγει το κουμπί Εκκαθάριση, ορίστε την ιδιότητα OnSelect στον παρακάτω τύπο:
Set( RunningTotal, 0 )
Προσθέστε ένα στοιχείο ελέγχου Ετικέτα και ορίστε την ιδιότητα Κείμενο σε RunningTotal.
Αυτός ο τύπος επανυπολογίζει αυτόματα και εμφανίζει στον χρήστη την τιμή RunningTotal καθώς αλλάζει με βάση τα κουμπιά που επιλέγει ο χρήστης.
Κάντε προεπισκόπηση της εφαρμογής και θα έχετε την αριθμομηχανή όπως περιγράφεται παραπάνω. Πληκτρολογήστε έναν αριθμό στο πλαίσιο κειμένου και πατήστε το κουμπί Add μερικές φορές. Όταν είστε έτοιμοι, επιστρέψτε στην εμπειρία σύνταξης χρησιμοποιώντας το πλήκτρο Esc .
Για να εμφανίσει την τιμή της καθολικής μεταβλητής, επιλέξτε το μενού Αρχείο και επιλέξτε Μεταβλητές στο αριστερό τμήμα παραθύρου.
Για να εμφανίσετε όλα τα σημεία όπου η μεταβλητή έχει οριστεί και χρησιμοποιηθεί, επιλέξτε την.
Τύποι μεταβλητών
Το Power Fx διαθέτει δύο τύπους μεταβλητών:
| Τύπος μεταβλητής | Εμβέλεια | Περιγραφή | Συναρτήσεις που καθορίζουν |
|---|---|---|---|
| Καθολικές μεταβλητές | Εφαρμογή | Η πιο απλή στη χρήση. Περιέχει έναν αριθμό, μια συμβολοσειρά κειμένου, μια δυαδική τιμή, μια εγγραφή, έναν πίνακα και πολλά άλλα. Μπορείτε να την αναφέρετε από οποιοδήποτε σημείο της εφαρμογής. | Βάζω |
| Συλλογές | Εφαρμογή | Περιέχει έναν πίνακα στον οποίο μπορείτε να αναφερθείτε από οποιοδήποτε σημείο της εφαρμογής. Μπορείτε να τροποποιήσετε τα περιεχόμενα του πίνακα αντί να τα ορίσετε συνολικά. Μπορείτε να την αποθηκεύσετε στην τοπική συσκευή για μελλοντική χρήση. |
Συλλέγω ClearCollect |
Όταν χρησιμοποιείτε Power Apps, βλέπετε έναν τρίτο τύπο μεταβλητής:
| Τύπος μεταβλητής | Εμβέλεια | Περιγραφή | Συναρτήσεις που καθορίζουν |
|---|---|---|---|
| Μεταβλητές περιβάλλοντος | Οθόνη | Ιδανικό για τη διαβίβαση τιμών σε μια οθόνη, όπως περίπου οι παράμετροι μιας διαδικασίας σε άλλες γλώσσες. Μπορείτε να κάνετε αναφορά σε αυτή μόνο από μία οθόνη. |
ΕνημέρωσηΠεριβάλλον Πλέω |
Δημιουργία και κατάργηση μεταβλητών
Δημιουργείτε όλες τις μεταβλητές με μη ρητό τρόπο όταν εμφανίζονται σε μια συνάρτηση Set, UpdateContext, Navigate, Collect ή ClearCollect . Για να δηλώσετε μια μεταβλητή και τον τύπο της, απλώς συμπεριλάβετε τη σε οποιαδήποτε από αυτές τις συναρτήσεις οπουδήποτε στην εφαρμογή σας. Καμία από αυτές τις συναρτήσεις δεν δημιουργεί μεταβλητές. Γεμίζουν μόνο τις μεταβλητές με τις τιμές. Δεν δηλώνετε ποτέ τις μεταβλητές ρητά όπως ενδεχομένως σε ένα άλλο εργαλείο προγραμματισμού και όλη η πληκτρολόγηση είναι σιωπηρή από τη χρήση.
Για παράδειγμα, μπορεί να έχετε ένα στοιχείο ελέγχου κουμπιού με έναν τύπο OnSelect ίσο με το Set( X, 1 ). Αυτός ο τύπος καθορίζει το X ως μεταβλητή με έναν τύπο αριθμού. Μπορείτε να χρησιμοποιήσετε το X σε τύπους ως αριθμό και αυτή η μεταβλητή έχει μια τιμή κενού μετά το άνοιγμα της εφαρμογής, αλλά πριν επιλέξετε το κουμπί. Όταν επιλέγετε το κουμπί, δίνετε στο X την τιμή 1.
Εάν προσθέσετε ένα άλλο κουμπί και ορίσετε την ιδιότητά του OnSelect σε Set( X, "Hello" ), προκύπτει σφάλμα καθώς ο τύπος (συμβολοσειρά κειμένου) δεν συμφωνεί με τον τύπο στο προηγούμενο Σύνολο (αριθμός). Όλοι οι σιωπηροί ορισμοί της μεταβλητής πρέπει να συμφωνούν σχετικά με τον τύπο. Και πάλι, όλα αυτά συνέβησαν επειδή αναφέρατε το X σε τύπους, όχι επειδή κάποιος από αυτούς τους τύπους όντως εκτελέστηκε.
Μπορείτε να καταργήσετε μια μεταβλητή καταργώντας όλες τις συναρτήσεις Set, UpdateContext, Navigate, Collect ή ClearCollect που καθορίζουν σιωπηρά τη μεταβλητή. Χωρίς αυτές τις συναρτήσεις, η μεταβλητή δεν υπάρχει. Πρέπει επίσης να καταργήσετε τυχόν αναφορές στη μεταβλητή καθώς προκαλούν σφάλμα.
Μεταβλητή διάρκεια ζωής και αρχική τιμή
Η εφαρμογή διατηρεί όλες τις μεταβλητές στη μνήμη όσο εκτελείται. Μετά το κλείσιμο της εφαρμογής, οι τιμές που διατήρησαν οι μεταβλητές χάνονται.
Μπορείτε να αποθηκεύσετε τα περιεχόμενα μιας μεταβλητής σε μια προέλευση δεδομένων χρησιμοποιώντας τις συναρτήσεις Patch ή Collect. Επίσης, μπορείτε να αποθηκεύσετε τιμές σε συλλογές στην τοπική συσκευή χρησιμοποιώντας τη συνάρτηση SaveData.
Όταν ο χρήστης ανοίγει την εφαρμογή, όλες οι μεταβλητές έχουν μια αρχική τιμή κενή.
Ανάγνωση μεταβλητών
Χρησιμοποιήστε το όνομα της μεταβλητής για να διαβάσετε την τιμή της. Για παράδειγμα, μπορείτε να ορίσετε μια μεταβλητή με αυτόν τον τύπο:
Set( Radius, 12 )
Στη συνέχεια, μπορείτε απλώς να χρησιμοποιήσετε το Radius οπουδήποτε μπορείτε να χρησιμοποιήσετε έναν αριθμό και αντικαθιστά το με 12:
Pi() * Power( Radius, 2 )
Εάν δώσετε σε μια μεταβλητή περιβάλλοντος το ίδιο όνομα με μια καθολική μεταβλητή ή μια συλλογή, η μεταβλητή περιβάλλοντος έχει προτεραιότητα. Ωστόσο, μπορείτε ακόμα να αναφέρετε την καθολική μεταβλητή ή συλλογή, εάν χρησιμοποιήσετε τον τελεστή αποσαφήνισης[@Radius].
Χρήση μιας μεταβλητής περιβάλλοντος (Power Apps μόνο)
Δείτε πώς μπορείτε να δημιουργήσετε την αριθμομηχανή χρησιμοποιώντας μια μεταβλητή περιβάλλοντος αντί για μια καθολική μεταβλητή.
Πώς λειτουργούν οι μεταβλητές περιβάλλοντος:
- Προσδιορίζετε έμμεσα και ορίζετε μεταβλητές περιβάλλοντος χρησιμοποιώντας τη συνάρτηση UpdateContext ή Πλοήγηση. Όταν ξεκινά η εφαρμογή, η αρχική τιμή όλων των μεταβλητών περιβάλλοντος είναι κενή.
- Ενημερώνετε τις μεταβλητές περιβάλλοντος με εγγραφές. Σε άλλα εργαλεία προγραμματισμού, χρησιμοποιείτε συχνά το "=" για την ανάθεση, όπως "x = 1". Για τις μεταβλητές περιβάλλοντος, χρησιμοποιήστε το { x: 1 } αντί για αυτό. Όταν χρησιμοποιείτε μια μεταβλητή περιβάλλοντος, χρησιμοποιήστε το όνομά της απευθείας χωρίς τη σύνταξη της εγγραφής.
- Μπορείτε επίσης να ορίσετε μια μεταβλητή περιβάλλοντος όταν χρησιμοποιείτε τη συνάρτηση Πλοήγηση για να εμφανίσετε μια οθόνη. Εάν θεωρήσετε μια οθόνη ως ένα είδος διαδικασίας ή υπορουτίνας, αυτή η προσέγγιση μοιάζει με τη διαβίβαση παραμέτρων σε άλλα εργαλεία προγραμματισμού.
- Εκτός από τη συνάρτηση Πλοήγηση, οι μεταβλητές περιβάλλοντος περιορίζονται στο περιβάλλον μίας οθόνης, από όπου παίρνουν το όνομά τους. Δεν μπορείτε να τις χρησιμοποιήσετε ή να τις ορίσετε έξω από αυτό το περιβάλλον.
- Οι μεταβλητές περιβάλλοντος μπορεί να περιέχουν οποιαδήποτε τιμή, όπως συμβολοσειρές, αριθμούς, εγγραφές και πίνακες.
Ας δημιουργήσουμε εκ νέου την αριθμομηχανή μας, χρησιμοποιώντας μια μεταβλητή περιβάλλοντος:
Προσθέστε ένα στοιχείου ελέγχου "Κείμενο εισαγωγής", με την ονομασία TextInput1, και δύο κουμπιά, με την ονομασία Button1 και Button2.
Ορίστε την ιδιότητα Text του στοιχείου Button1 σε "Add" και την ιδιότητα Text του στοιχείου Button2 σε "Clear".
Για να ενημερώνεται το τρέχον σύνολο όταν ένας χρήστης επιλέγει το κουμπί Προσθήκη ορίστε την ιδιότητά του OnSelect στον παρακάτω τύπο:
UpdateContext( { RunningTotal: RunningTotal + TextInput1.Text } )
Η απλή ύπαρξη αυτού του τύπου καθιερώνει το RunningTotal ως μεταβλητή περιβάλλοντος που κατέχει έναν αριθμό λόγω του τελεστή +. Μπορείτε να κάνετε αναφορά του RunningTotal σε οποιοδήποτε σημείο σε αυτήν την οθόνη. Όποτε ο χρήστης ανοίγει αυτήν την εφαρμογή, το RunningTotal έχει μια αρχική τιμή κενής.
Την πρώτη φορά που ένας χρήστης επιλέγει το κουμπί Προσθήκη και το UpdateContext εκτελείται, το RunningTotal ορίζεται στην τιμή RunningTotal + TextInput1.
Για να ορίσετε το τρέχον σύνολο σε 0 κάθε φορά που ο χρήστης επιλέγει το κουμπί Εκκαθάριση, ορίστε την ιδιότητα OnSelect στον παρακάτω τύπο:
UpdateContext( { RunningTotal: 0 } )
Και πάλι, το UpdateContext χρησιμοποιείται με τον τύπο UpdateContext( { RunningTotal: 0 } ).
Προσθέστε ένα στοιχείο ελέγχου Ετικέτα και ορίστε την ιδιότητα Κείμενο σε RunningTotal.
Αυτός ο τύπος επανυπολογίζει αυτόματα και εμφανίζει στον χρήστη την τιμή RunningTotal καθώς αλλάζει με βάση τα κουμπιά που επιλέγει ο χρήστης.
Κάντε προεπισκόπηση της εφαρμογής και θα έχετε την αριθμομηχανή όπως περιγράφεται παραπάνω. Πληκτρολογήστε έναν αριθμό στο πλαίσιο κειμένου και πατήστε το κουμπί Add μερικές φορές. Όταν είστε έτοιμοι, επιστρέψτε στην εμπειρία σύνταξης χρησιμοποιώντας το πλήκτρο Esc .
Μπορείτε να ορίσετε την τιμή μιας μεταβλητής περιβάλλοντος κατά την περιήγηση σε μια οθόνη. Αυτή η τεχνική είναι χρήσιμη για τη διαβίβαση "περιβάλλοντος" ή "παραμέτρων" από μία οθόνη σε μια άλλη. Για να παρουσιάσετε αυτήν την τεχνική, εισαγάγετε μια οθόνη, εισαγάγετε ένα κουμπί και ορίστε την ιδιότητα OnSelect σε αυτόν τον τύπο:
Navigate( Screen1, None, { RunningTotal: -1000 } )
Κρατήστε πατημένο το πλήκτρο Alt ενώ επιλέγετε αυτό το κουμπί για να εμφανίσετε το Screen1 και ορίστε τη μεταβλητή περιβάλλοντος RunningTotal σε -1000.
Για να εμφανίσει την τιμή της μεταβλητής περιβάλλοντος, επιλέξτε το μενού Αρχείο και, έπειτα, επιλέξτε Μεταβλητές στο αριστερό τμήμα παραθύρου.
Επιλέξτε τη μεταβλητή περιβάλλοντος για να δείτε πού ορίζεται και χρησιμοποιείται.
Χρήση μιας συλλογής
Τέλος, ας ρίξουμε μία ματιά στη δημιουργία της αριθμομηχανής με μια συλλογή. Δεδομένου ότι μια συλλογή περιέχει έναν πίνακα που μπορείτε εύκολα να τροποποιήσετε, αυτή η αριθμομηχανή διατηρεί μια "χαρτοταινία" κάθε τιμής καθώς την εισάγετε.
Πώς λειτουργούν οι συλλογές:
- Χρησιμοποιήστε τη συνάρτηση ClearCollect για να δημιουργήσετε και να ορίσετε συλλογές. Αντί για αυτό, μπορείτε να χρησιμοποιήσετε τη συνάρτηση Collect , αλλά ουσιαστικά απαιτεί μια άλλη μεταβλητή αντί να αντικαταστήσετε την παλιά.
- Μια συλλογή είναι ένα είδος προέλευσης δεδομένων και, επομένως, ένας πίνακας. Για να αποκτήσετε πρόσβαση σε μία μόνο τιμή σε μια συλλογή, χρησιμοποιήστε τη συνάρτηση Πρώτο και εξαγάγετε ένα πεδίο από την εγγραφή που προκύπτει. Εάν χρησιμοποιείτε μία μόνο τιμή με τη συνάρτηση ClearCollect, αυτή η τιμή είναι το πεδίο Τιμή , όπως σε αυτό το παράδειγμα:
First(VariableName).Value
Ας δημιουργήσουμε ξανά την αριθμομηχανή, χρησιμοποιώντας μια συλλογή:
Προσθέστε ένα στοιχείο ελέγχου Κείμενο εισαγωγής, με την ονομασία TextInput1 και δύο κουμπιά με την ονομασία Button1 και Button2.
Ορίστε την ιδιότητα Text του στοιχείου Button1 σε "Add" και την ιδιότητα Text του στοιχείου Button2 σε "Clear".
Για να ενημερώνεται το τρέχον σύνολο όταν ένας χρήστης επιλέγει το κουμπί Προσθήκη ορίστε την ιδιότητά του OnSelect στον παρακάτω τύπο:
Collect( PaperTape, TextInput1.Text )
Η απλή ύπαρξη αυτού του τύπου καθιερώνει το PaperTape ως συλλογή η οποία περιλαμβάνει έναν πίνακα με συμβολοσειρές κειμένου μίας στήλης. Μπορείτε να κάνετε αναφορά του PaperTape σε οποιοδήποτε σημείο αυτής της εφαρμογής. Κάθε φορά που ένας χρήστης ανοίγει αυτήν την εφαρμογή, το PaperTape είναι ένας κενός πίνακας.
Όταν αυτός ο τύπος εκτελείται, προσθέτει τη νέα τιμή στο τέλος της συλλογής. Καθώς προσθέτετε μια μοναδική τιμή, η συνάρτηση Collect την τοποθετεί αυτόματα σε έναν πίνακα μίας στήλης και το όνομα της στήλης είναι Value, το οποίο χρησιμοποιείτε αργότερα.
Για να καταργείται την χαρτοταινία όταν ο χρήστης επιλέγει το κουμπί Clear, ορίστε την ιδιότητά του OnSelect στον παρακάτω τύπο:
Clear( PaperTape )
Για να εμφανίζεται το τρέχον σύνολο, προσθέστε μια ετικέτα και ορίστε την ιδιότητά της Text σε αυτόν τον τύπο:
Sum( PaperTape, Value )
Για να εκτελέσετε την αριθμομηχανή, πατήστε το πλήκτρο F5 για να ανοίξετε την προεπισκόπηση, πληκτρολογήστε αριθμούς στο στοιχείο ελέγχου "Κείμενο εισαγωγής" και επιλέξτε κουμπιά.
Για να επιστρέψετε στον προεπιλεγμένο χώρο εργασίας, πατήστε το πλήκτρο Esc .
Για να εμφανίσετε την χαρτοταινία, εισαγάγετε ένα στοιχείο ελέγχου Πίνακας δεδομένων και ορίστε την ιδιότητά του Items σύμφωνα με αυτόν τον τύπο:
PaperTape
Στο δεξιό τμήμα παραθύρου, επιλέξτε Επεξεργασία πεδίων κι, έπειτα, επιλέξτε Προσθήκη πεδίου, επιλέξτε τη στήλη Τιμή κι, έπειτα, επιλέξτε Προσθήκη για να το εμφανίσετε.
Για να δείτε τις τιμές στη συλλογή σας, επιλέξτε Συλλογές από το μενού Αρχείο.
Για να αποθηκεύσετε και να ανακτήσετε τη συλλογή σας, προσθέστε δύο επιπλέον στοιχεία ελέγχου κουμπιού και ορίστε τις ιδιότητες Κείμενο σε LoadSave. Ορίστε την ιδιότητα OnSelect του κουμπιού Load σε αυτόν τον τύπο:
Clear( PaperTape ); LoadData( PaperTape, "StoredPaperTape", true )
Πρέπει πρώτα να απαλείψετε τη συλλογή, επειδή το LoadData θα προσαρτήσει τις αποθηκευμένες τιμές στο τέλος της συλλογής.
Ορίστε την ιδιότητα OnSelect του κουμπιού Save σε αυτόν τον τύπο:
SaveData( PaperTape, "StoredPaperTape" )
Κάντε ξανά προεπισκόπηση πατώντας το πλήκτρο F5 , πληκτρολογήστε αριθμούς στο στοιχείο ελέγχου εισαγωγής κειμένου και επιλέξτε κουμπιά. Επιλέξτε το κουμπί Save. Κλείστε και φορτώστε εκ νέου την εφαρμογή και επιλέξτε το κουμπί Load για να φορτώσετε εκ νέου τη συλλογή σας.