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. Schnitzel

Beiträge von Schnitzel

  • 2D-Array - Array in Array?

    • Schnitzel
    • 1. Oktober 2010 um 10:12

    IniRead wird hier nichts helfen da es keine Standard Ini's sind

    so würds aber gehen:
    (ist quick and dirty und einige Fehlerabfragen sollten noch rein)

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <File.au3>

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

    Dim $File1, $File2, $File3
    _FileReadToArray(@ScriptDir & "\eins.ini", $File1)
    _FileReadToArray(@ScriptDir & "\zwei.ini", $File2)
    _FileReadToArray(@ScriptDir & "\drei.ini", $File3)

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

    $kleinste = $File1[0]
    If $File2[0] < $kleinste Then $kleinste = $File2[0]
    If $File3[0] < $kleinste Then $kleinste = $File3[0]

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

    Dim $Files2d[$kleinste+1][3]

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

    For $i = 1 To $kleinste
    $Files2d[$i][0] = $File1[$i]
    $Files2d[$i][1] = $File2[$i]
    $Files2d[$i][2] = $File3[$i]
    Next

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

    $Files2d[0][0] = $kleinste

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

    _ArrayDisplay($Files2d)

    [/autoit]
  • 2D-Array - Array in Array?

    • Schnitzel
    • 1. Oktober 2010 um 09:53

    Spoiler machst du mit diesem Icon: [Blockierte Grafik: http://www.autoit.de/wcf/icon/wysiwyg/insertSpoilerM.png]
    Also einfach [S poiler][a utoit][/a utoit][S poiler] (ohne die leerzeichen^^)

    also haben die ini's keinen Standard ini Aufbau?

    also so:

    Code
    [Sektion]
    Key=Wert
  • Mehrere Ordner auslesen und bearbeiten

    • Schnitzel
    • 1. Oktober 2010 um 09:46

    Alles kein Problem:

    Wobei ich dazusagen muss dass der Quellcode nicht perfekt ist.
    Ist eher auf die schnelle gemacht. Kann gut sein dass sich manche Sachen noch verbessern lassen

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    Opt("TrayMenuMode", 1) ; Default tray menu items (Script Paused/Exit) will not be shown.

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

    $aClubs = IniReadSectionNames(@ScriptDir & "\Clubs.ini")
    Dim $aButtons[$aClubs[0]]
    Dim $aClubAktuell[1][1]

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

    $Form1 = GUICreate("Comunio Plus (BETA) " & IniRead(@ScriptDir & '\version.ini', 'Allgemein', 'Version', ''), 809, 530, -1, -1)
    GUISetFont(8, 400, 0, "Verdana")
    GUISetBkColor(0x013300)
    For $i = 0 To $aClubs[0]-1
    $aButtons[$i] = GUICtrlCreateButton($aClubs[$i+1], 4, 4+$i*28, 131, 29, 0)
    Next
    $ListView1 = GUICtrlCreateListView("", 136, 4, 321, 505)
    _GUICtrlListView_InsertColumn($ListView1, 0, "Name", 90); _GUICtrlListView_SetColumnWidth brauchst du nicht weil du hier auch die breite angeben kannst ;->)
    _GUICtrlListView_InsertColumn($ListView1, 1, "Position", 70)
    _GUICtrlListView_InsertColumn($ListView1, 2, "Besitzer", 90)
    _GUICtrlListView_InsertColumn($ListView1, 3, "Punkte", 58)
    $ListView2 = GUICtrlCreateListView("", 460, 52, 345, 420)
    _GUICtrlListView_InsertColumn($ListView2, 0, "Spalte 1", 75)
    _GUICtrlListView_InsertColumn($ListView2, 1, "Spalte 2", 75)
    _GUICtrlListView_InsertColumn($ListView2, 2, "Spalte 3", 75)
    _GUICtrlListView_InsertColumn($ListView2, 3, "Spalte 4", 95)
    $Button19 = GUICtrlCreateButton("Ausgabe Löschen", 460, 476, 109, 33, 0)
    $Button20 = GUICtrlCreateButton("Meine Team", 568, 476, 109, 33, 0)
    $Button21 = GUICtrlCreateButton("Speichern", 676, 476, 103, 33, 0)
    $Menudatei = GUICtrlCreateMenu("Datei")
    $Menubeenden = GUICtrlCreateMenuItem("Beenden", $Menudatei)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE, $Menubeenden ; Exit
    $close = MsgBox(36, "Schließen", "Wollen Sie das Pogramm wirklich beenden?")
    If $close = 6 Then Exit
    Case $GUI_EVENT_PRIMARYUP
    $aInfo = GUIGetCursorInfo($Form1)
    If $aInfo[4] = $ListView1 Then
    $sItem = GUICtrlRead(GUICtrlRead($ListView1))
    If $sItem Then
    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView2))
    $sSpieler = StringLeft($sItem, StringInStr($sItem, "|") - 1 )
    $sSpielerInfo = IniReadSection(@ScriptDir & "\Spieler.ini", $sSpieler)
    If IsArray($sSpielerInfo) Then
    For $i = 1 To $sSpielerInfo[0][0]
    GUICtrlCreateListViewItem($sSpielerInfo[$i][1], $ListView2)
    Next
    EndIf
    EndIf
    EndIf
    Case $aButtons[0] To $aButtons[UBound($aButtons)-1]
    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))
    $iClubId = $nMsg - $aButtons[0] + 1
    $aClubAktuell = IniReadSection(@ScriptDir & "\Clubs.ini", $aClubs[$iClubId])
    If IsArray($aClubAktuell) Then
    For $i = 1 To $aClubAktuell[0][0]
    $aClubAktuell[$i][0] = GUICtrlCreateListViewItem($aClubAktuell[$i][1], $ListView1)
    Next
    EndIf
    EndSwitch
    WEnd

    [/autoit]
  • 2D-Array - Array in Array?

    • Schnitzel
    • 1. Oktober 2010 um 09:10
    Zitat von Scritch

    So, hoffe das war jetz etwas präziser :)

    Naja nicht wirklich. Am besten wäre:
    -Die Dateien hochladen (oder abgeänderte Dateien wegen Datenschutz)
    -genau angeben wie das Array aussehen soll z.B.

    [autoit]


    $array[x] = Datei1 Zeile x|Datei2 Zeile x|Datei3 Zeile x
    ; oder
    $array[x][0] = Datei1 Zeile x
    $array[x][1] = Datei2 Zeile x
    $array[x][2] = Datei3 Zeile x

    [/autoit]
    Zitat

    Ein Fehlermeldung wurde mir nach dem Erstellen des ersten Threads ausgegeben -

    Wie schon im anderen Thread beschrieben:

    Zitat

    Bitte schon bisschen Lesen was da drinsteht^^
    Das is nämlich keine Fehlermeldung gewesen sondern eine Benachrichtigung.
    Müsste in etwa sowas stehen wie: Der Thread muss erst von einem Administrator freigeschalten werden
    (das ist bei neuen Usern so weil viele sich angemeldet haben um irgendwelche Werbung zu posten oder sich einfach nicht an die Forenregeln hielten)

  • In ext. Datei nach Wörtern suchen

    • Schnitzel
    • 1. Oktober 2010 um 09:01
    Zitat von Scritch

    Naja, wenn mir die Seite einen Fehler ausgibt, dass ich nicht berechtigt sei

    Bitte schon bisschen Lesen was da drinsteht^^
    Das is nämlich keine Fehlermeldung gewesen sondern eine Benachrichtigung.
    Müsste in etwa sowas stehen wie: Der Thread muss erst von einem Administrator freigeschalten werden
    (das ist bei neuen Usern so weil viele sich angemeldet haben um irgendwelche Werbung zu posten oder sich einfach nicht an die Forenregeln hielten)

  • Mausklick links, dann...

    • Schnitzel
    • 30. September 2010 um 11:54

    Für was brauchste das ganze denn?
    Ich glaub etwas bei Markierung ausführen ist doch sehr unpraktisch und fehleranfällig

  • Mausklick links, dann...

    • Schnitzel
    • 30. September 2010 um 11:33

    wahrscheinlich brauchst du es eher so:

    [autoit]

    #Include <Misc.au3>
    do
    sleep(50)
    until _IsPressed(01)
    Send("Mein Text")

    [/autoit]
  • Mausklick links, dann...

    • Schnitzel
    • 30. September 2010 um 11:06

    MouseClick ist ja auch dazu da um zu klicken :D

    Du brauchst

    [autoit]

    _IsPressed

    [/autoit]
  • Im Skript Variablen übergeben

    • Schnitzel
    • 30. September 2010 um 11:03

    Also das ganze ist ein Batch-Skript.
    ich versuchs mal zu erklären^^

    @echo off
    Die Befehle die von der Batch ausgeführt werden, werden nicht extra im Dos-Fenster angezeigt

    set "Verzeichnis=%~1\"
    Setze den übergebenen Pfad als Verzeichnis (der Pfad wird über die Kommandozeile übergeben, in autoit wäre das $CMDLine)

    if "%~1"=="" set Verzeichnis=
    Wenn kein Verzeichnis über die Kommandozeile übergeben wurde dann setze keinen wert für die Variable Verzeichnis

    for %%f in ("%Verzeichnis%*.pdf") do
    Einfach gesagt: für jedes %%f mache das was hinter do steht
    für %%f werden alle PDF's im %Verzeichnis% verwendet (sieht man an dem *.pdf)

    do gswin32.exe -I"C:\Programme\gs\gs8.53\bin\;C:\Programme\gs\fonts" -sDEVICE=bmp256 -r100x100 -dNOPAUSE -sOutputFile="%%~dpnf.bmp" "%%f" -c quit

    Damit wird die gswin32.exe mit den parametern aufgerufen.
    Alle Parameter findest du hier:
    http://pages.cs.wisc.edu/~ghost/doc/cvs/Use.htm#Options

    Edit: Wie chip schon sagt: Eigentlich hat das im AutoIt Bereich nichts zu suchen

  • Mehrere Ordner auslesen und bearbeiten

    • Schnitzel
    • 30. September 2010 um 10:41

    Hatte gerade langeweile, deshalb hab ich dir ein Schema erstellt wie man es lösen könnte.
    Die ini dateien hab ich natürlich nicht vollständig ausgefüllt weil ich keine Lust hab für alle Teams die Spieler rauszusuchen ^^
    Die Arbeit überlass ich dir ;)

    Ansonsten hier die 3 dateien: Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Für alle zum ansehen:

    Clubs.ini

    [1. FC Kaiserslauter]
    0=Knaller|Tor|Computer|0
    1=Sippel|Tor|Computer|6
    2=Trapp|Tor|Computer|0
    3=Abel|Abwehr|Computer|0
    4=Amedick|Abwehr|Computer|2
    5=Bugera|Abwehr|Computer|0
    6=Correia|Abwehr|Computer|0
    7=Dick|Abwehr|Computer|8
    8=Jessen|Abwehr|Computer|-2
    9=Petsos|Abwehr|Computer|0
    10=Rodnei|Abwehr|Computer|18
    11=Simunek|Abwehr|Computer|0
    12=B. Schulz|Mittelfeld|Computer|0
    13=Bilek|Mittelfeld|Computer|8
    14=D. Fuchs|Mittelfeld|Computer|0
    15=de Wit|Mittelfeld|Computer|0
    16=Ilicevic|Mittelfeld|Computer|23
    17=Kirch|Mittelfeld|Computer|-8
    18=Moravek|Mittelfeld|Computer|4
    19=Rivic|Mittelfeld|Computer|-2
    20=Stulin|Mittelfeld|Computer|0
    21=Tiffert|Mittelfeld|Computer|16
    22=Walch|Mittelfeld|Computer|0
    23=Amri|Sturm|Computer|-2
    24=Hoffer|Sturm|Computer|16
    25=Lakic|Sturm|Computer|36
    26=Micanski|Sturm|Computer|-2
    27=Nemec|Sturm|Computer|0
    [1. FC Nürnberg]
    [1. FC Köln]
    [1. FSV Mainz 05]
    [Bayer 04 Leverkusen]
    [1899 Hoffenheim]
    [Eintracht Frankfurt]
    [Borussia M'gladbach]
    [Borussia Dortmund]
    [FC Bayern München]
    [FC St. Pauli]
    [FC Schalke 04]
    [Hamburger SV]
    [SC Freiburg]
    [Hannover 96]
    [SV Werder Bremen]
    [VfL Wolfsburg]
    [VfB Stuttgart]

    Spieler.ini


    [Spielertext]
    Knaller=Der Text von Knaller
    Sippel=Auch Sippel Hat nen Text
    Trapp=Trapp genauso

    Das Script
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    Opt("TrayMenuMode", 1) ; Default tray menu items (Script Paused/Exit) will not be shown.

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

    $aClubs = IniReadSectionNames(@ScriptDir & "\Clubs.ini")
    Dim $aButtons[$aClubs[0]]
    Dim $aClubAktuell[1][1]

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

    $Form1 = GUICreate("Comunio Plus (BETA) " & IniRead(@ScriptDir & '\version.ini', 'Allgemein', 'Version', ''), 809, 530, -1, -1)
    GUISetFont(8, 400, 0, "Verdana")
    GUISetBkColor(0x013300)
    For $i = 0 To $aClubs[0]-1
    $aButtons[$i] = GUICtrlCreateButton($aClubs[$i+1], 4, 4+$i*28, 131, 29, 0)
    Next
    $ListView1 = GUICtrlCreateListView("", 136, 4, 321, 505)
    _GUICtrlListView_InsertColumn($ListView1, 0, "Name", 100)
    _GUICtrlListView_InsertColumn($ListView1, 1, "Position", 100)
    _GUICtrlListView_InsertColumn($ListView1, 2, "Besitzer", 100)
    _GUICtrlListView_InsertColumn($ListView1, 3, "Punkte", 100)
    _GUICtrlListView_SetColumnWidth($ListView1, 0, 90)
    _GUICtrlListView_SetColumnWidth($ListView1, 1, 75)
    _GUICtrlListView_SetColumnWidth($ListView1, 2, 80)
    _GUICtrlListView_SetColumnWidth($ListView1, 3, 53)
    $Edit1 = GUICtrlCreateEdit("", 460, 52, 341, 421)
    $Button19 = GUICtrlCreateButton("Ausgabe Löschen", 460, 476, 109, 33, 0)
    $Button20 = GUICtrlCreateButton("Meine Team", 568, 476, 109, 33, 0)
    $Button21 = GUICtrlCreateButton("Speichern", 676, 476, 103, 33, 0)
    $Menudatei = GUICtrlCreateMenu("Datei")
    $Menubeenden = GUICtrlCreateMenuItem("Beenden", $Menudatei)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE ; Exit
    $close = MsgBox(36, "Schließen", "Wollen Sie das Pogramm wirklich beenden?")
    If $close = 6 Then Exit
    Case $GUI_EVENT_PRIMARYUP
    $aInfo = GUIGetCursorInfo($Form1)
    If $aInfo[4] = $ListView1 Then
    $sItem = GUICtrlRead(GUICtrlRead($ListView1))
    If $sItem Then
    $sSpieler = StringLeft($sItem, StringInStr($sItem, "|") - 1 )
    $sSpielertext = IniRead(@ScriptDir & "\Spieler.ini", "Spielertext", $sSpieler, "Kein Text vorhanden")
    GUICtrlSetData($Edit1, $sSpielertext)
    EndIf
    EndIf
    Case $aButtons[0] To $aButtons[UBound($aButtons)-1]
    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))
    $iClubId = $nMsg - $aButtons[0] + 1
    $aClubAktuell = IniReadSection(@ScriptDir & "\Clubs.ini", $aClubs[$iClubId])
    If IsArray($aClubAktuell) Then
    For $i = 1 To $aClubAktuell[0][0]
    $aClubAktuell[$i][0] = GUICtrlCreateListViewItem($aClubAktuell[$i][1], $ListView1)
    Next
    EndIf
    EndSwitch
    WEnd

    [/autoit]

    Dateien

    Clubs.zip 2 kB – 203 Downloads
  • ein neuer autoitler

    • Schnitzel
    • 29. September 2010 um 21:24

    Herzlich Willkommen und viel Spaß im Forum ;)

  • Download von Datein vom FTP

    • Schnitzel
    • 29. September 2010 um 19:13

    Also über ftp geht es wahrscheinlich am leichtesten.
    Schau dir doch einfach mal die _FTP-Funktionen in der Hilfe an
    z.B.

    [autoit]

    _FTP_ListToArray

    [/autoit]

    Wie du ne gui machst weißt du ja wahrscheinlich.
    Und downloaden ist auch kein Problem ;)

  • Download von Datein vom FTP

    • Schnitzel
    • 29. September 2010 um 18:52
    Zitat von Evolutio

    Hallo,
    ich ahbe da mal ne Frage, undzwar ob man etwas on nem FTP in einem Objeckt wiedergeben kann, und iin eine Liste Wieder Gibt.
    Und Man diese dan mitm Häckchen Machen kann, die man Haben Möchte.
    MFG Evo


    So und jetz nochmal gut formuliert und in Deutsch bitte.
    Was willst du genau?

  • Dircopy warte funktion bis fertig?

    • Schnitzel
    • 29. September 2010 um 18:35
    Zitat von Dietmar

    ähm und wozu ist dann

    Ok kannt ich nicht^^

    viele Wege führn nach Rom.

  • paket sender

    • Schnitzel
    • 29. September 2010 um 12:57
    Zitat von taube

    error :( bin zu doof dazu kann mir da einer so schreiben das ich es nur abkopieren muss ??? büdde


    1. Hast du schon Grundkenntnisse vom Programmieren/Skripten?
    2. Verstehst du grundsätzlich die Befehle die du verwendest?
    3. Verwendest du die Hilfe?

    Verbessere mich wenn ich falsch liege aber ich denke auf alle 3 Fragen ist die antwort nein.
    Das Projekt ist einfach zu schwer für einen Anfänger.
    Starte mit etwas leichtem.
    Hilfestellungen findest du in meiner Signatur

  • paket sender

    • Schnitzel
    • 29. September 2010 um 12:42
    [autoit]

    TCPConnect("78.47.41.142","80")

    [/autoit]
  • Ini doppelte Einträge entfernen

    • Schnitzel
    • 29. September 2010 um 12:21
    Zitat von Andy

    die Frage ist ja nicht, wie (1)doppelte Einträge in der INI gelöscht werden können, sondern (2)wieso überhaupt doppelte Einträge in die INI eingetragen werden!
    Wenn du (2) löst, musst du dir über 81) garkeine Gedanken machen....

    So kann mans auch sagen ^^
    Wie unser Lehrer immer gesagt hat: "Redundanz ist der größte Feind eurer Datenbanken"

    Grundsätzlich isses immer gut mit InireadSection zu arbeiten wenn die Anzahl der Einträge variabel ist
    Mit etwas Array-Kenntnissen kannst du dann schöne dynamische Programme schreiben ;)

  • Helferlein bei der Arbeit

    • Schnitzel
    • 29. September 2010 um 12:14

    poste doch bitte mal den Code mit dem du es probiert hast.
    Hab zwar noch nicht mit der outlook.au3 gearbeitet aber vllt erkennt man den Fehler ja.

    PS: pushen nach 4 stunden ist viel zu früh -.-

  • Ini doppelte Einträge entfernen

    • Schnitzel
    • 29. September 2010 um 12:04

    Eine allgemeine Lösung dafür gibt es nicht.

    Hier ein quick and dirty script das es aber erledigen würde:

    Spoiler anzeigen
    [autoit]

    $start = IniReadSection("test.ini", "Startseite")
    $titel = IniReadSection("test.ini", "Titel")

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

    For $i = 1 To $start[0][0] - 1
    For $k = $i + 1 To $start[0][0]
    ; MsgBox(0,$i & " " & $k, "Vergleiche " & $start[$i][1] & " mit " & $start[$k][1] & @CRLF & "und " &$titel[$i][1] & " mit " & $titel[$k][1])
    If $start[$i][1] = $start[$k][1] And $titel[$i][1] = $titel[$k][1] Then
    IniDelete("test.ini", "Startseite", $k)
    IniDelete("test.ini", "Titel", $k)
    EndIf
    Next
    Next

    [/autoit]


    Da gehören aber noch Fallabfragen hinehin um Fehler zu vermeiden.
    Zumindest wenn du es wirklich so hernehmen willst.

    An deiner Stelle würde ich aber die ini umbauen.
    So in der Art könnte es möglich sein (Je nachdem wie du es genau brauchst)

    Spoiler anzeigen

    [Startseite]
    http://www.Hunde.de=Hunde
    http://www.Welpen.de=Welpen
    http://www.Hundewelt.de=Hundewelt
    http://www.Hunde.com=Hunde

    Dann hast du das problem mit den doppelten Einträgen gleich garnichtmehr.
    Und mit InireadSection kannst du alles auf einmal einlesen

    Gruß
    Schnitzel

  • Programme in 1 Programm zusammen zufügen

    • Schnitzel
    • 29. September 2010 um 11:18
    Zitat von Dietmar

    Mit system32 ist nicht dein Ernst, oder.

    Sehe ich genauso. Ich hasse es wenn mir Programme das System zumüllen.
    Genauso mit Registry-Keys und anderen Müll.

    Zitat von Snues

    laut Taskmanager Datei1 läuft und darunter kommt Datei1 auch nochmal und verschwindet und kommt und verschwindet

    Da kann man dir nur schwer helfen weil keiner von uns weiß was Datei1 macht.
    Ich denke nicht das es ein Problem von autoit ist.
    Bzw von deinen 7 Zeilen Code.

    Du könntest höchstens andere Pfade testen (Wie Dietmar schon sagt bietet sich Temp an) und mal Shellexecute verwenden.

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™