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

Namen der Activen Anwendung
Gehe zu Seite 1, 2  Weiter
 
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
Raimo
•-->
•-->


Anmeldedatum: 20.08.2003
Beiträge: 111

BeitragVerfasst am: 20.08.2003 - 08:35    Titel: Namen der Activen Anwendung Antworten mit Zitat

FRAGE
wie erhalte ich den namen der application die active ist bevor ich den script starte über einen shortcut??

WARUM und MEINE IDEEN
ich möchte in irgend einem programm der aktuell markierte bereich in die zwischenablage kopieren. dies soll mit Sändi's Additon TypeText "c" with command geschehen, weil diese nicht an eine application gebunden ist.

nun muss ich aber bevor ich TypeText "c" with command ausführe das gewünschte programm activieren(wenn ich den script starte ist ja der script dann das active programm).

Wenn ich diessen code im Scripteditor laufen lasse kommt schön das ergebnis "ScriptEditor"
tell application "Finder"
set programm to (name of first process whose frontmost is true as list)
display dialog "Apllication in front: " & (programm as string)
end tell

starte ich den script aber über einen shortcut (auf zBs. F5) dann ist das ergebniss "Frontmost application" was wohl bedeuten soll, das der script selber die frontmost application ist.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Raimo
•-->
•-->


Anmeldedatum: 20.08.2003
Beiträge: 111

BeitragVerfasst am: 20.08.2003 - 09:20    Titel: Antworten mit Zitat

ich habe was hier im forum was gefunden(http://www.fischer-bayern.de/phpBB2/viewtopic.php?t=468) und das es keine möglichkeit gibt ist ziemlich mühsam Sad

unter windows (bitte nicht schlagen) kann man ja mit Ctrl + Tap zwischen 2 programmen immer hin und her wechseln (erst wenn man mehrmals Tap bei gedrückter Ctrl taste drückt kommt man in die anderen progemme) gibt es unter Mac nicht auch so eine möglichkeit? so könnte man auf das vor dem script aktive programm zurück springen!!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Raimo
•-->
•-->


Anmeldedatum: 20.08.2003
Beiträge: 111

BeitragVerfasst am: 20.08.2003 - 10:00    Titel: IDEE Antworten mit Zitat

Exclamation

tell application "Finder"
set anzahlProgramme to count (name of every process as list)
end tell

repeat anzahlProgramme - 1 times
TypeText (ASCII character 9) with Command
end repeat

jetzt muss ich nur noch eine eigenschaft der processe finden die diese, die man mit propeler + tab erreichen kann, von den anderen unterscheidet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Raimo
•-->
•-->


Anmeldedatum: 20.08.2003
Beiträge: 111

BeitragVerfasst am: 20.08.2003 - 10:35    Titel: Antworten mit Zitat

Twisted Evil Twisted Evil ach mensch!!

tell application "Finder"
set anzahlProgramme to count (name of every process whose visible is true) as list
end tell

repeat anzahlProgramme times
TypeText (ASCII character 9) with Command
end repeat

jetzt habe ich die anzahl der programme durch die man navigieren kann, aber das ganz funktioniert ja nicht, weil das (sorry) doofe sture OS ja einfach immer der Liste nach die Programme wechselt (war selber doof, dass ich das nicht gemerkt habe, war ja vorher schon klar)

naja, jetzt gehen mir langsam die ideen aus! Sad

Question hat niemand eine idee wie man heraus findet welches programm vor dem script aktiv war!!! ????
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 20.08.2003 - 17:43    Titel: Antworten mit Zitat

Hallo Raimo,

unter OS X funktioniert das Wechseln zwischen Programmen genauso wie du es für Windows beschrieben hast.

Für OS 9.x sieht's allerdings anders aus.

Befehlstaste + Tab schaltet immer weiter durch alle geöffneten Programme.
Wenn man jetzt allerdings noch zusätzlich die Shift-Taste drückt, geht's in der Reihenfolge zurück. Das dürfte dir weiterhelfen.

TypeText tab with Shift and Command

delay 1

TypeText "c" with Command


Ich kann mir zwar nicht vorstellen, wofür das gut sein soll, denn alle Programme, bei denen es Sinn macht, reagieren doch auf die Tastenkombi Befehlstaste-C zum Kopieren. Das geht doch einfacher, als erst ein Skript zu starten.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
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: 20.08.2003 - 17:59    Titel: Antworten mit Zitat

Nachtrag:

Das obige Verfahren funktioniert nur, wenn die Reihenfolge in der Programm-Palette auf "Startreihenfolge - launch order" gestellt ist.

Ich weiß gar nicht, ob bzw. wo man das evtl. manuell einstellen kann.
Mit AppleScript geht's auf jeden Fall so:

tell application "Programmumschalter"
set theOrder to button ordering of palette
if theOrder is not launch order then
set button ordering of palette to launch order
end if
end tell

_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Raimo
•-->
•-->


Anmeldedatum: 20.08.2003
Beiträge: 111

BeitragVerfasst am: 21.08.2003 - 09:45    Titel: Antworten mit Zitat

Snow hat Folgendes geschrieben:

TypeText "c" with Command[/size]

Ich kann mir zwar nicht vorstellen, wofür das gut sein soll, denn alle Programme, bei denen es Sinn macht, reagieren doch auf die Tastenkombi Befehlstaste-C zum Kopieren. Das geht doch einfacher, als erst ein Skript zu starten.


ja, die kombi propeller + c funktioniert schon in allen programme, aber wenn ich den script start und dann ohne in ein programm zu wechseln (tell application "XXX") propeller + c mit TypeText auslöse wird die tastenkombi auf den script angewendet, da dieser ja activated ist.
ich möchte aber, dass die kombi auf das programm (ein x beliebiges) vor dem start des script angewendet wird und darum suche ich eine möglichkeit, wie ich ein programm zurück (das welches als letztes activeted war) wechseln kann um den namen der application mit

tell application "Finder"
set avivesProgramm to (name of first process whose frontmost is true) as list
end tell

zuspeichern und damit zu arbeiten(TypeText tab with command).


Zuletzt bearbeitet von Raimo am 21.08.2003 - 12:41, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Raimo
•-->
•-->


Anmeldedatum: 20.08.2003
Beiträge: 111

BeitragVerfasst am: 21.08.2003 - 10:53    Titel: Antworten mit Zitat

Snow hat Folgendes geschrieben:
Nachtrag:

Das obige Verfahren funktioniert nur, wenn die Reihenfolge in der Programm-Palette auf "Startreihenfolge - launch order" gestellt ist.

Ich weiß gar nicht, ob bzw. wo man das evtl. manuell einstellen kann.
Mit AppleScript geht's auf jeden Fall so:

tell application "Programmumschalter"
set theOrder to button ordering of palette
if theOrder is not launch order then
set button ordering of palette to launch order
end if
end tell


auf lanche order ist doch eben falsch, nicht? es müsste auf benutzungsreihenfolge gestellt sein, oder? das programm welches vor dem script akive war ist ja nicht zwingend das programm welches ich als letztes vor dem script gestartet habe.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Raimo
•-->
•-->


Anmeldedatum: 20.08.2003
Beiträge: 111

BeitragVerfasst am: 21.08.2003 - 11:16    Titel: Antworten mit Zitat

supi Sad

button ordering alphabetical/launch order/reverse alphabetical/reverse launch order

keine möglichkeit um nach avtivity oder so zu ortnen Sad Rotz und Wasser heulen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 21.08.2003 - 18:09    Titel: Antworten mit Zitat

Ich gehe mal davon aus, dass das Kopieren nicht alles ist, was du beabsichtigst, denn das würde per Skript ja nun wirklich keinen Sinn machen.


Die Lösung:

Lade dir aus meinem Download-Bereich das OSA-Menü herunter und speichere dein Skript im "Universal Folder".

Wenn du nun in einem Programm etwas markiert hast, brauchst du das Skript nur über das OSA-Menü aufzurufen. Es arbeitet im Hintergrund und dadurch bleibt dein gewünschtes Programm im Vordergrund und somit wird auch aus diesem Programm heraus kopiert.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Raimo
•-->
•-->


Anmeldedatum: 20.08.2003
Beiträge: 111

BeitragVerfasst am: 22.08.2003 - 09:57    Titel: Antworten mit Zitat

Snow hat Folgendes geschrieben:
Ich gehe mal davon aus, dass das Kopieren nicht alles ist, was du beabsichtigst, denn das würde per Skript ja nun wirklich keinen Sinn machen.


Richtig, ist nicht alles, ich möchte den Text mit hilfe einer Filemaker DB in eine ander Sprache übersetzen.

Snow hat Folgendes geschrieben:

Die Lösung:

Lade dir aus meinem Download-Bereich das OSA-Menü herunter und speichere dein Skript im "Universal Folder".

Wenn du nun in einem Programm etwas markiert hast, brauchst du das Skript nur über das OSA-Menü aufzurufen. Es arbeitet im Hintergrund und dadurch bleibt dein gewünschtes Programm im Vordergrund und somit wird auch aus diesem Programm heraus kopiert.


Very Happy THX werde das gleich mal ausprobieren
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Raimo
•-->
•-->


Anmeldedatum: 20.08.2003
Beiträge: 111

BeitragVerfasst am: 22.08.2003 - 10:01    Titel: Antworten mit Zitat

Snow hat Folgendes geschrieben:
Ich gehe mal davon aus, dass das Kopieren nicht alles ist, was du beabsichtigst, denn das würde per Skript ja nun wirklich keinen Sinn machen.


Richtig, ist nicht alles, ich möchte den Text mit hilfe einer Filemaker DB in eine ander Sprache übersetzen.

Snow hat Folgendes geschrieben:

Die Lösung:

Lade dir aus meinem Download-Bereich das OSA-Menü herunter und speichere dein Skript im "Universal Folder".

Wenn du nun in einem Programm etwas markiert hast, brauchst du das Skript nur über das OSA-Menü aufzurufen. Es arbeitet im Hintergrund und dadurch bleibt dein gewünschtes Programm im Vordergrund und somit wird auch aus diesem Programm heraus kopiert.


Very Happy THX werde das gleich mal ausprobieren
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Raimo
•-->
•-->


Anmeldedatum: 20.08.2003
Beiträge: 111

BeitragVerfasst am: 22.08.2003 - 10:43    Titel: Antworten mit Zitat

Snow du bist ein SCHMATZ verliebt
Exclamation Eines der wenigen foren wo sich ein profi rum tummelt und sich auch die zeit nimmt auf fragen richtig einzugehen!! THX

cool, jetzt kann ich einfach propeller + T (Frontmost application \T) drücken und der script wird gestartet! nun ist die frontmost application auch die frontmost! einfach cool Cool

einziger "schwachunkt" (kann auch ein vorteil sein) das propeller + T des OSA Menu ist mächtiger als dieses einer appliaction zBs. Freehand. da muss ich wohl einen shotcut finden, der nicht überlappt mit dem der programme

Echt gute Page Snow(war die erste die ich beim googlen entdeckt habe, Embarassed wie konnte ich nur das forum solange übersehen)!

ach ja falls noch wer mehr infos zum OSA Menu braucht [url] http://www.lazerware.com/osamenu/OSAMenu_Docs.html[/url]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Raimo
•-->
•-->


Anmeldedatum: 20.08.2003
Beiträge: 111

BeitragVerfasst am: 22.08.2003 - 11:33    Titel: Antworten mit Zitat

EDIT- obs habe den fehler glaub gesehen Embarassed

Nein, doch, wer hat die voodopuppe wieder hervor genommen Twisted Evil !!

immer wenn ich im finder bin aund den script über das osa menu starte spinnt der MAC oder stürtz ab.

aber das sollte doch nicht sein?

try
tell application "Finder"
set Programm to (name of every process whose frontmost is true) as string
if Programm = "" then set Programm to "Finder"
display dialog "Programm: " & Programm as string
end tell
on error
display dialog "Ein Programm muss geöffnet sein!"
end try

es nütz gar nichts auch das try error bringt keine abhilfe Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 22.08.2003 - 15:30    Titel: Antworten mit Zitat

Hallo Raimo,

nix is mit Voodoo!

Zunächst wäre mal interessant, zu erfahren, welche Systemversion und welche Version von AppleScript du im Einsatz hast.

Ich habe hier OS 9.1 und AppleScript 1.8.2b3

Meine Kiste stürzt nicht gleich ab - allerdings funktioniert dein Skript hier auch nicht, wenn der Finder im Vordergrund ist.

Irgendwas passt nicht an der if-Abfrage.
Ich habe das Skript mal eben so umgebaut, dass falls die Variable "Programm" leer ist eine andere Meldung kommt (kommen sollte).

try
tell application "Finder"
set tProgramm to (name of every application process whose frontmost is true)

if tProgramm = "" then
set tProgramm to "Finder"
display dialog "Der Finder ist im Vordergrund"
else
display dialog "Programm: " & tProgramm as string
end if
end tell
on error errMsg number errNr
display dialog errNr & return & errMsg
--display dialog "Ein Programm muss geöffnet sein!"
end try


Ist der Finder im Vordergrund, scheint die Variable nicht wirklich leer zu sein, denn ich bekomme immer die Meldung angezeigt "Programm: "
Es steht halt einfach kein Programmname da.

So, jetzt habe ich in der Zwischenzeit etwas geforscht. Wink

Falls der Finder im Vordergrund ist, bekommt man als Ergebnis eine leere Liste. Die if-Abfrage müsste demnach etwa so aussehen:

tell application "Finder"
set frontApp to (name of every process whose frontmost is true)
if frontApp = {} then display dialog "Der Finder ist im Vordergrund"
end tell

_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
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
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
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