Ricerca codice

La vista Ricerca codice permette di scandagliare tutti gli script del database. Potete combinare queste opzioni:
| Pulsante | Opzione | Effetto |
|---|---|---|
.* | Espressione regolare | Interpreta la richiesta come una RegExp, mettendo a disposizione tutta la potenza dei pattern (quantificatori, classi, ancore…). Le opzioni Maiuscole/minuscole e Parola intera restano combinabili. |
Aa | Maiuscole/minuscole | Se selezionata, la ricerca distingue maiuscole e minuscole: «A» e «a» sono considerati caratteri diversi. |
\b | Parola intera | Limita i risultati alle occorrenze non attaccate ad altre lettere o cifre. Vengono trovate le parole separate da spazi, punteggiatura, ecc. |
I tre pulsanti si trovano nel campo di inserimento, a destra, in quest'ordine; quando il campo non è vuoto, li segue una crocetta, che lo cancella.
La ricerca parte quando uscite dal campo di inserimento — con un clic altrove, con il tasto Tab o, a partire dalla versione 3.2.0, con il tasto Invio — oppure quando scegliete una ricerca dalla cronologia. Dalla stessa versione, Esc esce dal campo scartando ciò che vi avete digitato: resta visualizzata la ricerca in corso. Il testo cercato e le tre opzioni vengono memorizzati dal browser, per tutti i database.
La cronologia delle ricerche
Un clic nel campo di inserimento mostra le vostre ultime 20 ricerche, la più recente in cima; l'elenco si filtra durante la digitazione. Una crocetta rimuove una ricerca dalla cronologia.
I risultati
Il contatore indica il numero di risultati visualizzati e il numero totale trovato. I risultati vengono visualizzati a blocchi di 100: in fondo all'elenco, +100 mostra i 100 successivi (+N quando ne restano meno di 100), e Tutti (N) gli N rimanenti.
Leggere un risultato
Ogni risultato è una riga presentata come in Campi & Formule: icona del tipo, badge delle dipendenze, «Fx», poi il filo di Arianna dell'elemento, la cui parte in grassetto designa il codice in cui è stato trovato il testo.
- Al passaggio del mouse sulla parte in grassetto, il codice compare in un fumetto, con il testo trovato evidenziato.
- Un clic sulla parte in grassetto apre l'editor di Ninox su quel codice, con il testo trovato evidenziato.
- Il pulsante rosso che compare al passaggio del mouse, a destra della riga, in modalità di modifica («Edit mode»), seleziona il campo nel suo modulo per una riga che riguarda un campo, e apre l'editor del codice per le altre righe.
- Un clic sul badge delle dipendenze di un campo apre quel campo nella scheda Campi & Formule.
Dove agisce la ricerca
La ricerca esamina tutto il codice del database:
- il codice globale e il trigger «After Open»;
- i trigger delle tabelle;
- le formule e i trigger dei campi: pulsanti, trigger dopo la creazione o la modifica, «Display only if», diritti di lettura e di scrittura, formati di visualizzazione, scelte dinamiche, vincoli;
- le colonne delle viste: la loro formula e la loro formattazione condizionale;
- i report di stampa: testi contenenti formule tra parentesi graffe, blocchi HTML, colonne di revisione, campi immagine con formula, e origine dati dei report Carbone (viene letta solo la formula dell'origine, non il file Word).
Esempio di espressione regolare
Vi serve un ripasso della sintassi delle RegExp? Un tutorial conciso è disponibile su https://regexone.com.
La RegExp seguente trova ogni select la cui clausola where filtra su ID:
\bselect\b[^;]*(?<!\.)\bid\b
Ciò aiuta a individuare rapidamente i punti in cui first(select myTable where ID = searchId) può essere sostituito con l'alternativa più veloce: record(myTable, searchId).
Come funziona, passo per passo :
| Pattern RegExp | Spiegazione |
|---|---|
\bselect\b | Trova la parola intera select (evita di trovare parole come «selected»). |
[^;]* | Trova zero o più caratteri diversi da ;, garantendo che non compaia alcun punto e virgola tra select e id. |
(?<!\.) | Un lookbehind negativo che verifica l'assenza di un . immediatamente prima di id. |
\bid\b | Trova la parola intera id (evita di trovare sottostringhe come «userid» o «ident»). |
