Neueste Dokumente kopieren

    • Offizieller Beitrag
    [autoit]

    #include <Array.au3>
    Global $3d_A[3][3] = [[11,21,31],[12,22,32],[13,23, 33]]
    _ArrayDisplay($3d_A)

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

    Global $1d[UBound($3d_A)]

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

    For $i = 0 To UBound($3d_A, 1) -1
    $1d[$i] = $3d_A[$i][0]
    Next

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

    _ArrayDisplay($1d)

    [/autoit]
  • Hallo


    vielen Dank für deine Hilfe.

    Ich bin fast fertig mit dem Programm. Habe mir noch von BugFix die _getIntersection Funktion geholt um die Arrays zu vergleichen und Fehlmengen zu bekommen. Funktioniert alles wie gewollt bisher.


    Eine Sasche steht noch aus, und da steh ich grad im Wald wie ich das am besten lösen könnte.


    Ich habe eine Datei mit gefundenen Artikelnummern (gefunden.txt)

    73940
    85559
    63355
    63106


    Des weiteren habe ich eine TXT Datei in der sowohl der Dateiname, Artikelnummer, wie auch das Änderungsdatum steht.

    L-1207701.doc,63955,20050531114931
    L-1207702.doc,63359,20050523104621
    L-1207703.doc,63355,20050511114138
    L-1207704.doc,63106,20050429121558


    Nun sind die Artikelnummern in den beiden Dateien nicht immer gleich. Ich möchte nun die Artikelnummern die in der gefunden.txt stehen in der Ergebnis.txt suchen. Wenn gefunden (muss so sein, da in der Ergebnis.txt auf alle Fälle alles steht) den Dateinamen extrahieren (L-1207701.doc) und per Filecopy diese Datei in einen definierten Ordner kopieren. Dateien liegen alle im @scriptdir.


    Momentan find ich den Ansatz nicht wie ich das anpacken soll. Hat jemand einen kleinen Tip ?


    Versprochen: ich bin auch bald fertig :)


    Danke sehr

    • Offizieller Beitrag

    Hi,

    wieder ne kleine Hilfe

    Spoiler anzeigen
    [autoit]

    Global $toFind = StringSplit('73940,85559,63355,63106', ',')

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

    ; das kannst du natürlich mit FileRead einlesen.
    $dateiInhalt = 'L-1207701.doc,63955,20050531114931' & @CRLF & _
    'L-1207702.doc,63359,20050523104621' & @CRLF & _
    'L-1207703.doc,63355,20050511114138' & @CRLF & _
    'L-1207704.doc,63106,20050429121558'

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

    For $i = 0 To UBound($toFind) - 1
    ConsoleWrite(_getFilenameFromID($toFind[$i]) & @CRLF)
    Next

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

    Func _getFilenameFromID($id)
    Local $filename_A = StringRegExp($dateiInhalt, '(\w-\d+\.\w+),' & $id, 3)
    If @error > 0 Then Return 0
    Return $filename_A[0]
    EndFunc ;==>_getFilenameFromID

    [/autoit]

    Mega

  • Hallo


    wie kann ich den ein Array redimensonieren. Probiere das mit Redim,aber er willt nicht so


    Habe ein Array das auf 80 Werte aufnehmen kann, tatsächlich sind aber nur 20 belegt. Wieviele aber immer belegt sind kann ich nicht genau sagen, hängt davon ab wieviel er in einem anderen Array findet.


    Danke

  • Guten Morgen,


    über die Getintersection Funktion habe in einem Array 3 Spalten zurückgeliefert bekommen.

    Spalte 1 hat 20 Werte, Spalte 2 80 Werte, Spalte 3 55 Werte.

    Nun habe ich das Array kopiert (Spalte 1) in ein neues 1D Array.

    Natürlich hat er mir dieses Array zwar mit den 20 Werten angelegt, aber das Array hat 80 Zeilen (aufgrund des ersten Arrays)


    Weisst du was ich meine ?

    • Offizieller Beitrag
    [autoit]

    #include <Array.au3>
    Global $Array[4][2][2];Declare 3 dimensional array

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

    $Array[0][0][0] = 3;Number of array elements
    $Array[0][0][1] = "0 Mega"
    $Array[0][1][0] = "1 Mega"
    $Array[0][1][1] = "2 Mega"
    $Array[1][0][0] = "A"
    $Array[2][0][0] = "a"
    $Array[3][0][0] = "Apple"
    $Array[1][0][1] = "B"
    $Array[2][0][1] = "b"
    $Array[3][0][1] = "Blueberry"
    $Array[1][1][0] = "C"
    $Array[2][1][0] = "c"
    $Array[3][1][0] = "Cherry"
    $Array[1][1][1] = "D"
    $Array[2][1][1] = "d"
    $Array[3][1][1] = "Dates"

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

    $sMsg = "$Array[4][2][2]:" & @CRLF
    For $x = 0 To UBound($Array) - 1
    For $y = 0 To UBound($Array, 2) - 1
    For $z = 0 To UBound($Array, 3) - 1
    $sMsg &= "[" & $x & "][" & $y & "][" & $z & "] = " & $Array[$x][$y][$z] & @CRLF
    Next
    Next
    Next
    MsgBox(64, "Results", $sMsg)

    [/autoit]
  • Programm läuft durch. Alles wie gewollt.

    Dickes dickes Danke an Xenobiologist, BugFix und Autobert.

    Danke für Eure Hilfe, habe einiges gelernt.

  • Hallo Xenobiologist

    reich ? Du meinst weil bei meinem Beruf EDV Berater drin stand und ich evtl. das Prog für einen Kunden brauchte ?
    Nö leider bin ich zum einen nicht reich , zum anderen bin auch kein EDV Berater, war das mal in meiner alten Firma, aber das ist schon lang her.

    Das Programm ist für interne Zwecke bei meiner jetzigen Firma. Muss hin und wieder die Word Docs durchgehen, da hier die Artikelbeschreibungen drin stehen.
    Und da es sich hier um ca. 3000 Word Dokus handelt ist das natürlich klasse dass das jetzt mit AutoIT automatisch läuft. Hab zwar vorher auch schon mit Copernicus Desktop Search und so gearbeitet, ist aber recht umständlich das ganze. So ist das perfekt.

    Werde mal mein Profil anpassen :)

    Nochmals Danke und schönes WE.

    P.S. Hab noch einen kleinen Sleep(2500) eingebaut, da er sonst nach ca. 1400 Worddocs abbricht. Mit dem Sleep läufts durch, dauert halt etwas länger, aber das ist egal