Denna delen av 99 uppdateras inte längre utan har arkiverats inför framtiden som ett museum.
Här kan du läsa mer om varför.
Mac-nyheter hittar du på Macradion.com och forumet hittar du via Applebubblan.
Erland Segerstedt
  • Registrerad 2004-07-07
  • Senast aktiv 2010-09-15
  • Antal inlägg 46

Foruminlägg

De senaste inläggen Erland Segerstedt har skrivit i forumet.

Hej

Skriptet nedan fungerar under 10.4 men inte under 10.5.
Denna rad
"set mappStorlek to get physical size of folder tempRAW_Folder -- as integer"
ger som resultat missing value - vilket jag ännu inte lyckats lösa trots många olika försök.

Tacksam för tips.

Erland Segerstedt
Kusmark

Skritet nedan ograverat:

-- (G4)FyllaDVD_4,6GB-->dvd.scpt 2008-05-13

--DETTA SKRIPT FLYTTAR BILDER FRÅN RAWFILER_raid TILL DVD_BRÄNNA_MAPPEN.
property RawBilds_Lager : (alias "RAWFILER_raid:RawBilder_klart:")
property brannaMapp : (alias "RAWFILER_raid:branna_Mapp:")
property dialogerMappen : (alias ":Users:macpro:library:application support:Textboxen:")
property dvdArkivet : (alias "RAWFILER_raid:")

--DIALOGRUTA FÖR NYTT NR PÅ DVD_SKIVA
set lasa_textfil to (read file (((dialogerMappen) as text) & "dialog_DVDskiva.txt"))
set nyttDVDnr to result as integer
set nyttDVDnr to nyttDVDnr + 1
display dialog "Nytt nr på DVDskiva" & "_" default answer nyttDVDnr
set nyttDVDnr to (text returned of result) as text
set spara_textfil to (((dialogerMappen) as text) & "dialog_DVDskiva.txt")
my write_to_file(nyttDVDnr, spara_textfil, false)
--SLUT DIALOGRUTA FÖR NYTT NR PÅ DVD_SKIVA

set dvd_mappStorlek to 0

set mappLista_nyaMappar to {}
tell application "Finder"
set maxDVDnsMappStorlek to 4.6E+9 --for DVD, in MegaBytes
repeat with i from 1 to 1
set nyttDVDnr to nyttDVDnr
set nyttMappNamn to "RAW_skiva nr " & nyttDVDnr & "_" & my dagensDatum()
set nyttAliasMappNamn to "RAW_skiva nr " & nyttDVDnr & "_" & my dagensDatum()
set nyMapp to (make new folder in brannaMapp with properties {name:nyttMappNamn})
set nyAliasMapp to (make new folder in dvdArkivet with properties {name:nyttAliasMappNamn})
set the end of mappLista_nyaMappar to nyttMappNamn
end repeat
end tell

--KOD FÖR LADDNING AV BRÄNNAMAPPEN MED RÅFILSMAPPAR t o m 4,6 GB
tell application "Finder"
set maxDVDnsMappStorlek to 4.6E+9 --for DVD, in MegaBytes

set nyttMappNamn to "RAW_skiva nr " & nyttDVDnr & "_" & my dagensDatum()
set nyttAliasMappNamn to "RAW_skiva nr " & nyttDVDnr & "_" & my dagensDatum()


set n to (count folders of folder RawBilds_Lager)
set loop_Mapplista to 1
set mappLista_RawBilder to (every folder of RawBilds_Lager) as list



repeat with loop_RawBilder from 1 to n
if dvd_mappStorlek < maxDVDnsMappStorlek then
tell application "Finder"
set tempRAW_Folder to (item loop_RawBilder of mappLista_RawBilder) as alias
set mappNamn to (name of folder tempRAW_Folder)
set mappStorlek to get physical size of folder tempRAW_Folder -- as integer
if mappStorlek is equal to missing value then
display dialog missing value as text
else

end if


if dvd_mappStorlek + mappStorlek < (maxDVDnsMappStorlek) then
set temp_Mapp to (brannaMapp as text) & (item loop_Mapplista of mappLista_nyaMappar) as alias
make alias file to tempRAW_Folder at nyAliasMapp
move tempRAW_Folder to temp_Mapp
set dvd_mappStorlek to (dvd_mappStorlek + mappStorlek) --as integer
else
if dvd_mappStorlek + mappStorlek > (maxDVDnsMappStorlek) then
if dvd_mappStorlek > ((maxDVDnsMappStorlek)) then
tell application "Finder"
close front window
open disk "rawfilsLager"
set dvd_mappStorlek to ((round (dvd_mappStorlek / 1.074201E+9) * 100) / 100)
display dialog "DVD-skiva nr " & nyttDVDnr & " klar att brännas! Den väger " & dvd_mappStorlek & " GB." --default button {"OK", "Avbryt"}
return false
end tell
end if
end if
end if
end tell
end if
end repeat
end tell
--SLUT KOD FÖR LADDNING AV BRÄNNAMAPPEN MED RÅFILSMAPPAR t o m 4,6 GB

--SUBRUTINEN SKRIVA TILL TEXTFIL
on write_to_file(this_file, target_file, append_data)
try
set the target_file to the target_file as text
set the open_target_file to ¬
open for access file target_file with write permission
if append_data is false then ¬
set eof of the open_target_file to 0
write this_file to the open_target_file starting at eof
close access the open_target_file
return true
on error
try
close access file target_file
end try
return false
end try
end write_to_file
--SLUT SUBRUTINEN SKRIVA TILL TEXTFIL

--VILLKOR FÖR DATUM I DIALOGRUTA
on dagensDatum()
set idagDatum to (current date)

set numDag to the day of idagDatum as integer
set numDag to text -2 thru -1 of ("0" & numDag)

set numManad to the month of idagDatum as integer
set numManad to text -2 thru -1 of ("0" & numManad)

set numArtal to the year of idagDatum as integer
set numArtal to text -2 thru -1 of ("0" & numArtal)

set iDag to numArtal & numManad & numDag
end dagensDatum
--SLUT VILLKOR FÖR DATUM I DIALOGRUTA

Hej

Skript skrivna för OS 10.4, t ex folder action-skript som jag har en del, har sämre tillförlitlighet i 10.5 för att många gånger fungera än sämre i 10.6.

vad händer med AppleScript i dom nyare versionerna av Mac OS?

Undrar Erland Segerstedt
Kusmark

Hej

Jag har en iBook G4 ca 4 år gammal, som börjar vara lite "konstig"...

Från nedre vänstra hörnet på skärmen börjar en svag rödaktig färg sprida sig. Tidigare har färgförändringen bara synts till när datorn går på batteridrift (batteriet är också dåligt).

Är min dator slut, eller...?

Med hopp om svar, hälsningar
Erland Segerstedt, Kusmark

Hej

AppleScript och Mail.app i en dator med Leopard.

Jag har ett skript som bevakar inkorgen och skickar ut ett vändande mejl med bilagd fil. Därefter flyttas mejlet till en ny brevlåda. Fungerar alldeles utmärkt i Mac OS 10.4.

Samma skript i 10.5 klarar inte av att flytta mejlet till en ny brevlåda.

Skriptet hantera bara ett epostkonto.

Varför är det på detta viset?

Erland Segerstedt, Kusmark

Porten för inkommande mail var felaktig.
Nu funkar det igen.

Tack för hjälpen.
//Erland

Hej.

Jag har uppgraderat min Mini Mac till Leopard.
Nu har jag problem med att Mail.app kan skicka utgående mail men inte hämta in nya.

Safari funkar - så kopplingen till nätet funkar.
Har jag lyckats skada nån fil, eller...?

Tacksam för hjälp

Erland Segerstedt, Kusmark

Hej.

Har påbörjat en övergång till Mac OS 10.5.4...
Innan nya datorn kommer med i produktionen, vill jag etablera ett bra arbetsflöde.

Men - jag har stött på patrull - folder actions uppträder inte som i Tiger.

Första gången ett folder actions (i Leopard) anropas funkar det - sen blir det segt för att till slut avstanna helt.
Ibland har jag sett att (nått eller någon) stänger av mappens folder action...

Var/vad är problemet?

Undrar och hoppas på svar
Erland Segerstedt, Kusmark

Sonen kom nyss hem på påsklov...

Nu funkar skriptet!
Utgående mejl räknas upp och skickas ut i omvänd ordning...

Tack för i kväll.

Hälsningar
Erland Segerstedt, Kusmark

----------- citat kod--------------------------------
>set antal_olasta_Mejl_i_denna_Inbox to (count every message)
set k to antal_olasta_Mejl_i_denna_Inbox
>repeat with j from 1 to antal_olasta_Mejl_i_denna_Inbox
>
>set denna_ePost to message j
set denna_ePost to message k
set k to k-1
>tell denna_ePost

Ursprungligen av Taz_1999:

Utan att se scriptet, nej.

Hej

Sen mitt första inlägg har jag fått ingång skriptet.

Ett nytt problem dök upp. Mejlet skickas inte ut som det ska!
Koden - som finns nedan - funkar perfekt när jag manuellt klickar på "run"-knappen i Manusredigeraren.
Men - när ett inkommande mejl anropar skriptet (via en regel) funkar det bra; tills det nyskapade svarsmejlet ska skickas ut.
Utgående mejl fastnar nånstan (i nån för mig (vad vet jag) osynlig "kö") och skickas inte ut, förrän nästa ingående mejl anropar skriptet.

Hälsningar
Erland Segerstedt, Kusmark

--------------------------- citat kod --------------------------------
tell application "Mail"

set stora_Inbox to inbox
tell stora_Inbox
set antal_Mailbox to (count every mailbox)
repeat with i from 1 to antal_Mailbox

set denna_Inbox to mailbox "Inbox"
tell denna_Inbox
set antal_olasta_Mejl_i_denna_Inbox to (count every message)
repeat with j from 1 to antal_olasta_Mejl_i_denna_Inbox

set denna_ePost to message j
tell denna_ePost
if subject contains "Skissbild" then
set denna_ePosts_Innehall to content of denna_ePost
if denna_ePosts_Innehall contains "@" then
set kund_epostAdress to (text 1 thru 10 of denna_ePosts_Innehall)
set bildNamn to (text 12 thru -1 of denna_ePosts_Innehall)
end if
end if

tell application "Mail"
set vandande_ePost to (make new outgoing message with properties {subject:"Skissbild", content:"Den efterfrågade skissbilden kommer här...", visible:false})

tell vandande_ePost
make new to recipient at end of to recipients with properties {address:kund_epostAdress}
set sender to "[email protected]"

try
tell content of vandande_ePost
make new attachment with properties {file name:"bildNamn" as alias} at after last paragraph
end tell
end try

send

end tell
end tell
end tell

tell denna_ePost
set read status to true
end tell

tell application "Mail"
move denna_ePost to mailbox "Arkivbildsforfragan"
end tell

end repeat
end tell

end repeat
end tell
end tell

Hej

Vad gör jag för fel?

Via en regel ska ju Mail.app kunna dra igång ett skript gjort i AppleScript. Vilket jag också lyckas med, med dom skript som följer med datorn...

Men - inte när jag bygger ett eget skript med Manusredigeraren! Mitt skript ligger i samma mapp som dom "Apple-gjorda" skripten.
Mitt skript börjar med "Tell application "Mail"... osv.
Skriptet fungerar som tänkt när jag manuellt kör det inifrån Manusredigeraren.

Någon som har en idé om varför Mail.app (version 1.3.11) inte kan anropa mitt egen-tillverkade skript.

Hälsningar
Erland Segerstedt, Kusmark

Jag önskar kunna köra ett makro med en huvuduppgift - men utimellanåt kunna anropa en alternativuppgift...

I dialogrutan för "infoga stopp" finns knapparna "Avbryt" och "Fortsätt", jag önskar mig en tredje knapp.

Går det?

//Erland Segerstedt

Hej

Kan man bygga ett funktionsmakro med "infoga stopp" och ett treknappsval?

Jag vill bygga ett arbetsflöde där ett makro;
a/ fortsätter efter ett stopp...
b/ hoppa över till ett annat makro...
c/ eller avbryt

Går det?

Frågar
Erland Segerstedt, Skellefteå

Opps!

Jag flyttar inlägget till en egen tråd!

//Erland

Hej

Kan man bygga ett funktionsmakro med "infoga stopp" och ett treknappsval?

Jag vill bygga ett arbetsflöde där ett makro;
a/ fortsätter efter ett stopp...
b/ hoppa över till ett annat makro...
c/ eller avbryt

Går det?

Frågar
Erland Segerstedt, Skellefteå

Kodförslag från wlao:
..."set varjemappStorlek to (get size of (info for varjeMapp))"...
Tyvärr wlao - ditt förslag till kod fungerade inte heller...!

Däremot skrev jag in "as integer" i slutet på min rad
..."set varjemappStorlek to (get size of varjeMapp as integer)"...
å då helst plötsligt fungerade skriptet.

Nu har jag ett skript som fyller en nyskapad mapp med ett antal mappar upp till ca 4,2-4,4 GB, vilken jag sen bränner ner på en dvd-skiva.

Tack för hjälpen
//Erland Segerstedt