[GastForen Programmierung/Entwicklung AppleScript Ganzzahl-Test

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Ganzzahl-Test

Hans Haesler
  
Beiträge gesamt: 5805

27. Mai 2003, 09:14
Beitrag # 1 von 1
Bewertung:
(680 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Um zu testen, ob eine Eingabe eine Ganzzahl ist, habe ich jahrelang die klassische Umwandlung angewendet:
Code
set nPages to nPages as integer 

Von einem 'try wrapper' umgeben, ist diese Form recht zuverlässig. Aber nicht zu einhundert Prozent, weil
zum Beispiel "-7" keinen Fehler generiert.

Aus diesem Grunde ist es besser, eine kleine Wiederholungs-Schleife einzubauen, in welcher festgestellt
wird, ob sich jedes einzelne Zeichen in der Textkette "0123456789" befindet. Dies sieht kompliziert aus,
ist aber viel schneller als die Umwandlung mit 'as integer'.

Der "flag" 'okay' wird zu Beginn auf '1' gesetzt. Ist eines der Zeichen nicht zulässig, wird 'okay' auf
'0' gesetzt und mit 'exit repeat' die kleine Schleife verlassen. Im darauffolgenden Test wird der Wert
von 'okay' geprüft. Ist er '1', dann wird mit 'exit repeat die grosse Schleife verlassen. Ist er '0', dann
wird der Dialog gezeigt, welcher dem Anwender die Wahl lässt zwischen neuem Versuch oder Abbruch.

Der Test 'if nPages is not "" then' fängt leere Eingaben ab.

Die grosse Repeat-Schleife hat keine Abbruch-Bedingung. Aber die "Abbruch"-Buttons in jedem Dialog und
die beiden 'exit repeat' ermöglichen, den Ausstieg problemlos.
---
set nPages to 5
repeat
  set okay to 1
  set nPages to text returned of (display dialog "Wieviele Seiten einfügen?" default answer nPages)
  if nPages is not "" then
    repeat with i from 1 to count of nPages
      if character i of nPages is not in "0123456789" then
        set okay to 0
        exit repeat
      end if
    end repeat
    if okay = 1 then
      set nPages to nPages as integer
      if nPages < 2000 then
        if nPages is not 0 then
          exit repeat
        else
          display dialog "Spassvogel."
        end if
      else
        display dialog "Ein XPress-Dokument kann nicht mehr als 2000 Seiten enthalten.
Deine Eingabe: " & nPages buttons {"Abbruch", "Neuer Versuch"} default button 2 with icon 0
      end if
    else
      display dialog "Nur Ganzzahlen.

Deine Eingabe: " & nPages buttons {"Abbruch", "Neuer Versuch"} default button 2 with icon 2
    end if
  else
    display dialog "Die Eingabe ist leer." & nPages buttons &not;
      {"Abbruch", "Neuer Versuch"} default button 2 with icon 0
  end if
end repeat
---
Erst wenn die Eingabe nur Ziffern enthält, wird die Textkette mit 'as integer' in eine Ganzzahl verwandelt.
Darauf folgt die Prüfung, ob der Wert höher als 1999 ist. Wenn dieser Code am Anfang eines Scripts steht,
welches ein Dokument erzeugt, dann reicht dies. Sonst müssen zuerst die vorhandenen Seiten gezählt und mit
berücksichtigt werden.

Hans Haesler, [email protected]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
05.02.2021 - 05.11.2021

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Freitag, 05. Feb. 2021, 13.00 Uhr - Freitag, 05. Nov. 2021, 17.00 Uhr

Lehrgang

Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte.

Preis: CHF 10'500.-
Dauer: 30 Tage (ca. 210 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PM

Veranstaltungen
12.03.2021 - 16.07.2021

Digicomp Academy AG, Zürich oder virtuell
Freitag, 12. März 2021, 13.00 Uhr - Freitag, 16. Juli 2021, 17.00 Uhr

Lehrgang

Steigen Sie in die Welt des Publishings ein und erlangen Sie die Zertifizierung von publishingNETWORK. Lernen Sie in diesem Lehrgang Druckmedien professionell zu erarbeiten, druckfertige PDFs zu erstellen und CI/CD-Vorgaben umzusetzen.

Preis: CHF 6'300.-
Dauer: 18 Tage (ca. 126 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt.

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PBAS