Spring til hovedindhold
HPO Software Trin-for-trin guides til 4D-databaser og low-code app-udvikling — fra din første tabel til en færdig business app.

Nogle links på dette websted er affiliate-links: Hvis du køber gennem dem, kan vi modtage en kommission uden ekstra omkostninger for dig. Dette påvirker aldrig vores anbefalinger. Se vores affiliate-oplysning for detaljer. Affiliate-oplysning.

4. dimension læringsgrundlag

Menuen Filer er det første, en bruger rører ved i enhver brugerdefineret 4D-applikation, og det er også den menu, der højst sandsynligt bliver efterladt i sin standardtilstand af udviklere, der er ivrige efter at gå videre til formularer og metoder. Det er en fejl.

Menuen Filer er der, hvor din applikation erklærer, hvad den er til — uanset om det er et dataindtastningsværktøj, et rapporteringsværktøj eller en forretningsapplikation til generelle formål. At få det rigtigt tidligt sparer omarbejde senere, fordi menupunkter er koblet til metoder, og metoder er koblet til din tabelstruktur.

Dette afsnit gennemgår den anbefalede Fil-menu til en brugerdefineret 4D-menulinje, hvordan man bygger den i menulinjeeditoren, og de praktiske begrænsninger, du vil ramme undervejs.

Key Takeaways

  • En veldesignet brugerdefineret menu Filer indeholder typisk fire logiske grupper: databevægelse (Import/Eksport), udskrivning (Sideopsætning, Udskriv post, Udskriv fundet sæt), applikationsidentitet (Om) og afslut (Afslut).
  • Menulinjer i 4D er permanent navngivet Menu Bar #1, Menu Bar #2 og så videre — du kan ikke omdøbe dem, så dokumentér, hvilken linje der tjener hvilket formål.
  • Skillelinjer oprettes som menupunkter i sig selv ved at bruge Linje-indstillingen; de er ikke en separat egenskab.
  • Menupunkternes navne er faste, når de er oprettet. Du kan slette og genskabe et element, men du kan ikke redigere dets etiket direkte.
  • Omarrangering er asymmetrisk: du kan frit trække elementer op, men for at flytte et element ned skal du trække andre elementer over det.
  • Tastaturgenveje og tilknyttede metoder konfigureres pr. menupunkt, og metoder er broen mellem menuen og din applikationslogik.

Hvorfor Fil-menuen fortjener bevidst design

I FileMaker Pro er menuen Filer stort set fast — du får, hvad platformen giver dig, og tilpasning sker på niveauet af scripts og knapper snarere end selve menulinjen. 4D inverterer dette forhold. Menulinjen er et førsteklasses designobjekt, der redigeres i designtilstand gennem Menulinjeeditoren, og hvert punkt i den kan have sin egen tastaturgenvej og sin egen metode.

Den magt kommer med ansvar. En brugerdefineret Fil-menu, der af vane afspejler FileMaker-layoutet, vil føles forkert for 4D-brugere, mens en Fil-menu, der helt udelader udskrivning, vil frustrere alle, der forventer standardopførsel på skrivebordet. Målet er en menu, der er genkendelig — den gør, hvad en Fil-menu forventes at gøre — samtidig med at den er specifik for din applikations arbejdsgang.

Den anbefalede struktur for denne serie er bevidst lille:

Relateret: — En regneark-simpel grænseflade, der sidder oven på en rigtig relationel database, med automatiseringer, visninger og delbare grænseflader..

Fil
  Importer data
  Eksporter data

Sideopsætning
  Udskriv post
  Udskriv fundet sæt

Om A

Afslut        Q

Hver gruppe besvarer et forskelligt brugerspørgsmål. Den første gruppe svarer på “hvordan får jeg data ind og ud?” Den anden svarer på “hvordan får jeg dette på papir?” Den tredje svarer på “hvad kører jeg?” Den fjerde svarer på “hvordan forlader jeg programmet?” Det er en sammenhængende mental model, og brugerne navigerer i den uden instruktion.

Opbygning af filmenuen i menulinjeeditoren

Mekanikken er ligetil, men fuld af små fælder. Fra Designtilstand skal du åbne menuen Værktøjer og vælge Menulinjeeditor. Du vil se et “Liste over menulinjer”-vindue til venstre og et “Aktuel menulinje”-vindue til højre.

  1. I vinduet “Liste over menulinjer” skal du klikke på Menu Bar #1. Bemærk, at menulinjenavne ikke kan redigeres — de er altid Menu Bar #1, Menu Bar #2 og så videre. Hvis du vedligeholder flere linjer (f.eks. én til dataindtastning og én til rapportering), skal du føre en separat note, der knytter hver nummereret linje til dens formål. Dette er et af de få steder i 4D, hvor du skal vedligeholde ekstern dokumentation for at bevare forstanden.
  2. I vinduet “Aktuel menulinje” skal du klikke på menuen Filer for at vælge den som mål.
  3. Klik på Tilføj element for at tilføje en ny post, og skriv derefter dens navn.
  4. For at indsætte en skillelinje skal du tilføje et andet element og vælge indstillingen Linje i stedet for at skrive et navn.
  5. Gentag indtil menuen matcher din tilsigtede struktur.

De begrænsninger, du rent faktisk vil ramme

  • Navne er uforanderlige. Når først et menupunkt er oprettet, kan du ikke omdøbe det. Hvis du skriver “Eksporter data” som “Exprot Data”, er din eneste løsning at slette elementet og oprette et nyt — hvilket også betyder, at du skal tilknytte enhver metode og genvej, du allerede havde konfigureret, igen. Skriv omhyggeligt første gang.
  • Trækning er i praksis envejs. Du kan frit trække elementer opad. For at flytte et element ned, skal du trække elementerne over det opad forbi det. Planlæg din rækkefølge, før du begynder at tilføje, eller acceptér en del flytning.
  • Skillelinjer tæller som elementer. En skillelinje optager en plads i rækkefølgen, så den følger de samme trækregler som et navngivet element. Indsæt skillelinjer, efter du har de navngivne elementer i nogenlunde den rigtige rækkefølge.

Figur 8 i den originale gennemgang viser arbejdsgangen “Tilføj element” for menuen Filer, og figur 9 viser den resulterende brugerdefinerede menu Filer, som brugeren vil se den under kørsel. Det er værd at forhåndsvise menuen efter hver gruppe af tilføjelser i stedet for at bygge det hele i blinde.

Hvis du handler: — En lavkode-appbygger, der tilsluttes den bredere Zoho-suite og priser pr. bruger i stedet for pr. app..

At vælge, hvad der hører til — og hvad der ikke gør

Fristelsen med en tilpasselig menulinje er at eksponere alt. Modstå det. Hvert element, du tilføjer, er et løfte om, at funktionen virker, er findbar og har en fornuftig tastaturgenvej. En kort Fil-menu, der er fuldt funktionsdygtig, slår en lang med døde poster.

En nyttig beslutningsramme:

KandidatpunktInkluder når…Overvej at udelade, når…
Importer dataBrugere bringer regelmæssigt eksterne filer ind (CSV, tabulator-separeret, regnearkeksport)Data ankommer kun gennem dine egne formularer eller en automatiseret synkronisering
Eksporter dataBrugere skal aflevere data til Excel, et andet system eller en kollegaRapportering håndteres fuldt ud af printet output eller lister på skærmen
SideopsætningDer overhovedet sker nogen form for udskrivningApplikationen er kun til skærmbrug
Udskriv postBrugere udskriver den post, der aktuelt er på skærmenUdskrivning er altid et fundet sæt eller en rapport
Udskriv fundet sætBrugere arbejder med forespørgselsresultater og har brug for dem på papirUdskrivning er altid af en enkelt post
OmDu vil have versions- og supportinformation tilgængelig med et enkelt klikApplikationen er intern, og versionsstyring håndteres andetsteds
AfslutAltid — brugere har brug for en ren exit, der kan køre oprydningskodeUdelad aldrig dette; en manglende Afslut-knap tvinger lukning af vinduet på OS-niveau

Punktet Afslut fortjener særlig omtale. I 4D kan Afslut knyttes til en metode, der udfører en ordentlig nedlukning — lukning af vinduer, commit eller annullering af transaktioner, frigivelse af låse, skrivning af en sessionslog. Hvis du udelader Afslut fra menuen, vil brugerne lukke programvinduet i stedet, og din oprydningsmetode kører aldrig. Det er en risiko for dataintegriteten, ikke blot et kosmetisk problem.

På samme måde er Om mere end blot forfængelighed. Et velbygget Om-element kan vise applikationsversionen, 4D-motorversionen, den aktuelle sti til datafilen og en supportkontakt. Når en bruger ringer efter hjælp, løser “klik på Om og læs de første tre linjer op for mig” et overraskende antal supportbilletter, før de eskalerer.

Tastaturgenveje og metodeforbindelsen

To egenskaber er knyttet til hvert menupunkt ud over dets navn: en tastaturgenvej og en metode.

Tastaturgenveje følger skrivebordskonventionerne så tæt, at brugerne vil kunne gætte dem. De konventionelle parringer er Command-Q (macOS) eller den tilsvarende platform-accelerator til Afslut, og Command-P til udskrivning. Når du tildeler genveje, skal du kontrollere for kollisioner — hvis to menupunkter deler en accelerator, betyder det, at et af dem lydløst aldrig aktiveres, og brugeren vil rapportere det som “menupunktet gør ingenting.”

Relateret: — En kodefri databasebygger rettet mod portaler, mapper og interne værktøjer - med faste priser i stedet for gebyrer pr. bruger..

Metoder er 4D-ækvivalenten til FileMaker-scripts, og det er dem, der får et menupunkt til at gøre noget. Et menupunkt uden metode er inert: det vises, det kan markeres, men et klik på det opnår intet. Dette er den mest almindelige defekt i en første brugerdefineret menulinje. Før du betragter Fil-menuen som afsluttet, skal du gennemgå hvert element og bekræfte, at det enten har en tilknyttet metode eller en bevidst grund til at være dekorativt.

Arbejdsdelingen er værd at sige klart:

  • Menupunkter håndterer opdagelse og påkaldelse.
  • Metoder håndterer logik, validering, fejlhåndtering og brugerfeedback.
  • Formularer og listebokse håndterer selve datapræsentationen.

At holde disse lag adskilt er det, der gør en 4D-applikation vedligeholdelsesdygtig. Et menupunkt, hvis metode er en enkelt linje, der kalder en velnavngivet projektmetode, er langt lettere at fejlfinde end et, hvis metode indeholder halvtreds linjers inline-logik.

Vores valg: — Den langvarige relationsdatabaseplatform til teams, der har brug for tilpassede apps på desktop, web og mobil fra en enkelt fil..

Metoder er dækket i en senere del af denne serie; for nu er det vigtigste at lade krogen være på plads. At tilføje menupunktet og knytte en stub-metode tidligt betyder, at du kan implementere den rigtige logik senere uden at skulle vende tilbage til Menu Bar Editor.

Almindelige fejl og hvordan man undgår dem

  • At bygge menuen før datamodellen. Menupunkter indebærer funktionalitet. Hvis du tilføjer “Eksporter data”, før du har besluttet, hvilke tabeller og felter der kan eksporteres, vil du enten levere en halvfærdig eksportfunktion eller blive nødt til at omskrive menuen senere.
  • At glemme skillelinjerne. Uden skillelinjer fremstår en Fil-menu med otte poster som en udifferentieret liste. Den visuelle gruppering er det, der gør strukturen læselig.
  • At antage, at man kan omdøbe senere. Det kan man ikke. Beslut dig for etiketterne — inklusive store bogstaver og flertal — før du klikker på Tilføj element.
  • At lade Afslut være uden metode. Som nævnt skubber dette brugerne mod at lukke vinduet og springer din oprydningslogik over.
  • At kopiere FileMaker-konventioner råt. 4D’s menulinje er mere fleksibel end FileMakers, så at kopiere FileMakers Fil-menu præcis som den er, spilder platformens fordel. Design til dine brugere, ikke til et andet produkt.

Hvor dette passer i serien

Dette afsnit dækker specifikt Fil-menuen. De omkringliggende dele af serien omhandler, hvordan 4D-menuer sammenlignes med FileMaker-menuer, hvordan man opbygger en brugerdefineret menulinje fra bunden, og hvordan man håndterer Records-menuen — som er der, hvor fundne sæt, postnavigation og sletning findes. Tilsammen danner de et komplet billede af menulaget.

Hvis du bygger din første 4D-applikation, er en rimelig rækkefølge: definer dine tabeller, byg dine formularer, og design derefter menulinjen til sidst, når du ved, hvilke operationer brugerne rent faktisk har brug for. Menuen er kortet; det bør tegnes, efter du kender territoriet.

Ofte stillede spørgsmål

Hvorfor kan jeg ikke omdøbe en menulinje eller et menupunkt i 4D?

Menulinjer er permanent navngivet Menu Bar #1, Menu Bar #2 og så videre, og menupunkternes etiketter er faste på oprettelsestidspunktet. Dette er en bevidst begrænsning i Menu Bar Editoren snarere end en fejl. Den praktiske løsning er at føre dit eget kortlægningsdokument — en simpel liste, der parrer hver nummereret menulinje med dens formål — og korrekturlæse elementnavne, før du klikker på Add Item, da den eneste måde at rette på er at slette og genoprette.

Har jeg brug for en metode knyttet til hvert menupunkt?

Funktionelt set ja, hvis du vil have punktet til at gøre noget. Et menupunkt uden en metode vises i menuen og kan vælges, men der sker ikke noget. Undtagelsen er skillelinjer, som er strukturelle snarere end handlingsorienterede. For elementer, hvor logikken endnu ikke er skrevet, skal du knytte en stub-metode, der viser en pladsholdermeddelelse, så elementet i det mindste er ærligt omkring sin tilstand.

Skal Fil-menuen indeholde Import og Eksport i alle applikationer?

Nej. Inkluder dem, når brugere rent faktisk flytter data ind og ud af systemet —for eksempel ved at modtage regnearkseksporter fra en partner eller give forespørgselsresultater videre til en analytiker. Hvis alle data kommer ind via dine egne formularer, og alt output udskrives eller ses på skærmen, tilføjer Import og Eksport kompleksitet uden at tilføje værdi. Beslut dig baseret på den observerede arbejdsgang, ikke på hvad andre applikationer gør.

Hvordan flytter jeg et menupunkt ned på listen?

Du kan ikke trække et element direkte nedad. Menu Bar Editoren lader dig kun trække elementer op. For at flytte et element ned skal du trække elementerne over det opad forbi det, hvilket effektivt flytter det længere ned. Da skillelinjer også er elementer, følger de samme regel. Dette er nemmest at administrere, hvis du tilføjer elementer i den ønskede endelige rækkefølge og kun foretager små rettelser bagefter.

Hvad er forskellen mellem “Print Record” og “Print Found Set”?

“Print Record” udskriver den enkelte post, der aktuelt vises, hvilket passer til output i formularstil, såsom en faktura eller en kundeprofil. “Print Found Set” udskriver hver post i det aktuelle udvalg, hvilket passer til output i listestil, såsom en filtreret rapport. Mange applikationer inkluderer begge dele, fordi brugere skifter mellem de to tilstande afhængigt af, om de gennemgår ét element eller en batch.

Kan et menupunkt køre oprydningskode, når brugeren afslutter?

Ja — dette er en af de stærkeste grunde til at inkludere et Quit-element frem for at stole på, at brugerne lukker applikationsvinduet. Knyt en metode til Quit, der gennemfører eller annullerer åbne transaktioner, frigiver postlåse, lukker vinduer i rækkefølge og valgfrit skriver en sessionslog. Hvis Quit mangler i menuen, kører denne metode aldrig, og applikationen lukker ned i den tilstand, brugeren efterlod den i.

Ofte stillede spørgsmål

Hvorfor kan jeg ikke omdøbe en menulinje eller et menupunkt i 4D?

Menulinjer er permanent navngivet Menulinje 1, Menulinje 2, og så videre, og menupunkters etiketter er faste på oprettelsestidspunktet. Dette er en bevidst begrænsning i menulinjeeditoren snarere end en fejl. Den praktiske løsning er at beholde dit eget kortlægningsdokument - en simpel liste, der parrer hver nummereret menulinje med dens formål - og korrekturlæse elementnavne, før du klikker på Tilføj element, da den eneste rettelsessti er slet-og-genopret.

Har jeg brug for en metode knyttet til hvert menupunkt?

Funktionelt, ja, hvis du vil have varen til at gøre noget. Et menupunkt uden metode vises i menuen og kan vælges, men der sker ikke noget. Undtagelsen er skillelinjer, som er strukturelle snarere end handlingsegnede. For elementer, hvis logik endnu ikke er skrevet, skal du vedhæfte en stubmetode, der viser en pladsholdermeddelelse, så elementet i det mindste er ærlig omkring sin tilstand.

Skal menuen Filer omfatte Importer og Eksporter i alle programmer?

Nej. Inkluder dem, når brugere virkelig flytter data ind og ud af systemet - for eksempel ved at modtage regnearkseksporter fra en partner eller aflevere forespørgselsresultater til en analytiker. Hvis alle data kommer ind gennem dine egne formularer, og alt output udskrives eller ses på skærmen, tilføjer Import og Eksport overfladeareal uden at tilføje værdi. Beslut dig baseret på observeret arbejdsgang, ikke på hvad andre applikationer gør.

Hvordan flytter jeg et menupunkt ned på listen?

Du kan ikke trække et element nedad direkte. Menulinjeeditoren lader dig kun trække elementer op. For at flytte et element ned skal du trække elementerne over det opad forbi det, hvilket effektivt flytter det lavere. Fordi skillevægge også er elementer, følger de samme regel. Dette er nemmest at administrere, hvis du tilføjer varer i din planlagte endelige ordre og kun foretager små rettelser bagefter.

Hvad er forskellen mellem 'Print Record' og 'Print Found Set'?

'Udskriv post' udskriver den enkelte post, der aktuelt vises, og som passer til formular-output, såsom en faktura eller en kundeprofil. 'Udskriv fundet sæt' udskriver hver post i det aktuelle valg, som passer til output i listestil, såsom en filtreret rapport. Mange applikationer inkluderer begge dele, fordi brugerne skifter mellem de to tilstande afhængigt af, om de gennemgår en vare eller en batch.

Kan et menupunkt køre oprydningskode, når brugeren afslutter?

Ja - dette er en af ​​de stærkeste grunde til at inkludere et Afslut-element i stedet for at stole på, at brugere lukker programvinduet. Vedhæft en metode til Afslut, der begår eller annullerer åbne transaktioner, frigiver registreringslåse, lukker vinduer i rækkefølge og eventuelt skriver en sessionslog. Hvis Afslut er fraværende i menuen, kører denne metode aldrig, og applikationen lukker ned, uanset hvilken tilstand brugeren forlod den.


Prøv FileMaker gratis i 45 dage

Den langvarige relationsdatabaseplatform til teams, der har brug for tilpassede apps på desktop, web og mobil fra en enkelt fil.