4. dimensjon læring grunnleggende
Fil-menyen er det første en bruker berører i et tilpasset 4D-program, og det er også den menyen som mest sannsynlig blir stående i standardtilstanden av utviklere som er ivrige etter å gå videre til skjemaer og metoder. Det er en feil. Fil-menyen er der applikasjonen din erklærer hva den er til for — enten det er et dataregistreringsverktøy, et rapporteringsverktøy eller en generell forretningsapplikasjon. Å gjøre det riktig tidlig sparer omarbeid senere, fordi menyelementer er koblet til metoder, og metoder er koblet til tabellstrukturen din.
Denne delen går gjennom den anbefalte Fil-menyen for en tilpasset 4D-menylinje, hvordan du bygger den i Menu Bar Editor, og de praktiske begrensningene du vil støte på underveis.
Viktige takeaways
- En godt utformet tilpasset filmeny inneholder vanligvis fire logiske grupper: databevegelse (Import/Eksport), utskrift (Sideoppsett, Skriv ut post, Skriv ut funnet sett), programidentitet (Om) og avslutning (Avslutt).
- Menylinjer i 4D heter permanent
Menu Bar #1,Menu Bar #2, og så videre — du kan ikke gi dem nytt navn, så dokumenter hvilken linje som tjener hvilket formål. - Skillelinjer lages som menyelementer i seg selv ved å bruke Line-alternativet; de er ikke en separat egenskap.
- Menyelementnavn er faste når de er opprettet. Du kan slette og gjenskape et element, men du kan ikke redigere etiketten direkte.
- Omorganisering er asymmetrisk: du kan dra elementer fritt oppover, men for å flytte et element nedover må du dra andre elementer over det.
- Tastatursnarveier og tilknyttede metoder konfigureres per menyelement, og metodene er broen mellom menyen og applikasjonslogikken.
Hvorfor Fil-menyen fortjener bevisst design
I FileMaker Pro er Fil-menyen i stor grad fast — du får det plattformen gir deg, og tilpasning skjer på nivået av skript og knapper snarere enn selve menylinjen. 4D inverterer dette forholdet. Menylinjen er et førsteklasses designobjekt, redigert i Design Mode gjennom Menu Bar Editor, og hvert element i den kan ha sin egen tastatursnarvei og sin egen metode.
Den makten følger med ansvar. En tilpasset Fil-meny som gjenspeiler FileMaker-oppsettet av vane vil føles feil for 4D-brukere, mens en Fil-meny som utelater utskrift helt vil frustrere alle som forventer standard skrivebordsatferd. Målet er en meny som er gjenkjennelig — den gjør det en Fil-meny forventes å gjøre — samtidig som den er spesifikk for applikasjonens arbeidsflyt.
Den anbefalte strukturen for denne serien er bevisst liten:
Fil
Importer data
Eksporter data
Sideoppsett
Skriv ut post
Skriv ut funnet sett
Om A
Avslutt Q
Hver gruppe svarer på et forskjellig brukerspørsmål. Den første gruppen svarer på “hvordan får jeg data inn og ut?” Den andre svarer på “hvordan får jeg dette på papir?” Den tredje svarer på “hva er det jeg kjører?” Den fjerde svarer på “hvordan avslutter jeg?” Dette er en sammenhengende mental modell, og brukere navigerer i den uten instruksjoner.
Relatert: — Et regneark-enkelt grensesnitt som sitter på toppen av en ekte relasjonsdatabase, med automatiseringer, visninger og delbare grensesnitt..
Bygge filmenyen i Menu Bar Editor
Mekanikken er rett frem, men full av små feller. Fra Design Mode, åpne Tools-menyen og velg Menu Bar Editor. Du vil se et “List of Menu Bars”-vindu til venstre og et “Current Menu Bar”-vindu til høyre.
- I “List of Menu Bars”-vinduet klikker du på Menu Bar #1. Merk at navnene på menylinjene ikke kan redigeres — de er alltid
Menu Bar #1,Menu Bar #2, og så videre. Hvis du vedlikeholder flere linjer (for eksempel én for dataregistrering og én for rapportering), før et eget notat som kobler hver nummererte linje til formålet sitt. Dette er et av få steder i 4D hvor du må vedlikeholde ekstern dokumentasjon for å beholde forstanden. - I “Current Menu Bar”-vinduet klikker du på File-menyen for å velge den som mål.
- Klikk på Add Item for å legge til en ny oppføring, og skriv deretter inn navnet.
- For å sette inn en skillelinje, legg til et nytt element og velg Line-alternativet i stedet for å skrive et navn.
- Gjenta til menyen samsvarer med den tiltenkte strukturen.
Begrensningene du faktisk vil støte på
- Navn er uforanderlige. Når et menyelement er opprettet, kan du ikke gi det nytt navn. Hvis du skriver “Eksporter data” som “Eksprot data”, er den eneste løsningen å slette elementet og opprette et nytt — noe som også betyr at du må koble til alle metoder og snarveier du allerede hadde konfigurert på nytt. Skriv nøye første gang.
- Drapping er i praksis enveis. Du kan dra elementer fritt oppover. For å flytte et element nedover, må du dra elementene over det oppover forbi det. Planlegg rekkefølgen før du begynner å legge til, eller aksepter en del omstokking.
- Skillelinjer teller som elementer. En skillelinje opptar en plass i rekkefølgen, så den følger de samme dra-reglene som et navngitt element. Sett inn skillelinjer etter at du har de navngitte elementene i omtrent riktig rekkefølge.
Figur 8 i den opprinnelige gjennomgangen viser arbeidsflyten for “Add Item” mot Fil-menyen, og figur 9 viser den resulterende tilpassede Fil-menyen slik brukeren vil se den under kjøring. Det er verdt å forhåndsvise menyen etter hver gruppe med tillegg i stedet for å bygge hele greia i blinde.
Velge hva som hører hjemme — og hva som ikke gjør det
Fristelsen med en tilpassbar menylinje er å eksponere alt. Motstå det. Hvert element du legger til er et løfte om at funksjonen fungerer, er oppdagbar og har en fornuftig hurtigtast. En kort Fil-meny som er fullt kablet, slår en lang en med døde oppføringer.
Hvis du handler: — En som kobles til den bredere Zoho-pakken og priser per bruker i stedet for per app..
En nyttig beslutningsramme:
| Kandidatelement | Ta med når… | Vurder å utelate når… |
|---|---|---|
| Importer data | Brukere henter regelmessig inn eksterne filer (CSV, tabulatordelt, regnearkeksport) | Data kommer bare gjennom dine egne skjemaer eller en automatisert synkronisering |
| Eksporter data | Brukere må levere data til Excel, et annet system eller en kollega | Rapportering håndteres fullt ut av utskrifter eller lister på skjermen |
| Sideoppsett | Enhver form for utskrift forekommer | Applikasjonen er kun for skjerm |
| Skriv ut post | Brukere skriver ut posten som er på skjermen | Utskrift er alltid et funnet sett eller en rapport |
| Skriv ut funnet sett | Brukere arbeider med søkeresultater og trenger dem på papir | Utskrift er alltid av enkeltposter |
| Om | Du vil ha versjons- og støtteinformasjon tilgjengelig med ett klikk | Applikasjonen er intern og versjonshåndtering håndteres andre steder |
| Avslutt | Alltid — brukere trenger en ren utgang som kan kjøre oppryddingskode | Utelat aldri dette; en manglende Avslutt tvinger frem lukking av vindu på OS-nivå |
Avslutt-elementet fortjener spesiell omtale. I 4D kan Avslutt kobles til en metode som utfører en ryddig nedstengning — lukke vinduer, bekrefte eller kansellere transaksjoner, frigjøre låser, skrive en øktlogg. Hvis du utelater Avslutt fra menyen, vil brukerne lukke programvinduet i stedet, og oppryddingsmetoden din kjører aldri. Det er en risiko for dataintegriteten, ikke en kosmetisk sak.
På samme måte er Om mer enn bare forfengelighet. Et godt bygget Om-element kan vise applikasjonsversjonen, 4D-motorversjonen, gjeldende bane for datafilen og en støttekontakt. Når en bruker ringer for å få hjelp, vil «klikk på Om og les opp de tre første linjene for meg» løse et overraskende antall støttebilletter før de eskalerer.
Tastatursnarveier og metodetilkoblingen
To egenskaper er knyttet til hvert menyelement utover navnet: en hurtigtast og en metode.
Tastatursnarveier følger skrivebordskonvensjonene så tett at brukerne vil gjette dem. De konvensjonelle kombinasjonene er Command-Q (macOS) eller tilsvarende plattformakselerator for Avslutt, og Command-P for utskrift. Når du tilordner snarveier, se etter kollisjoner — hvis to menyelementer deler en akselerator, betyr det at ett av dem i stillhet aldri utløses, og brukeren vil rapportere at «menyelementet gjør ingenting».
Metoder er 4D-ekvivalenten til FileMaker-skript, og det er disse som får et menyelement til å gjøre noe. Et menyelement uten metode er inert: det vises, det kan markeres, men å klikke på det oppnår ingenting. Dette er den vanligste defekten i en første tilpasset menylinje. Før du anser Fil-menyen som ferdig, gå gjennom hvert element og bekreft at det enten har en tilknyttet metode eller en bevisst grunn til å være dekorativt.
Arbeidsfordelingen er verdt å si tydelig:
- Menyelementer håndterer oppdagelse og påkalling.
- Metoder håndterer logikk, validering, feilhåndtering og tilbakemeldinger til brukeren.
- Skjemaer og listebokser håndterer selve datapresentasjonen.
Å holde disse lagene adskilt er det som gjør en 4D-applikasjon vedlikeholdbar. Et menyelement der metoden er en enkelt linje som kaller en velnavngitt prosjektmetode, er mye lettere å feilsøke enn et element der metoden inneholder femti linjer med innebygd logikk.
Metoder dekkes i en senere del av denne serien; for nå er det viktigste å la «kroken» være på plass. Ved å legge til menyelementet og koble til en stubbemetode tidlig, kan du koble til den faktiske logikken senere uten å måtte gå tilbake til menylinjeredigereren.
Vanlige feil og hvordan du unngår dem
- Å bygge menyen før datamodellen. Menyelementer innebærer funksjonalitet. Hvis du legger til «Eksporter data» før du har bestemt hvilke tabeller og felt som kan eksporteres, vil du enten levere en halvferdig eksportfunksjon eller måtte skrive om menyen senere.
- Å glemme skilleelementene. Uten skillelinjer vil en Fil-meny med åtte oppføringer fremstå som en udifferensiert liste. Den visuelle grupperingen er det som gjør strukturen lesbar.
- Å anta at du kan gi nytt navn senere. Det kan du ikke. Bestem deg for etikettene — inkludert store bokstaver og flertallsformer — før du klikker på Legg til element.
- Å la Avslutt stå ukoblet. Som nevnt presser dette brukerne mot å lukke vinduet, noe som hopper over oppryddingslogikken din.
- Å kopiere FileMaker-konvensjoner rått. 4Ds menylinje er mer fleksibel enn FileMakers, så å kopiere FileMakers Fil-meny nøyaktig er å kaste bort plattformens fordeler. Design for brukerne dine, ikke for et annet produkt.
Hvor dette passer i serien
Denne delen dekker Fil-menyen spesifikt. De omkringliggende delene av serien tar for seg hvordan 4D-menyer sammenlignes med FileMaker-menyer, hvordan man bygger en tilpasset menylinje fra bunnen av, og hvordan man håndterer Records-menyen — som er der funne sett, postnavigering og sletting befinner seg. Sammen danner de et komplett bilde av menylaget.
Hvis du bygger din første 4D-applikasjon, er en rimelig rekkefølge: definer tabellene dine, bygg skjemaene dine, og utform deretter menylinjen til slutt, når du vet hvilke operasjoner brukerne faktisk trenger. Menyen er kartet; det bør tegnes etter at du kjenner terrenget.
Vanlige spørsmål
Hvorfor kan jeg ikke gi nytt navn til en menylinje eller et menyelement i 4D?
Menylinjer er permanent navngitt Menu Bar #1, Menu Bar #2, og så videre, og etikettene til menyelementene er faste ved opprettelsestidspunktet. Dette er en bevisst begrensning i menylinjeredigereren snarere enn en feil. Den praktiske løsningen er å føre ditt eget kartleggingsdokument – en enkel liste som kobler hver nummererte menylinje med dens formål – og å korrekturlese elementnavn før du klikker på “Add Item”, siden den eneste måten å rette på er å slette og opprette på nytt.
Trenger jeg en metode knyttet til hvert menyelement?
Funksjonelt sett ja, hvis du vil at elementet skal gjøre noe. Et menyelement uten metode vises i menyen og kan velges, men ingenting skjer. Unntaket er skillelinjer, som er strukturelle snarere enn handlingsbare. For elementer hvor logikken ennå ikke er skrevet, kan du knytte en stub-metode som viser en plassholdermelding, slik at elementet i det minste er ærlig om tilstanden sin.
Bør Fil-menyen inkludere Import og Export i alle applikasjoner?
Nei. Inkluder dem når brukere faktisk flytter data inn og ut av systemet – for eksempel ved å motta regnearkeksporter fra en partner eller levere spørringsresultater til en analytiker. Hvis alle data kommer inn via dine egne skjemaer og all utdata skrives ut eller vises på skjermen, vil Import og Export øke kompleksiteten uten å tilføre verdi. Bestem deg basert på observert arbeidsflyt, ikke på hva andre applikasjoner gjør.
Hvordan flytter jeg et menyelement nedover i listen?
Du kan ikke dra et element direkte nedover. Menylinjeredigereren lar deg bare dra elementer oppover. For å flytte et element ned, drar du elementene over det oppover forbi det, noe som effektivt flytter det lavere. Siden skillelinjer også er elementer, følger de samme regel. Dette er enklest å administrere hvis du legger til elementer i den tiltenkte endelige rekkefølgen og kun gjør små korrigeringer etterpå.
Hva er forskjellen mellom “Print Record” og “Print Found Set”?
“Print Record” skriver ut den enkelte posten som vises for øyeblikket, noe som passer til utdata i skjemastil, som en faktura eller en kundeprofil. “Print Found Set” skriver ut hver post i det gjeldende utvalget, noe som passer til utdata i listestil, som en filtrert rapport. Mange applikasjoner inkluderer begge, fordi brukere bytter mellom disse to modusene avhengig av om de går gjennom ett element eller en hel batch.
Kan et menyelement kjøre oppryddingskode når brukeren avslutter?
Ja – dette er en av de sterkeste grunnene til å inkludere et Avslutt-element (Quit) i stedet for å stole på at brukere lukker programvinduet. Knytt en metode til Quit som bekrefter eller kansellerer åpne transaksjoner, frigjør postlåser, lukker vinduer i riktig rekkefølge, og eventuelt skriver en sesjonslogg. Hvis Quit mangler fra menyen, vil denne metoden aldri kjøre, og applikasjonen avsluttes i den tilstanden brukeren forlot den.
Ofte stilte spørsmål
Hvorfor kan jeg ikke gi nytt navn til en menylinje eller et menyelement i 4D?
Menylinjer heter permanent menylinje 1, menylinje 2, og så videre, og menyelementetiketter er faste ved opprettelsestidspunktet. Dette er en bevisst begrensning i menylinjeredigereren i stedet for en feil. Den praktiske løsningen er å beholde ditt eget kartleggingsdokument – en enkel liste som kobler hver nummererte menylinje med dens formål – og å korrekturlese elementnavn før du klikker på Legg til element, siden den eneste rettelsesbanen er slett-og-opprett.
Trenger jeg en metode knyttet til hvert menyelement?
Funksjonelt, ja, hvis du vil at elementet skal gjøre noe. Et menyelement uten metode vises i menyen og kan velges, men ingenting skjer. Unntaket er skillelinjer, som er strukturelle snarere enn handlingsbare. For elementer hvis logikk ennå ikke er skrevet, legg ved en stubbemetode som viser en plassholdermelding, slik at elementet i det minste er ærlig om tilstanden.
Skal Fil-menyen inkludere import og eksport i alle programmer?
Nei. Inkluder dem når brukere virkelig flytter data inn og ut av systemet – for eksempel ved å motta regnearkeksporter fra en partner eller levere spørringsresultater til en analytiker. Hvis alle data kommer inn gjennom dine egne skjemaer og alle utdata skrives ut eller vises på skjermen, vil import og eksport legge til overflateareal uten å tilføre verdi. Bestem deg basert på observert arbeidsflyt, ikke på hva andre applikasjoner gjør.
Hvordan flytter jeg et menyelement ned i listen?
Du kan ikke dra et element nedover direkte. Menylinjeredigereren lar deg bare dra elementer opp. For å flytte et element ned, dra elementene over det oppover forbi det, som effektivt flytter det lavere. Fordi skillevegger også er elementer, følger de samme regel. Dette er enklest å administrere hvis du legger til varer i den tiltenkte endelige bestillingen og bare gjør små korrigeringer etterpå.
Hva er forskjellen mellom 'Print Record' og 'Print Found Set'?
'Skriv ut post' skriver ut enkeltposten som vises for øyeblikket, som passer til utdata i skjemastil, for eksempel en faktura eller en kundeprofil. 'Skriv ut funnet sett' skriver ut hver post i det gjeldende utvalget, som passer til utdata i listestil, for eksempel en filtrert rapport. Mange applikasjoner inkluderer begge, fordi brukere bytter mellom de to modusene avhengig av om de vurderer ett element eller en batch.
Kan et menyelement kjøre oppryddingskode når brukeren avslutter?
Ja – dette er en av de sterkeste grunnene til å inkludere et Avslutt-element i stedet for å stole på at brukere lukker programvinduet. Legg ved en metode til Quit som forplikter eller kansellerer åpne transaksjoner, frigjør postlåser, lukker vinduer i rekkefølge og eventuelt skriver en øktlogg. Hvis Avslutt er fraværende fra menyen, kjører den metoden aldri, og applikasjonen slås av i hvilken som helst tilstand brukeren forlot den.
Prøv FileMaker gratis i 45 dager
Den langvarige relasjonsdatabaseplattformen for team som trenger tilpassede apper på skrivebord, nett og mobil fra én enkelt fil.