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

Beiträge von autoBert

  • Xorianator...

    • autoBert
    • 31. Juli 2012 um 15:36

    Herzlichen Glüchunsch xorinator,

    http://www.youtube.com/watch?v=zC2MjiDDtKgin Anspielung auf

    Zitat

    BugFix das "Schmuddelkind" kommt in die Jahre... :rofl: Alles Gute Xori 8o

    habe ich noch eine seltene Aufnahme von der AutoIt-Nachwuchsband aufgetrieben: http://www.youtube.com/watch?v=zC2MjiDDtKg ist vielleicht eher dein Geschmack als die Aufnahme die Bug un der Shoutbox verlinkt hat,

    die besten Wünsche: Gesundheit, Erfolg, Spass und Glückin allen Lebenslagen

    autoBert

  • Daten aus CSV Datei in ein Array Übernehmen

    • autoBert
    • 31. Juli 2012 um 11:20
    Zitat von Oscar

    AutoBert, d


    Nein ich habe nichts verkürzt, nur den letzten DS ein Stelle nach oben verschoben. Aufgefallen ist es mir als ich die Zeit für die RegEx-Lösung test wollte und auf die aufgeblähte Testdatei (immer die gleichen 3 Datensätze hinter einander kopiert) loslies. Der Zeitunterschied ist enorm 38 Sekunden gegenüber 209 Sekunden von meinem Skript (über Zusammenstringen ohne RegEx) für 99999 DS

    Edit: war ein Kopierfehler von mir beim 1. kopieren aus dem Board

    mfg autoBert

  • Daten aus CSV Datei in ein Array Übernehmen

    • autoBert
    • 31. Juli 2012 um 10:38

    Hallo UEZ,

    deine Lösung scheitert leider auch an den Kommas im 1. Feld.

    Bisher ist die von mir (zum 2d-Array ergänzte) Lösung:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    $iStart = TimerInit()
    $sData = FileRead(@ScriptDir & '\datei2.csv') & ',' ; Datei einlesen und ein Komma anhängen für den letzten Datensatz
    $sData = StringReplace($sData, @CRLF, ',') ; alle Zeilenenden durch ein Komma ersetzen
    $aData = StringRegExp($sData, '(".+?"|.*?),', 3)
    Global $aDaten[UBound($aData)/10+1][10]
    for $i = 0 to UBound($aData)-1
    $aDaten[int($i/10)][Mod($i,10)]=$aData[$i]
    Next
    $iEnd = TimerDiff($iStart)
    ConsoleWrite($iEnd & " ms" & @CRLF)
    _ArrayDisplay($aDaten)

    [/autoit]

    von Oscar die schnellste scheitert allerdings bei diesen Daten:

    Code
    "Nachname","Vorname","Straße","Hausnummer","PLZ","Ort","Anzahl","Verbrauch","Musterartikel","Musterart"
    "Musterman","Fritz","Feierstr.",5,23333,"Hamelhausen",5,3050,"1","3"
    "Müller","Heinz Dr.","Feldstr.",1,23455,"Aschendorf",,7700
    "Musterfrau","Victoria, Dr.","Abendrotstr.",7,23455,"Aschendorf",3,,"1","3"

    da der DS "Müller" nicht alle Felder enthält werden beim nachfolgenden Datensatz die Felder verschoben,

    mfg autoBert

  • Willkommen neues (SPAM?)-Mitglied

    • autoBert
    • 31. Juli 2012 um 09:47

    Hallo Com,

    ich bin gerade auf dem Profil von http://www.autoit.de/index.php?page=User&userID=209034 auf einen Link gestossen der bei WOT einen schlechten Ruf hat:

    Zitat


    Total comments, including comment votes, by user chosen categories:
    Good site 1
    Good customer experience 1
    Spam 5

    Da der Benutzer gleichzeitig Betreiber der monierten Homepage ist sollte man ihn vielleicht darüber aufklären dass solche Links (so sie denn in seiner Signatur auch erscheinen) unerwünscht sind.

    Ausserdem gehe ich davon aus, das der Benutzer die PN-Funktion nutzen wird um auf seine Seite zu locken. Seid also etwas vorsichtig damit ansonsten müsst ihr mit Spam-Mails rechnen,

    mfg autoBert

  • Bestimmte Dateien in .Ini schreiben lassen

    • autoBert
    • 31. Juli 2012 um 09:14

    Hallo Stuuhl,

    mach dich eunmal über die Möglichkeiten des Borderkzeuges XCopy schlau. Damit kannst du dein Problem ohne zu skripten lösen,

    mfg autoBert

  • Daten aus CSV Datei in ein Array Übernehmen

    • autoBert
    • 31. Juli 2012 um 08:56
    Zitat von m-obi

    Wird eine CSV nicht mit einem ";" getrennt???

    üblicherweise ja, aber auch damit können Probleme vorkommen. Denn es gibt Fälle in denen ";" in Feldern vorkommen. Deshalb werden meist '"' verendet um Felder mit Texteingaben zu umschliessen.

    mfg autoBert

  • Dateinamen rückwärts anzeigen?

    • autoBert
    • 31. Juli 2012 um 07:50
    Zitat von Tim29057

    Man kann aber die umbenannte mp3 Files nicht mehr öffnen. Windows kann die leider nicht mehr interpretieren.


    Merkst du jetzt warum es diese Regel gibt?

    Benenn sie einfach ieder zurück ind du kannst sie abspielen.

    Vote for CLOSE

    mfg autoBert

  • Dateinamen rückwärts anzeigen?

    • autoBert
    • 31. Juli 2012 um 07:22
    Zitat von Tim29057

    Also entweder hilfst du mir oder nicht. Ich möchte nicht, dass der Threat hier zugespammt wird.

    Dann mach es manuell oder lies die Hilfe unter _String******* , denn Regeln sind dazu da damit sie eingehalten werden

    mfg autoBert

  • Daten aus CSV Datei in ein Array Übernehmen

    • autoBert
    • 31. Juli 2012 um 07:11
    Zitat von chesstiger

    Man KANN das ganze auch ohne RegEx lösen, ist nur langwierig und nicht ganz einfach in der Umsetzung. Ich probiers mal aus, Rückmeldung kommt später.lg chess

    stimmt ich habe die Lösung bereits eingestellt. Allerdings ist die Laufzeit enorm langsam. Mein Benchmarktest:

    Spoiler anzeigen
    [autoit]

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

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

    Global $aCSV[1]
    Global $sCSVPath = @ScriptDir & "\Datei.CSV"
    $iStart = TimerInit()
    $aRet = _GetCSV($sCSVPath,$aCSV)
    $iEnd = TimerDiff($iStart)
    $aRet[0][1] = $iEnd & " ms"
    _ArrayDisplay($aCSV)
    ConsoleWrite($iEnd & " ms")

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

    Func _GetCSV($sCSVPath,ByRef $aRet)
    Local $aTmp
    _FileReadToArray($sCSVPath,$aTmp)
    if Not IsArray($aTmp) Then
    SetError (1)
    Return -1
    EndIf
    Local $aSplit = StringSplit($aTmp[1],",") ; die Überschriftenzeile darf keine Kommas in Feldern haben
    ReDim $aRet[$aTmp[0]+1][$aSplit[0]]
    for $i = 1 to $aTmp[0]
    _InsertRow($i,$aTmp[$i],$aRet)
    Next
    $aRet[0][0] = UBound($aRet) -1
    Return $aRet
    EndFunc

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

    Func _InsertRow($i,$s,ByRef $a)
    Local $aChar = StringSplit($s,"")
    Local $bInCell = False
    Local $iCell = 0
    for $j = 1 to $aChar[0]
    if $aChar[$j] = '"' Then
    $bInCell = Not $bInCell
    Else
    if Not $bInCell And $aChar[$j] = ',' Then
    $iCell += 1
    Else
    $a[$i][$iCell] &= $aChar[$j]
    EndIf
    EndIf
    Next
    EndFunc

    [/autoit]

    mit 99999 Datensätzen läuft immer noch

    Edit: Fehler in Array[0][0] korrigiert Wert war um 1 zu hoch. Das Skript benötigt auf meinem uralt Laptop 209 Sekunden

    mfg autoBert

  • Daten aus CSV Datei in ein Array Übernehmen

    • autoBert
    • 31. Juli 2012 um 06:23

    @m-obi,

    deine Version kann nicht klappen da auch in Feldern Kommas vorkommen führt dies zwangsläufig zu einem Array-Fehler wie mein (bisher) 1. Versuch:

    Spoiler anzeigen
    [autoit]

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

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

    Global $aCSV[1]
    Global $sCSVPath = @ScriptDir & "\Datei.CSV"

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

    $aRet = _GetCSV($sCSVPath,$aCSV)
    _ArrayDisplay($aCSV)

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

    Func _GetCSV($sCSVPath,ByRef $aRet)
    Local $aTmp
    _FileReadToArray($sCSVPath,$aTmp)
    if Not IsArray($aTmp) Then
    SetError (1)
    Return -1
    EndIf
    Local $aSplit = StringSplit($aTmp[1],",")
    ReDim $aRet[$aTmp[0]+1][$aSplit[0]]
    for $i = 1 to $aTmp[0]
    _InsertRow($i,$aTmp[$i],$aRet)
    Next
    $aRet[0][0] = UBound($aRet)
    Return $aRet
    EndFunc

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

    Func _InsertRow($i,$s,ByRef $a)
    Local $aSplit = StringSplit($s,",")
    for $j = 1 to $aSplit[0]
    $a[$i][$j-1] = StringReplace($aSplit[$j],'"','')
    Next
    EndFunc

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

    Edit: 2: Versuch

    Spoiler anzeigen
    [autoit]

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

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

    Global $aCSV[1]
    Global $sCSVPath = @ScriptDir & "\Datei.CSV"

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

    $aRet = _GetCSV($sCSVPath,$aCSV)
    _ArrayDisplay($aCSV)

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

    Func _GetCSV($sCSVPath,ByRef $aRet)
    Local $aTmp
    _FileReadToArray($sCSVPath,$aTmp)
    if Not IsArray($aTmp) Then
    SetError (1)
    Return -1
    EndIf
    Local $aSplit = StringSplit($aTmp[1],",") ; die Überschrifgtenzeile darf keine Kommas in Feldern haben
    ReDim $aRet[$aTmp[0]+1][$aSplit[0]]
    for $i = 1 to $aTmp[0]
    _InsertRow($i,$aTmp[$i],$aRet)
    Next
    $aRet[0][0] = UBound($aRet)
    Return $aRet
    EndFunc

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

    Func _InsertRow($i,$s,ByRef $a)
    Local $aChar = StringSplit($s,"")
    Local $bInCell = False
    Local $iCell = 0
    for $j = 1 to $aChar[0]
    if $aChar[$j] = '"' Then
    $bInCell = Not $bInCell
    Else
    if Not $bInCell And $aChar[$j] = ',' Then
    $iCell += 1
    Else
    $a[$i][$iCell] &= $aChar[$j]
    EndIf
    EndIf
    Next
    EndFunc

    [/autoit]


    Bin einmal gespannt, ob es mit RegEx ohne grössere Umstände möglich ist. Würde mich dann überzeugen mich doch einmal damit zu beschäftigen, vor allem wenn es schneller als 5 Minuten gehen sollte das entsorechende Pattern zuentwickeln.

    mfg autoBert

  • Problem bei Auslesen von _GUICtrlComboBox_GetEditText

    • autoBert
    • 30. Juli 2012 um 23:43

    Hallo devildevil3,
    ich kann auch mit der von dir angehängten Datei den Fehlernich reproduzieren, da ich aber noch 3.3.6.1 verwende will ich nicht ausschliessen dass evtl. ein Bug in der atuellen Version ist.

    Hat es einen bestimmten Grund, dass du _GUICtrlComboBox_Create anstellevon GuiCtrlCreateCombo verwendest. Von dieser habe ich bisher noch keine Klagen gelesen,

    mfg autoBert

  • Problem bei Auslesen von _GUICtrlComboBox_GetEditText

    • autoBert
    • 30. Juli 2012 um 22:50

    Dachte egentlich, dass du selbst dahiner kommst! Das Problem ist nicht dein Skript sondern die INI-Datei (Fremdanwendung=?) Dort must du das Problem angehen. Vielleicht hilft ja

    [autoit]

    StringStripWS

    [/autoit]

    um ungültige Zeichen zu entfernen. Wenn nicht hänge die INI in der dies vorommt als Dateianhang deinem Post an, denn durch das kopieren über das Board werden diese "mysteriösen" Zeichen eliminiert. Daher ist der Fehler auch bei niemand anderem aufgetreten,

    Edit: Tyos

    mfg autoBert

  • Error "undeclared variable", jedoch nur auf manchen PCs

    • autoBert
    • 30. Juli 2012 um 13:51
    Zitat von NuDann

    Edit: Kann mir denn einer sagen, warum das Script im autoit-Tag nicht richtig formatiert wird?


    Falscher Browser oder im Editor-Mode anstatt im Quelcode Mode, hänge es aeinfach als Skruot mut an, denn in diesem ustand macht sich sicher niemand daran,

    mfg autoBert

  • Error "undeclared variable", jedoch nur auf manchen PCs

    • autoBert
    • 30. Juli 2012 um 13:32
    Zitat von NuDann

    Komisch finde ich, dass es Line 8474 anzeigt, obwohl mein Script nur gut 400 Lines hat.


    Bei der Exe sind ja auch die Includes mit eingebunden,ziehe also die Zeilenanzahl jedes einzelnen Inludes ab und du hast die Stelle welche den Fehler verursacht.

    PS: Wenn andere den Fehler suchen sollen, benötigen sie auch das Skript dafür

    mfg autoBert

  • ListView Problem

    • autoBert
    • 30. Juli 2012 um 01:58

    Hallo Ciber15,

    herzlich willkommen im Forum und viel Erfolg bei deinen Projekten.

    Hier kannst du dir die dt. Hilfeüersetzung herunterladen.

    LVÄs und deren Items erstellst du am besten mit GUICtrlCreateListView bzw. GUICtrlCreateListViewItem. Falls du dann Funktionen aus der GuiListView.au3 verwenden willst ist dies kein Problem. Bis jetzt haben sich alle von mir benutzten _GUICtrlListView_-Funktionen mit der ControlId zufrieden gegeben. Wenn du auf eine Funktion stösst welche die ID nicht akzeptiert muss das Handle nehmen. Dieses bekommst du mit GUICtrlGetHandle heraus,

    mfg autoBert

    mfg autoBert

  • ComboboxEx in Tabs

    • autoBert
    • 30. Juli 2012 um 01:40

    Hallo Niccoo,

    mach es doch über ChildGui's die du bei Bedarf ein- und auch wieder ausblenden kannst,

    mfg autoBert

  • Problem bei Auslesen von _GUICtrlComboBox_GetEditText

    • autoBert
    • 30. Juli 2012 um 00:32
    Zitat von devildevil3

    Da hast du recht, ich habe überersehen das Notpad++ prinzipiell mit 1 anfängt.Also Cousor steht ganz links, und es zählt schon ein Zeichen.Habe es nachgezählt. sind wirklich nur 28 :)

    Damit dürfte dein Problem ja gelöst sein. Schön wäre es wenn du das Thema auf gelöst stellst. Dazu einfach deinen Eröffnungsbeitrag bearbeiten und den Präfix (Nähe Überschrift) auf gelöst stellen,

    Torni: dann mach einen eigenes Thema auf. vergiss aber nicht etwas mehr Angaben dazu zu machenm

    mfg autoBert

  • Script Stopt und Fenster Schließt

    • autoBert
    • 29. Juli 2012 um 16:29
    Zitat von Skrillex

    So okey danke hast funktioniert. Aber eine letzte Frage habe ich noch geht das das ich mit einem kordinaten tool die kordinaten habe also mit der mouse an eine stelle klicke und dan trägt er die kordinaten nach einander in die ini?


    Wenn du zu bequem bist in der Hilfe zu suchen (MouseGetPos wird benötigt) bzw. das SKript selbst zu schreiben, dann solltest du in Zukunft deine Themen in Programmieranfragen mit Gegenleistung erstellen,

    mfg autoBert

  • Kein Text in Email mit _INetSmtpMail

    • autoBert
    • 29. Juli 2012 um 15:53
    Zitat von Shadowigor

    Ich kann in der Hilfe nirgends $s_PWD finden. Wo hast du das denn her?

    Da ich (immer noch auf 3.3.6.1 wg. diverser Bugs der neuen Stable) annahm das es in der neuen Autoit 3.3.8.1 Version jetzt ein Passwort übergeben wird habe ich bisher nicht reagiert. Da

    [autoit]

    _INetSmtpMail

    [/autoit]

    bei mir wegen dem fehlenden Passort nicht funktioniert nehme ich ein Skript welches ich auch in [ gelöst ] Daten an email senden gepostet habe.

    mfg autoBert

  • neue HotKey UDF benötigt oder nicht?

    • autoBert
    • 29. Juli 2012 um 13:49
    Zitat von chesstiger

    Mhh... Naja, die Automatisierung eines Spiel verstehe ich ja, aber das automatische einfügen von Textbausteinen ist was anderes, denke ich.Vielleicht kennt jemand das Spiel "League of Legends", da schreibt man normalerweise, wenn ein Gegner die Lane verlässt, "ss" (Für Miss) und "re" wenn er wiedergekommen ist. Das habe ich auch auf Mausrad rechts bzw. links liegen. Ich denke, solange es bei Text bleibt, ist das ok.

    woran man sehen kann dass es auch ohne neue UDF geht.

    Vote for Close da eine 2. Diskussion zum Thema unnötig, Interessierte können ja in [ offen ] neue HotKey UDF benötigt oder nicht? weiterdiskutieren.

    mfg autoBert

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™