1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Baruse

Beiträge von Baruse

  • IOM 4 - kennt/hat das jemand?

    • Baruse
    • 21. Februar 2008 um 11:34

    Hallo zusammen,

    hat jemand die 4-er Version?
    War in der Ausgabe PC Magazin DVD 01/2008 dabei.

  • Programmversionen installierter Programme

    • Baruse
    • 21. Februar 2008 um 11:18

    Hallo zusammen,

    ich bin auf diesen interessanten Beitrag gestossen.
    Gibt es dazu schon eine konkrete Lösung?
    Ich habe mir IOM schonmal angeschaut - finde ich ganz interessant, aber solch eine
    Prüfung auf bereits installierte Versionen wäre schon sehr hilfreich.

    Ich bin auch auf einen recht interessanten Ansatz gestoßen den ich hier
    mal reinstelle - hier fehlt halt noch die Prüfroutine.

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    $Form = GUICreate("Bitte auswaehlen", 350, 360) ; will create a dialog box that when displayed is centered

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel("Programme:", 10, 10, 120, 20)
    $check1 = GUICtrlCreateCheckbox("Firefox 2.0", 10, 30, 120, 20)
    $check2 = GUICtrlCreateCheckbox("7 Zip", 10, 50, 120, 20)
    $check3 = GUICtrlCreateCheckbox("CCleaner", 10, 70, 120, 20)
    $check4 = GUICtrlCreateCheckbox("FreePDF", 10, 90, 120, 20)
    $check5 = GUICtrlCreateCheckbox("Acrobat Reader 7.0.8", 10, 110, 120, 20)
    $check6 = GUICtrlCreateCheckbox("FreeUndelete", 10, 130, 120, 20)
    $check7 = GUICtrlCreateCheckbox("Open Office 2.0.4", 10, 150, 120, 20)
    $check8 = GUICtrlCreateCheckbox("Ad-Aware", 10, 170, 120, 20)
    $check9 = GUICtrlCreateCheckbox("WinRAR", 10, 190, 120, 20)
    $check10 = GUICtrlCreateCheckbox("RegCleaner", 10, 210, 120, 20)
    $check11 = GUICtrlCreateCheckbox("Total Commander 6.0", 10, 230, 120, 20)
    $check12 = GUICtrlCreateCheckbox("BurnerXP Pro 3", 10, 250, 120, 20)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel("Installierte Version:", 200, 10)

    [/autoit] [autoit][/autoit] [autoit]

    ;~ $msgbutton = GUICtrlCreateButton("msgbox", 10, 330)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState() ; will display an dialog box with checkbox

    [/autoit] [autoit][/autoit] [autoit]

    $file = GUICtrlCreateInput(@ProgramFilesDir, 10, 270, 170, 20)

    [/autoit] [autoit][/autoit] [autoit]

    $ok = GUICtrlCreateButton("Installieren", 10, 300)

    [/autoit] [autoit][/autoit] [autoit]

    $checkver = GUICtrlCreateButton("Installierte Versionen prüfen", 200, 300)

    [/autoit] [autoit][/autoit] [autoit]

    ; Run the GUI until the dialog is closed
    While 1
    $msg = GUIGetMsg()

    [/autoit] [autoit][/autoit] [autoit]

    Switch $msg

    [/autoit] [autoit][/autoit] [autoit]

    Case $ok

    [/autoit] [autoit][/autoit] [autoit]

    $pfad = GUICtrlRead($file)

    [/autoit] [autoit][/autoit] [autoit]

    FileDelete(@StartupCommonDir & "\installmenue.exe")

    [/autoit] [autoit][/autoit] [autoit]

    If GUICtrlRead($check1) = $GUI_CHECKED Then
    BlockInput(1)
    $ID = Run("Firefox20.exe")

    [/autoit] [autoit][/autoit] [autoit]

    BlockInput(0)
    ProcessWaitClose($ID)
    GUICtrlCreateLabel("Done", 150, 30, 50) ; first cell 50 width
    GUICtrlCreateLabel("C:\Programme", 200, 30, 150) ; first cell 50 width
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If GUICtrlRead($check2) = $GUI_CHECKED Then
    $ID = RunWait($_path &"\" & $_soft & "\" & "Tools\Packer\7-Zip\" & "7z457.exe /S")
    ;Installationsscript
    ProcessWaitClose($ID)
    GUICtrlCreateLabel("Done", 150, 50, 50) ; first cell 50 width
    GUICtrlCreateLabel(FileGetVersion (@ProgramFilesDir & "\7-zip\7z.exe"), 200, 50, 150) ; first cell 50 width
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If GUICtrlRead($check3) = $GUI_CHECKED Then
    $ID = ShellExecuteWait($_soft & "\" & "CCleaner.cmd")
    ;Installationsscript
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If GUICtrlRead($check4) = $GUI_CHECKED Then
    $ID = Run("gs853w32.exe")
    BlockInput(1)
    ;Installationsscript
    BlockInput(0)
    ProcessWaitClose($ID2)
    GUICtrlCreateLabel("Done", 150, 90, 50) ; first cell 50 width
    GUICtrlCreateLabel("C:\ghostskript", 200, 90, 150) ; first cell 50 width
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If GUICtrlRead($check5) = $GUI_CHECKED Then
    BlockInput(1)
    $ID = Run("Ar708de.exe /S /v/qb")
    ;Installationsscript
    BlockInput(0)
    ProcessWaitClose($ID)
    GUICtrlCreateLabel("Done", 150, 110, 50) ; first cell 50 width
    GUICtrlCreateLabel("C:\Programme", 200, 110, 150) ; first cell 50 width
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If GUICtrlRead($check6) = $GUI_CHECKED Then
    $ID = Run("freeundelete.exe")
    BlockInput(1)
    ;Installationsscript
    BlockInput(0)
    ProcessWaitClose($ID)
    GUICtrlCreateLabel("Done", 150, 130, 50) ; first cell 50 width
    GUICtrlCreateLabel($pfad, 200, 130, 150) ; first cell 50 width
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If GUICtrlRead($check7) = $GUI_CHECKED Then
    BlockInput(1)
    $ID = RunWait("OO204.exe /S /D=" $pfad & "\Open Office""")
    ;Installationsscript
    BlockInput(0)
    ProcessWaitClose($ID)
    GUICtrlCreateLabel("Done", 150, 150, 50) ; first cell 50 width
    GUICtrlCreateLabel($pfad, 200, 150, 150) ; first cell 50 width
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If GUICtrlRead($check8) = $GUI_CHECKED Then
    BlockInput(1)
    $ID = Run("aawsepersonal.exe")
    ;Installationsscript
    BlockInput(0)
    ProcessWaitClose($ID)
    GUICtrlCreateLabel("Done", 150, 170, 50) ; first cell 50 width
    GUICtrlCreateLabel($pfad, 200, 170, 150) ; first cell 50 width
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If GUICtrlRead($check9) = $GUI_CHECKED Then
    BlockInput(1)
    $ID = Run("wrar361.exe")
    ;Installationsscript
    BlockInput(0)
    ProcessWaitClose($ID)
    GUICtrlCreateLabel("Done", 150, 190, 50) ; first cell 50 width
    GUICtrlCreateLabel($pfad, 200, 190, 150) ; first cell 50 width
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If GUICtrlRead($check10) = $GUI_CHECKED Then
    BlockInput(1)
    $ID = Run("RegCleaner.exe")
    ;Installationsscript
    BlockInput(0)
    ProcessWaitClose($ID)
    GUICtrlCreateLabel("Done", 150, 210, 50) ; first cell 50 width
    GUICtrlCreateLabel($pfad, 200, 210, 150) ; first cell 50 width
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If GUICtrlRead($check11) = $GUI_CHECKED Then
    BlockInput(1)
    $ID = Run("totalcommander60.exe")
    ;Installationsscript
    BlockInput(0)
    ProcessWaitClose($ID)
    GUICtrlCreateLabel("Done", 150, 230, 50) ; first cell 50 width
    GUICtrlCreateLabel($pfad, 200, 230, 150) ; first cell 50 width
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If GUICtrlRead($check12) = $GUI_CHECKED Then
    $ID = Run("xpburner.exe")
    BlockInput(1)
    ;Installationsscript
    BlockInput(0)
    ProcessWaitClose($ID)
    GUICtrlCreateLabel("Done", 150, 250, 50) ; first cell 50 width
    GUICtrlCreateLabel($pfad, 200, 250, 150) ; first cell 50 width
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Case $GUI_EVENT_CLOSE
    ExitLoop

    [/autoit] [autoit][/autoit] [autoit]

    ;~ Case $msgbutton
    $output = ''

    [/autoit] [autoit][/autoit] [autoit]

    For $x = 1 To 11 Step 1
    If GUICtrlRead(Eval("check" & $x)) = $GUI_CHECKED Then $output = $output & ControlGetText($Form, '', Eval("check" & $x)) & @CRLF
    Next
    msgbox(0,"",$output)
    EndSwitch
    WEnd

    [/autoit]
  • Variablen einlesen

    • Baruse
    • 26. Oktober 2007 um 14:54

    ich werde das jetzt ganz anders lösen;
    im Prinzip ändert sich meist nur die Route und die kann ich grundsätzlich
    ja abfragen.

    Ich denke wahrscheinlich noch zu sehr in Batch ;)

    Wenn ein Pfad hinzukommt, compiliere ich halt neu.

    VG und vielen Dank an Alle!
    Jörg

  • Variablen einlesen

    • Baruse
    • 26. Oktober 2007 um 13:48

    ...dazu muß aber AutoIt installiert sein

  • Variablen einlesen

    • Baruse
    • 26. Oktober 2007 um 13:10

    die Idee mit der ini stammt nicht von mir - das wurde halt hier genannt.
    na OK - wenn es nicht geht, dann geht es halt nicht;
    das ist zumindest mal 'ne klare Aussage.

  • Variablen einlesen

    • Baruse
    • 26. Oktober 2007 um 11:53
    Zitat

    Original von peethebee
    Meine Frage, was und warum du machen willst, hast du immer noch nicht beantwortet.
    peethebee

    hm - ich weiß jetzt echt nicht was ich darauf sagen soll...
    ich definiere Variablen - das sind in aller Regel Verzeichnisstrukturen.
    Diese lese ich per #include in mein(e) Script(e) ein;
    Das Script kopiert Dateien, führt kleine Installationen und Updates durch.
    Die Verzeichnisstruktur der Sourcedaten kann sich aber ändern.

    Vorteile:
    ich definiere die Variablen einmal und nicht in jedem Script.
    bei Änderungen/Erweiterungen ändere ich nur an einer Stelle

    kleiner Nachteil und Grund dieses Threads:
    - bei Änderungen/Erweiterungen an der var.au3 muß das Script, welches den
    #include Befehl enthält, neu compiliert werden.

    Ich habe das bisher halt mit einer Batchdatei gemacht und möchte dies in
    AutoIt übertragen, weil ich da mehr Möglichkeiten sehe.

  • Variablen einlesen

    • Baruse
    • 26. Oktober 2007 um 11:23

    ja schon, aber ich kann doch die Variable nicht mehr direkt ansprechen;
    ich brauche immer die Zeilennummer.

  • Variablen einlesen

    • Baruse
    • 26. Oktober 2007 um 10:26

    warum klappt das dann, wenn ich im Script direkt die Variablen definiere?
    Es ist sogar recht wahrscheinlich, daß ich Programmabläufe (noch) nicht
    verstanden habe - deswegen stelle ich hier ja meine Fragen, die mir bis jetzt
    auch absolut klasse beantwortet wurden.
    Warum sich dieser Thread zu solch einem Fiasko entwickelt, ist mir schleierhaft.

    Im Script direkt definiere ich:
    $_pro="Projekte"
    $_war="Wartung"
    $_tool="Tools"
    $_brow="Browser"
    $_back="Backup"
    $_graf="Grafik"
    $_save="Sicherheit"
    $_opt="Optimierung"
    $_desk="WinDesktop"
    $_short=$_war & "\" & $_pro & "\Copy_Shortcuts"
    $_temp=$_war & "\" & $_pro & "\Tempfolder"

    ein simpler Test mit MsgBox(0, "", $_temp) ergibt Wartung\Projekte\Tempfolder

    Mit der ini klappt das nicht und das verstehe ich nicht.

  • Variablen einlesen

    • Baruse
    • 26. Oktober 2007 um 10:07

    brauchst Dich ja nicht mit diesem Thread zu beschäftigen, wenn Dir mein
    Ton nicht passt.
    Ich hab auch mit keiner Silbe erwähnt, eine ini zu compilieren.
    Es geht um ein Script, welches bei Deiner "Lösung" neben dem Neucompilieren
    zusätzlich bei jeder Änderung der ini auch noch mit Daten versorgt werden
    müsste.

  • Variablen einlesen

    • Baruse
    • 26. Oktober 2007 um 09:52

    sehr sinnig :(

    ich suche nach einer Möglichkeit, mir das compilieren zu ersparen und
    Du schlägst mir sowas vor...
    Na vielleicht hat ja jemand noch die zündende Idee!?

  • Variablen einlesen

    • Baruse
    • 26. Oktober 2007 um 09:43

    dann muß ich ja jede Variable doppelt anlegen!
    Das ist doch totaler Quatsch.

  • Variablen einlesen

    • Baruse
    • 26. Oktober 2007 um 09:24

    das wird glaub ich uferlos;
    peethebee : ich schlage natürlich die Hilfe nach, kann aber "Assign" nicht als
    meinen Problemlöser erkennen;
    @Vollnoob: auch bei "Dim" kann ich nicht erkennen, wie ich es für mein
    "Problem" einsetzen sollte;

    also nochmal:
    ich habe eine Datei "var.au3" mit folgendem Inhalt:
    $_pro="Projekte"
    $_war="Wartung"
    $_tool="Tools"
    $_brow="Browser"

    Diese wird per #include "var.au3"
    integriert;
    wenn sich nun am Inhalt dieser "var.au3" etwas ändert, dann muß ich neu
    compilieren;
    wie kann ich das verhindern?
    In einer Batchdatei sage ich an der Stelle einfach: call var.bat - und gut.

    VG
    Jörg

  • Variablen einlesen

    • Baruse
    • 26. Oktober 2007 um 09:01

    hm peethebee - was willst Du mir damit sagen?
    ich hab ja nichts gegen kurze und prägnante Aussagen, aber einfach so
    'ne Funktion hier reinzuwerfen...

    anscheinend gibt's nicht das was ich suche, oder ich drücke mich zu undeutlich aus...

    VG
    Jörg

  • Variablen einlesen

    • Baruse
    • 26. Oktober 2007 um 00:43

    na gut, aber für meinen Zweck ist das doch gar nicht brauchbar:
    ich definiere einerseits Variablen, die (für mich) einen logischen Namen haben
    (z.B. $_save für "Sicherheit")
    Mit diesen Arrays muß ich nun aber die Zeilennummer abfragen:
    $var[1][1]
    das führt aber den Sinn einer Variable ad absurdum - was nun, wenn ich zwischen zwei Variablen eine weitere einfüge?
    Dann stimmt gar nix mehr;
    ich spiel das mal weiter:
    [var]
    $_pro="Projekte"
    $_war="Wartung"
    $_tool="Tools"
    $_brow="Browser"
    $_back="Backup"
    $_graf="Grafik"
    $_save="Sicherheit"
    $_opt="Optimierung"
    $_desk="WinDesktop"
    $_short=$_war & "\" & $_pro & "\Copy_Shortcuts"
    $_temp=$_war & "\" & $_pro & "\Tempfolder"

    $var[11][1] ergibt nun den für mich nicht brauchbaren String
    $_war & "\" & $_pro & "\Tempfolder"

    Arbeite ich hingegen mit #include, dann kommt hier richtig
    Wartung\Projekte\Tempfolder heraus.

  • Variablen einlesen

    • Baruse
    • 26. Oktober 2007 um 00:17

    Das Beispiel hab ich natürlich gesehen und ausprobiert;
    sorry, aber mir hilft dieses Beispiel nicht, weil ich es überhaupt nicht verstehe.

  • Variablen einlesen

    • Baruse
    • 26. Oktober 2007 um 00:04

    hm - nur so einfach isses wohl nicht:

    IniReadSection("var.ini", "var")

    wobei die var.ini so aussieht:

    [var]
    $_save="Sicherheit"
    $_opt="Optimierung"

    die Hilfe sagt dazu:
    Gibt ein 2-dimensionales Array zurück, in dem element[n][0] der Schlüssel und element[n][1] der Wert ist.

    Was um alles in der Welt ist nun ein Array und wie gehe ich damit um?

    Gibt's nicht was einfaches wie #include, nur soll es halt jedesmal eingelesen werden?

    VG
    Jörg

  • Wie Verzeichnis wechseln

    • Baruse
    • 25. Oktober 2007 um 23:29

    Eigentlich ganz einfach - filechangedir hatte ich irgendwie total übersehen.

    Vielen Dank!

  • Variablen einlesen

    • Baruse
    • 25. Oktober 2007 um 23:28

    Hallo zusammen,

    bis jetzt habe ich Variablen in einer Datei "Var.au3", die ich mit #include fest
    einbinde;
    wenn nun eine Variable hinzukommt, dann muß ich ja jedesmal neu compilieren;
    welche Möglichkeit bietet mir AutoIt bei diesem Problem(chen)?
    Habe schon iniread und fileread probiert, klappt aber leider net.

    VG
    Jörg

  • Wie Verzeichnis wechseln

    • Baruse
    • 25. Oktober 2007 um 17:15

    wie .. ?
    @workingdir&".." geht nicht
    @workingdir.. geht nicht
    ".."&@workingdir geht nicht
    ..@workingdir geht nicht

  • Wie Verzeichnis wechseln

    • Baruse
    • 25. Oktober 2007 um 16:51

    Hallo zusammen,

    wie kann man in ein übergeordnetes Verzeichnis wechseln - siehe "cd.." ?
    Mein Script läuft z.B. im Ordner E:\Software\Scripts\ (=@workingdir);
    habe ich das nun auf einem USB Stick, könnte sich der Pfad wie folgt ändern:
    G:\Projekte\Software\Scripts\ - das ergibt eine neue @workingdir;
    nun will ich aus dem Script z.B auf eine Datei in der Ebene \Software\ zugreifen.
    Wie mache ich das?

    VG
    Jörg

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™