1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Ordner ist da aber er ist eiegntlich ncith da

Dieses Thema im Forum "OS X-Developer" wurde erstellt von Bomberzocker, 14.09.09.

  1. Bomberzocker

    Bomberzocker Auralia

    Dabei seit:
    08.06.08
    Beiträge:
    202
    Hier ist mein Code, der prüfen soll ob mein Ordner schon existiert und falls nicht, soll er erstellt werden. Ausgegeben wird im Event-Protokoll immer der Wert "exists "Macintosh hd:Users:Benedikt:documents:Datenbank:" true" und ich bekomme die Nachicht "Ordner ist schon da". Das Problem ist: Er existiert nicht. Ich hab ganz genau nachgeschaut. Es muss ein Fehler von AS sein. Muss der Code anders lauten? Dr. google hat nix gebracht, Sufu genau so viel.

    danke schonmal im vorraus
     
  2. LittlePixel

    LittlePixel Strauwalds neue Goldparmäne

    Dabei seit:
    09.07.08
    Beiträge:
    641
    Existenz prüfe man bitte so:

    Code:
    -- prüfen, ob Ordner oder Datei existiert
    on pruefeExistenz(pfad, datei)
        try
            considering case
                if (((pfad & datei) as string) is equal to ((alias (pfad & datei)) as string)) then
                    return true
                else
                    return false
                end if
            end considering
        on error
            return false
        end try
    end pruefeExistenz
    Viele Grüße
     
  3. Poljpocket

    Poljpocket Salvatico di Campascio

    Dabei seit:
    07.01.07
    Beiträge:
    432
    EDIT: siehe Lösung von LittlePixel, hat genau dasselbe geschrieben :)

    Gruss ppocket
     
  4. LittlePixel

    LittlePixel Strauwalds neue Goldparmäne

    Dabei seit:
    09.07.08
    Beiträge:
    641
    Was mir noch auffällt und Du etwas lernen möchtest:

    -path to documents folder

    So werden Standardpfade gebildet.
    Das ist nicht nur bequemer, sondern hat auch einen tieferen Sinn.

    Viele Grüße
     
  5. GunBound

    GunBound Pohorka

    Dabei seit:
    23.06.05
    Beiträge:
    5.667
    Und mach bitte deine Signatur weg/kleiner!:eek:
    Danke!;)
     
  6. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    Der Ordner heißt übrigens wohl "Documents" und nicht "documents".
    Gruß Pepi
     
  7. Bomberzocker

    Bomberzocker Auralia

    Dabei seit:
    08.06.08
    Beiträge:
    202
    Ist das für Pfadangaben entscheidend? AS setzt doch so gut wie alles immer als kleingeschrieben.

    Danke erstmal für die vielen Antworten. Werde das bald testen

    Ist meine Signatur so groß? Ich mach sie schon weg. Sie ist sowieso zu langweilig.
     
  8. LittlePixel

    LittlePixel Strauwalds neue Goldparmäne

    Dabei seit:
    09.07.08
    Beiträge:
    641
    Das eine hast doch nichts mit dem anderen zutun.

    Somit: Ja, es ist entscheidend. Deshalb habe ich Dir auch den Tipp gegeben.

    Viele Grüße
     
  9. Bomberzocker

    Bomberzocker Auralia

    Dabei seit:
    08.06.08
    Beiträge:
    202
    Vermutlich bin ich zu blöde dafür:
    Error:
     
  10. LittlePixel

    LittlePixel Strauwalds neue Goldparmäne

    Dabei seit:
    09.07.08
    Beiträge:
    641
    Code:
    set hereIam to (path to documents folder as string) & "Text.txt"
    -path to documents folder ... liefert Dir ein Alias
     
  11. Bomberzocker

    Bomberzocker Auralia

    Dabei seit:
    08.06.08
    Beiträge:
    202
    das Problem das der Ordner noch immer gefunden wird, obwohl er nicht da ist.
     
  12. LittlePixel

    LittlePixel Strauwalds neue Goldparmäne

    Dabei seit:
    09.07.08
    Beiträge:
    641
    ... und wie sieht Dein Code aus?
     
  13. Bomberzocker

    Bomberzocker Auralia

    Dabei seit:
    08.06.08
    Beiträge:
    202
    Aktueller AS-Code

    Genauso wie vorher, nur dass ich eine Zeile geändert habe.
    EDIT: Danke für das Stichwort "ddt" :-D Habe den Titel nicht auf Tippfehler untersucht.
     
  14. Bomberzocker

    Bomberzocker Auralia

    Dabei seit:
    08.06.08
    Beiträge:
    202
    *push* nur noch diese eine Sache und mein Programm ist fertig und kann als Version 1.0 gedownloaded werden. Hat noch niemand dieses Problem gehabt?
    mfg
     
  15. LittlePixel

    LittlePixel Strauwalds neue Goldparmäne

    Dabei seit:
    09.07.08
    Beiträge:
    641
    Ich habe Dir einen fertigen Handler gegeben. Siehe Britrag 2.
    Das war auch der Grund Deines Threads.

    ... und jetzt prüfst Du immer noch mit "exists".
    Dann bist Du selber Schuld ;)

    Viele Grüße
     
  16. Bomberzocker

    Bomberzocker Auralia

    Dabei seit:
    08.06.08
    Beiträge:
    202
    Ein Versuch

    Sorry, hab den post völlig übersehen.
    muss ich "pfad & datei" mit der Variable ersetzen, die die Pfadangabe enthält? Wenn ich das so mache:
    Code:
    set datenbankordner to (path to documents folder as string) & "Datenbank:" as string
    on pruefeExistenz(datenbankordner)
    	try
    		considering case
    			if (((datenbankordner) as string) is equal to ((alias (datenbankordner)) as string)) then
    				return true
    				display dialog "Ordner exisitiert"
    			else
    				return false
    				try
    					make new folder at (path to documents folder as string) with properties {name:"Datenbank"}
    					display dialog "Datenbankordner wurde erstellt. Bitte nicht verschieben!"
    				end try
    			end if
    		end considering
    	on error
    		return false
    	end try
    end pruefeExistenz
    erscheint
    Code:
     path to documents folder as string
    		"Macintosh HD:Users:Benedikt:Documents:"
    im Event-Protocol, was sich vermutlich auf:
    Code:
    set datenbankordner to (path to documents folder as string) & "Datenbank:" as string
    bezieht.
    Der Ordner wurde bei der Prozedur nicht erstellt und keine display dialog erschien.
    mfg
     
    #16 Bomberzocker, 20.09.09
    Zuletzt bearbeitet: 20.09.09
  17. LittlePixel

    LittlePixel Strauwalds neue Goldparmäne

    Dabei seit:
    09.07.08
    Beiträge:
    641
    Grundlagen?

    Code:
    set datenbankordner to (path to documents folder as string) & "Datenbank:" as string
    
    if (my pruefeExistenz(datenbankordner, "")) then
    	-- schon da
    else
    	-- erstellen
    	do shell script "mkdir " & quoted form of POSIX path of datenbankordner
    end if
    
    
    -- prüfen, ob Ordner oder Datei existiert
    on pruefeExistenz(pfad, datei)
    	try
    		considering case
    			if (((pfad & datei) as string) is equal to ((alias (pfad & datei)) as string)) then
    				return true
    			else
    				return false
    			end if
    		end considering
    	on error
    		return false
    	end try
    end pruefeExistenz
    Du sollst nicht den Handler zerstören.
    In diesem werden keine Benutzermeldung eingearbeitet ;)

    Viele Grüße
     
  18. sedna

    sedna Pomme Etrangle

    Dabei seit:
    22.10.08
    Beiträge:
    911
    Grundlagen?

    Das von dir gepostete Skript ist super. Nur wird es Bomberzocker nicht wirklich weiterhelfen, AS zu verstehen. Den Post #1 betrachtend, sehe ich, dass Bomberzocker glaubt, dass da ein Fehler von AS vorliegt. Dabei verhält sich das Skript doch wie es soll.
    16 Posts und niemand weist darauf hin?


    @Bomberzocker
    set datenbankordner to "Bla:bla:bla"
    exists datenbankordner

    Natürlich kommt jetzt ein true. Du hast datenbankordner ja in der ersten Zeile definiert.
    Selbst ohne die Abfrage würde übrigens kein Ordner erstellt werden. Wenn Du schon ins Event Protokoll schaust, dann lese es auch komplett! Da steht bestimmt was von current application
    Welches Programm erstellt (in reinem AS) Ordner im Programm "Finder"? Und fragt dort Pfade ab?
     
  19. LittlePixel

    LittlePixel Strauwalds neue Goldparmäne

    Dabei seit:
    09.07.08
    Beiträge:
    641
    Der Aufruf eines Handlers ist Grundlage.
    Daran ändert sich nichts. Ist Bestandteil jedes Tutorials. ;)
    Mehr mußte er auch nicht umsetzen.

    Auch, wenn das arrogant klingt, aber es ist Tatsache... wir sind nicht hier um Schulungen vorzunehmen.
    Probleme werden aufgeführt und andere Personen geben Hinweise oder Tipps.
    Ich habe ihm sogar das fertige Teil geschrieben. ;)

    Da unterscheiden wir uns in den Meinungen. Ist auch nicht schlimm.
    Du kannst ihm natürlich das auch erklären - das ist dann sehr nett. :)

    Viele Grüße
     
  20. LittlePixel

    LittlePixel Strauwalds neue Goldparmäne

    Dabei seit:
    09.07.08
    Beiträge:
    641
    Meinem Wissenstand nach ist (war?) "exists" auch immer fehlerhaft.
    Je nachdem, mit welcher Partitionierungstabelle die HD bestückt ist.

    Viele Grüße
     

Diese Seite empfehlen