Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Allgemein: Display Dialog (mit Default Answer "") - M–chte F

 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Sir Loom
•->
•->


Anmeldedatum: 16.03.2001
Beiträge: 14

BeitragVerfasst am: 15.10.2001 - 17:23    Titel: Allgemein: Display Dialog (mit Default Answer "") - M–chte F Antworten mit Zitat

...wenn der Benutzer keinen Text eingegeben hat, ist das Resultat weder "" noch 0 oder sonst irgendetwas abfragbares, weshalb die Fehlermeldung via ´if the result = "" thenª usw. nicht klappt. Bitte um Hilfe!

Grüsse
Sir Loom
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
DanB
•-->
•-->


Anmeldedatum: 22.11.2000
Beiträge: 38
Wohnort: Weertzen, Niedersachsen

BeitragVerfasst am: 15.10.2001 - 17:34    Titel: Allgemein: Display Dialog (mit Default Answer "") Antworten mit Zitat

display dialog "Geben Sie einen Text ein:" default answer ""

Wenn ich dieses Skript starte und den Dialog bestätige, ohne einen Text einzugeben, dann bekomme ich als Ergebnis einen leeren String ""
Zumindest unter MacOS 9.2.1 und AppleScript 1.6. Welches System benutzt Du?
_________________
danB
[url]mailto:danB@advancedscripting.de[/url]
http://www.advancedscripting.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 15.10.2001 - 18:12    Titel: Allgemein: Display Dialog (mit Default Answer Antworten mit Zitat

Hi Sir Loom,

ich bin mir nicht ganz sicher, was du genau brauchst. Wenn nichts eingegeben wird, ist das Ergebnis "". Wie DanB ja schon geschrieben hat. Das kann man doch abfragen.

Falls du zum Beispiel Zahlen ausschließen willst, hilft dir vielleicht folgende Lösung (mehr ist mir auf die Schnelle nicht eingefallen):

set myText to text returned of ¨
(display dialog "Bitte Text eingeben" default answer "" )
set theFlag to true
set NumberList to { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
repeat with theNumber in NumberList
if myText contains theNumber then
set theFlag to false
exit repeat
end if
end repeat

if theFlag = false then
display dialog "Bitte nur reinen Text eingeben" with icon stop
end if


Die Schleife wird verlassen, sobald eine Ziffer aus der Liste im eingegebenen Text gefunden wird. Dadurch muss nach einem Treffer nicht der Rest der ganzen Liste abgearbeitet werden.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com


Zuletzt bearbeitet von Snow am 01.03.2003 - 13:59, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 15.10.2001 - 19:11    Titel: Allgemein: Display Dialog (mit Default Answer Antworten mit Zitat

Du kannst im Skript natürlich die Liste der Zeichen, die nicht erlaubt sind, beliebig erweitern. Hier noch ein Beispiel, bei dem ich auch den Fall berücksichtigt habe, dass nichts eingegeben wird.

on run
theDialog()
end run

on theDialog()
set myText to text returned of ¨
(display dialog "Bitte Text eingeben" default answer "" )
set theFlag to true
set theList to { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "@", "&", "/" }

if myText = "" then
display dialog ¨
"Es muss eine Eingabe gemacht werden" buttons { "OK" } ¨
default button 1 with icon stop
theDialog()
else
repeat with theNumber in theList
if myText contains theNumber then
set theFlag to false
exit repeat
end if
end repeat
end if

if theFlag = false then
display dialog "Bitte nur reinen Text eingeben" with icon stop
theDialog()
end if
end theDialog

_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com


Zuletzt bearbeitet von Snow am 01.03.2003 - 14:00, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Sir Loom
•->
•->


Anmeldedatum: 16.03.2001
Beiträge: 14

BeitragVerfasst am: 15.10.2001 - 23:21    Titel: Allgemein: Display Dialog (mit Default Answer "") Antworten mit Zitat

Abend!

Ihr dürft mich alle einmal kräftig ohrfeigen! Wink Es tut mir wirklich echt leid, dass ich Eure Zeit mit meinem Problem, das nur durch meine Unverbesserlichkeit entstanden ist, in Anspruch genommen habe. Wenigstens werde ich aus den Beispielen etwas lernen. Meine Script-Fähigkeiten beschränken sich leider auf das, was man mit dem "Aufzeichnen"-Knopf an Code erhälten kann. Wenn Ihr ein gutes Tutorial kennt, in dem man mit den Script-Grundlagen vertraut gemacht wird, gebt mir doch bitte den Link. Ich hoffe ich kann mich trotzdem wieder einmal in dieses Forum trauen.

Ich war tatsächlich so doof, statt ´if the text returned of the result = "" thenª nur ´if the result = "" thenª zu verwenden. Das war schon der ganze Fehler.

Trotzdem noch ein paar (banale) Fragen:

- Wie kriege ich einen Zeilenschlag (was bei HTML der BR-Container ist) in einen String (z.B. für display dialog)?

- Gibt es sowas wie einen "Goto"-Befehl mit dem ich an eine bestimmte Stelle im Script springen kann (quasi einen Anker)?

- Bis jetzt kenne ich bei Dialogen Texteingabefelder und Auswahllisten. Nun möchte ich einen Dialog mir sehr langem Default Text anzeigen lassen. Dabei gibt es jedoch keine Scrollliste und der Anwender kann den Text editieren. Das Ziel wäre, dass der Benutzer ausgewählte Textstellen in die Zwischenablage kopieren, bequem scrollen aber den Text nicht editiern kann. Gibt es da eine Lösung?

Noch herzlichen Dank für Eure Hilfe!

Grüsse
Sir Loom
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 15.10.2001 - 23:45    Titel: Allgemein: Display Dialog (mit Default Answer Antworten mit Zitat

Zitat:
Zitat: von Sir Loom am 23:21 Uhr am 15 Okt. 2001
Abend!

Ihr dürft mich alle einmal kräftig ohrfeigen! Wink Es tut mir wirklich echt leid, dass ich Eure Zeit mit meinem Problem, das nur durch meine Unverbesserlichkeit entstanden ist, in Anspruch genommen habe. Wenigstens werde ich aus den Beispielen etwas lernen. Meine Script-Fähigkeiten beschränken sich leider auf das, was man mit dem "Aufzeichnen"-Knopf an Code erhälten kann. Wenn Ihr ein gutes Tutorial kennt, in dem man mit den Script-Grundlagen vertraut gemacht wird, gebt mir doch bitte den Link. Ich hoffe ich kann mich trotzdem wieder einmal in dieses Forum trauen.


Ja, ja, trau dich nur!

In Sachen Grundlagen erlernen, solltest du zuerst mal alle Ausgaben des MacScripter's Magazine herunterladen.

http://www.fischer-bayern.de/applescript/html/mag.html

Zitat:

Ich war tatsächlich so doof, statt 'if the text returned of the result = "" then' nur 'if the result = "" then' zu verwenden. Das war schon der ganze Fehler.

Trotzdem noch ein paar (banale) Fragen:

- Wie kriege ich einen Zeilenschlag (was bei HTML der BR-Container ist) in einen String (z.B. für display dialog)?


Dazu musst du den Text zerlegen - Beispiel:

set theText to ¨
"Dies ist die erste Zeile." & return & "Das ist die zweite Zeile"

display dialog theText


Zitat:

- Gibt es sowas wie einen "Goto"-Befehl mit dem ich an eine bestimmte Stelle im Script springen kann (quasi einen Anker)?


Wenn du mit Routinen (Handler) arbeitest, kannst du diese von jeder beliebigen Skriptstelle aus aufrufen. Ein Beispiel dafür war bereits in meinem Skript enthalten. Es arbeitet mit zwei Handlern.

1. "on run" - Dieser wird ausgeführt, sobald das Skript gestartet wird.

2. "on theDialog" - Dieser Handler wird gleich im "on run"-Handler aufgerufen.

Es erfolgt praktisch ein Sprung vom run-Handler zum theDialog-Handler.
Wenn du das Skript genau anschaust, wirst du feststellen, dass innerhalb des theDialog-Handlers wiederum der Aufruf des selben Handlers vorkommt. Sobald im Dialogfeld eine falsche Eingabe erfolgt, wird der Handler erneut aufgerufen so dass wieder die Möglichkeit zur Texteingabe besteht.

Zitat:

- Bis jetzt kenne ich bei Dialogen Texteingabefelder und Auswahllisten. Nun möchte ich einen Dialog mir sehr langem Default Text anzeigen lassen. Dabei gibt es jedoch keine Scrollliste und der Anwender kann den Text editieren. Das Ziel wäre, dass der Benutzer ausgewählte Textstellen in die Zwischenablage kopieren, bequem scrollen aber den Text nicht editiern kann. Gibt es da eine Lösung?


Dazu müsstest du mit der Scripting Addition "Dialog Director" arbeiten. Das würde ich aber an deiner Stelle noch etwas verschieben.

Zitat:

Noch herzlichen Dank für Eure Hilfe!

Grüsse
Sir Loom


Nichts zu danken!
Es ist ja schließlich ein AppleScript-Forum.

Übrigens: Bitte keine spitzen Klammern im Text verwenden, sonst denkt das Forenskript, es wäre HTML-Code. Da es aber unwarscheinlich ist, dass dabei sinnvoller HTML-Code herauskommt, fehlt meistens einfach was im Text. Ich habe das bei deinen Postings mal ausgebessert. Cool
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com


Zuletzt bearbeitet von Snow am 01.03.2003 - 14:01, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 16.10.2001 - 00:21    Titel: Allgemein: Display Dialog (mit Default Answer Antworten mit Zitat

Zur Textauswahl gäbe es eine Lösung. Sie ist zwar etwas umständlich aber immerhin machbar:

set dieListe to ¨
{ "1. AppleScript ist total cool. ", ¨
"Man sollte es nicht ", "unterschätzen. ", ¨
"2. In dieser Liste können ", ¨
"die Zeilen einzeln ", "markiert und dann ", ¨
"kopiert werden. " }
choose from list dieListe ¨
OK button name "Kopieren" with multiple selections allowed

if the result is not false then
set the clipboard to the result as string
end if


Die einzelnen Textzeilen werden jeweils als Listeneintrag geschrieben. Drückt man die Shift-Taste, kann man mehrere Textzeilen auswählen. Den OK-Button habe ich hier in "Kopieren" umbenannt. Der markierte Text landet in der Zwischenablage.

Du kannst ja mal etwas damit herum experimentieren. Vielleicht nutzt es dir ja was.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com


Zuletzt bearbeitet von Snow am 01.03.2003 - 14:02, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Sir Loom
•->
•->


Anmeldedatum: 16.03.2001
Beiträge: 14

BeitragVerfasst am: 16.10.2001 - 12:03    Titel: Allgemein: Display Dialog (mit Default Answer "") Antworten mit Zitat

Herzlichen Dank für die Mühe! Bis auf das letzte Problem klappt jetzt alles bestens. Ich werd es einfach so machen, dass der Benutzer per Buttons auswählen kann, ob der ganze Text in die Zwischenablage kopiert oder als Textdatei gespeichert werden soll. Die Lösung mit der Liste ist in meinem Fall nicht ganz das Wahre. Die MacScripter's Magazine Ausgaben sind am downloaden...

bye, Sir Loom


PS: Das eigentliche Ziel war, das ausgewählte erhaltene Mail aus dem Outlook Express Postfach (aus dem zuvor der Text per Auswahl zur Konvertierung mit dem Script entnommen wurde) zum Bearbeiten zu öffnen und den konvertierten Text in die noch vorhandene Auswahl eizufügen. Soviel ich weiss ist diese Funktion (erhaltenes Mail zum Bearbeiten öffnen) jedoch nicht "scriptbar", deshalb begnügte ich mich mit der blossen Anzeige des Ergebnistextes.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Sir Loom
•->
•->


Anmeldedatum: 16.03.2001
Beiträge: 14

BeitragVerfasst am: 16.10.2001 - 12:12    Titel: Allgemein: Display Dialog (mit Default Answer "") Antworten mit Zitat

Ist mir noch eine Frage eingefallen. :-)

Gibt es noch mehr Varianten der Eigenschaft "with icon stop" bei Dialogen (z.B. Error, Cauntion, Msg usw.)?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 16.10.2001 - 19:09    Titel: Allgemein: Display Dialog (mit Default Answer "") Antworten mit Zitat

Du kannst ganz leicht folgende Icons in Dialogboxen verwenden:

icon stop
icon note
icon caution

Wie du weitere Icons verwenden kannst, steht im MacScripter's Magazine 2.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
DanB
•-->
•-->


Anmeldedatum: 22.11.2000
Beiträge: 38
Wohnort: Weertzen, Niedersachsen

BeitragVerfasst am: 16.10.2001 - 20:40    Titel: Allgemein: Display Dialog (mit Default Answer "") Antworten mit Zitat

Ich hätte da noch ein bisschen was zu ergänzen. Um einen Zeilenumbruch zu erzeugen muss man den Text nicht unbedingt gleich in seine Einzelteile zerlegen (Der arme Text!). Das "Text 1"&return&"Text 2" funktioniert zwar, wesentlich flotter einzugeben ist aber das Backslash-R: "Text 1\rText 2". Das wird beim Kompilieren im Skripteditor auch gleich in einen sichtbaren Zeilenumbruch verwandelt.

Den Backslash kann man auch noch anderweitig in Strings verwenden: Backslash-Anführungszeichen ( \" ) ermöglicht das Verwenden des Anführungszeichen innerhalb von Zeichenketten: "Mein Name ist \"danB\""
Und ein Backslash-T ( \t )ergibt einen Tabulator.

Den Backslash erzeugt man auf deutschen Tastaturen übrigens mit Shift-Alt-7.

Gruß,
danB
_________________
danB
[url]mailto:danB@advancedscripting.de[/url]
http://www.advancedscripting.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
DanB
•-->
•-->


Anmeldedatum: 22.11.2000
Beiträge: 38
Wohnort: Weertzen, Niedersachsen

BeitragVerfasst am: 16.10.2001 - 20:44    Titel: Allgemein: Display Dialog (mit Default Answer "") Antworten mit Zitat

Glatt vergessen: Sollte man des Englischen mächtig sein, ich habe auf der ScriptMyMac.de Linksite einige Links zu Hilfen&Anleitungen zum Thema AppleScript veröffentlich:

http://www.scriptmymac.de/html/links.html#anc_b
_________________
danB
[url]mailto:danB@advancedscripting.de[/url]
http://www.advancedscripting.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter