Huggys Sammelfragenthread wegen lernen =)

  • Huhu, nach gut 2 Monaten pause interessiere ich mich wieder für Autoit =)

    Nun zu meinem Problem :hm:

    Ich gehe davon aus, das die Datei XYZ.doc (oder was auch immer) auf meinem Desktop ist.

    Da folgt nummero 1:

    Ich würde dieses Script auch gerne meinen Freunden geben, dass heisst damit die das nicht extra ergänzen müssen, gibt es eine möglichkeit, das Windows selber weiß welcher User da ist?

    Klingt kompliziert^^

    Ich meinte das wie beim Windows verzeichniss, wo %root% dafür steht..

    Ich mach mal ein Beispiel:

    ____

    script beginnt

    Script schaut welcher benutzer aktiv ist

    Script geht auf den desktop des benutzers

    Findet dort die Datei.

    Wie solll ich das erklären?^^

    Mein Desktop ist zb

    C:\Dokumente und Einstellungen\Huggy\Desktop

    Wenn jetzt zb mein bruder auf SEINEM Windows account das script ausführt, soll die datei da liegen:


    C:\Dokumente und Einstellungen\Smileyman\Desktop

    Und das er NICHT extra das script ändern muss (will ich nämlich als exe hergeben, nicht das mir das einer klaut :klatschen:)

    sondern das das Script automatisch weiß, wo sein Desktop gespeichert ist,,

    Ich hoffe ihr versteht mein Problem =(

    Am besten wäre es, wenn ein Eingabefeld kommt, das fragt wie die datei heisst, damit ich nicht immer die datei in XYZ umbennenen muss^^


    Problem nummero 2:

    Das script soll (ist ja eig. nur für meine Lernzwecke^^)
    MEINEM gmx account öffnen.
    Es soll auf email versenden klicken.

    Soweit schaff ich es :stolz_bin:

    Doch dann soll ein Eingabefeld kommen (von mir aus kann das auch sofort kommen wenn das script gestartet wird!!!)
    und in dieses Eingabefeld kommt dann die EMAIL des empfängers =)

    (Abgesehen davon ist das proggi nützlich, weil mein kleiner Bruder keinen EMAIL account haben darf wegen Virusgefahr (eltern^^) und er für die schule manchmal was an seine freunde senden muss, dass ich nicht immer kommen muss sondern dass er das alleine machen kann).

    Ich danke schonmal =) :musik1: :musik1: :musik1:

    Einmal editiert, zuletzt von huggy (29. August 2006 um 14:15)

  • Statt den Pfad direkt hinzuschreiben nimm stattdessen das Makro @DesktopDir - das ist der Pfad zum Desktop des derzeit angemeldeten Benutzers.

    Zu dem EingabeFeld:
    Schau dir mal die Funktion "Input-Box" an.
    Damit wird ein Fenster geöffnet das den User auffordert etwas einzugeben.
    Als Rückgabewert erhälst du diesen String den man dann idealerweise einer Variable zuweist um diesen dann später weiter zu benutzen.

    Edit: Tja war wohl mal wieder einer schneller...

    2 Mal editiert, zuletzt von AspirinJunkie (28. August 2006 um 14:31)

  • huhu!

    Danke für die Superschnellen antworten, das einzige was ich nicht verstanden habe ist:

    Als Rückgabewert erhälst du diesen String den man dann idealerweise einer Variable zuweist um diesen dann später weiter zu benutzen.


    meinst du das so?


    $a = IputBox("bitte den empfaenger eingeben!")
    $ans = $a

    ?

  • Ja so ähnlich - nur ohne doppelte Zuweisung - z.B. so:

    Code
    $Test = InputBox("Test", "Irgendwas eingeben")
    MsgBox(0,"",$Test)

    Edit: Leute - gehts noch ein bisschen schneller? - das waren ja Millisekunden...
    Ich werd mir wohl bald ein Skript schreiben müssen das die Antworten selbst und ultraschnell einträgt... :rofl:

    Einmal editiert, zuletzt von AspirinJunkie (28. August 2006 um 14:38)

  • Ich bedanke mich :)


    p.s

    :keks:


    *srymeinlieblingssmiley^^*

    edit..

    die 2 antwort hat mich wieder verwirrt =(

    Einmal editiert, zuletzt von huggy (28. August 2006 um 14:38)

  • nunja, sonderlich weit bin ich noch nicht, aber sofort 2 fehlermeldungen =(

    Spoiler anzeigen

    ; Zweites Lernscript von Huggy


    ______


    Die errors kommen bei den INPUTS ganz oben, irgendwelche function calls parameter bla bla bla =(

    was heisst das? =(

    bernd670: code-tags eingefügt!

    Einmal editiert, zuletzt von huggy (28. August 2006 um 15:02)

    • Offizieller Beitrag

    Hallo!

    Du musst bie InputBox mind. 2 Parameter angeben 1. Parameter = Titel des Fensters und 2. Parameter = Text im Fenster!

  • Die Input-Box benötigt mindestens 2 Parameter.
    Den ersten der den Titel angibt und als 2. den Text der angezeigt wird.

    Also wenn dann eher so:

    Code
    $dateiname = InputBox("Eingabe" ,"bitte den dateinamen eingeben")
    $empfaenger = InputBox("Eingabe" ,"Den empfäner angeben, bitte!")

    Was anderes: $dateiname benutzt du ja gar nicht im weiteren Skriptverlauf, oder kommt das noch?


    Edit: .... war ja klar.... ;)

    2 Mal editiert, zuletzt von AspirinJunkie (28. August 2006 um 15:07)

  • Ach, bei mir werdet ihr noch gaaaaanz viele möglichkeiten haben schneller zu sein, nix entschieden^^

    2 Probleme^^

    Hier nochmal mein (neuer) Code:

    Spoiler anzeigen

    ; Zweites Lernscript von Huggy


    Problem 1)

    Wenn bereits ein Firefox läuft, mininmiert er den gaaanz klein?!?!?!


    Problem 2)

    Irgendwie setzt er keine Buchstaben ein und tut nix nachdem er die seite aufgerufen hat, warum? :P

    bernd670: code-tags eingefügt!

  • Ha, hat sich erübrigt^^

    Hatte noch die WinwaitActive driinnen von der Startseite, was aber überflüssig war^^

    Jetzt läufts =)


    Bekommst trozdem nen Punkt ^^

  • ohjemine!

    Die nächsten 2 Fragen..

    Hier nochmal mein Code^^

    Spoiler anzeigen

    ; Zweites Lernscript von Huggy

    Die Mausklicks macht er ganz brav, aber anstatt das er in das empfängerfeld dasc schreibt, was ich in die box geschrieben habe, schreibt er rein
    $empfaenger & . Wie mach ich dass er das übernimmt?

    bernd670: code-tags eingefügt!

  • Mit mir wird euch nicht langweiliug, das versprech ich euch^^

    Also. Ich bin jetzt im Email verfassen berecih von GMX.

    Empfänger hat er brav eingetragen :stolz_bin:

    Er klickt in das feld wo man den Pfad zum anhang eingibt.

    Aber was jetzt?

    Den dateinamen hab ich in der Box eingegeben, doch wie ergänze ich das mit dem Pfad?

    Deine Antwort mit diesem befehl hab ich nicht verstanden, kannst du sie mir kurz reinschreiben?

    Spoiler anzeigen

    ; Zweites Lernscript von Huggy

    bernd670: Bitte Code in [ code ] und [ /code ] (ohne Leerzeichen) einschliessen!

  • Als Beispiel: du hast als Dateinamen in der InputBox beispielsweise "xzu.doc" eingegeben.
    Nun willst du später Den Pfad zum Desktop + den Dateinamen eintragen lassen.

    Dann müsstest du das so eintragen:

    Code
    Send(@DesktopDir & '\' & $Dateiname)

    @DesktopDir heißt ja nichts weiter als der Pfad zum Desktop-Verzeichnis.
    Dann müssen wir aber noch einen Schrägstricht einbauen weil dieser bei @DesktopDir nicht enthalten ist und dann halt der Dateiname.