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. 4ern

Beiträge von 4ern

  • Link aus der Navigationbar ansprechen

    • 4ern
    • 12. März 2015 um 14:32

    Ist die Seite ein Geheimniss? Würde gerne mal einpaar Versuche unternehmen.
    Du verstehst das schon richtig, dass mit diesen Befehlen dies als Object eingelesen wird, es kann jedoch vorkommen das sich das Object in unter Frames befindet. Dann bleibt dir nichts anderes übrig als dich durch die Frames zu kämpfen.

  • Link aus der Navigationbar ansprechen

    • 4ern
    • 12. März 2015 um 14:08

    bei dem Link handelt es sich um ein JavaScript-Event sprich DOM-Element. Dies kannst du mit _IEAction($object, 'click') ausführen. Du musst aber vorher den Link als Object einlesen.

    Beispiel:

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

    $oLink = _IEGetObjById($oIE, 'C4_W16_V17_SRV-ORD')
    _IEAction($oLink, 'click')

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

    oder

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

    _IEAction(_IEGetObjById($oIE, 'C4_W16_V17_SRV-ORD'), 'click')

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]
  • Letzte Array-Zeile ermitteln

    • 4ern
    • 12. März 2015 um 10:11

    Worauf man unbedingt achten sollt, dass ein Array um 1 immer größer ist als die letzte Zeile. Daher muss man um die Letzte Zeile zu ermittelen Ubound($array) -1 nehmen.

  • Überprüfen ob String gültig ist

    • 4ern
    • 12. März 2015 um 10:08

    @AsperinJunkie

    hast absolut Recht, daran habe ich garnicht gedacht ;). Wieder was dazu gerlernt!

  • extern auf ein IE Objekt zugreifen

    • 4ern
    • 12. März 2015 um 09:50

    Da müsstest schon mehr Details liefern.

    Im Grunde können zwei AutoIT Scripte nicht mit einander kommunizieren, es sei den man bringt es denen bei ;). Die Frage ist, liegen die zwei Scripte auf einem Rechner oder jeweils seperat? Wenn diese auf einem Rechner liegen, versteh ich den Sinn von zwei Scripten nicht.

    Ansonsten musst du eine Kommunikation zwischen den zwei Scripten bauen. Hiefür gibt es viele Möglichkeiten. Die eine wäre wie du schon erwähnt hast über die Console, SQLite, TCP, DLL Struct usw... Dan gibt es auch banale Methoden, wie WinTitel ändern und mit zweiten Script auslesen ... Der Creativität sind hier keine Grenzen gesetzt ;)

  • nur Hover über sichtbaren Teil

    • 4ern
    • 12. März 2015 um 09:35

    Hierfür gibt es bereits eine passende UDF.

    http://www.autoitscript.com/forum/files/fi…guictrlonhover/

  • Überprüfen ob String gültig ist

    • 4ern
    • 12. März 2015 um 09:12

    Mit RegEx hatte ich auch anfangs meine Probleme. Aber es ist imprinzip total einfach, man muss ich einfach überwinden und das einfach immer anwenden wo es nur geht, so lernt man das ganz schnell.

    Anbei die Lösung mit RegEx.

    [autoit]

    StringRegExp('AHHFHS6', '(^[A-Z]*\d*|\d*[A-Z]*)')

    [/autoit]
  • Buch

    • 4ern
    • 3. März 2015 um 13:35

    Habs hochgeladen.

    http://4ern.de/4ern/wp-conten…t-Handbuch-.pdf

  • _SQLite_helper.au3

    • 4ern
    • 27. Februar 2015 um 15:30

    hm bei mir sind da alles Umlaute ?( . Habe UDF dem ersten Post mit angehängt.

  • _SQLite_helper.au3

    • 4ern
    • 27. Februar 2015 um 14:27

    Was meinst du mit falsch angezeigt? Wie wird es bei dir angezeigt? Und wie sieht deine Lösung aus?

  • _SQLite_helper.au3

    • 4ern
    • 27. Februar 2015 um 12:14

    In Thread verirrt? :D

  • _SQLite_helper.au3

    • 4ern
    • 26. Februar 2015 um 21:51

    Danke ;)

  • Mit GUI csv Datei erstellen

    • 4ern
    • 25. Februar 2015 um 22:12

    kurz und einfach:

    [autoit]


    GUICtrlSetData ( Input1, '')
    GUICtrlSetData ( Input2, '')

    [/autoit]
  • _SQLite_helper.au3

    • 4ern
    • 25. Februar 2015 um 22:02

    Hallo zusammen,

    da ich beruflich viel mit SQLite Datenbanken in Verbindung mit AutoIt arbeite, habe ich eine kleine Funktions-Sammlung hierfür geschrieben.

    Natürlich bin ich nicht Geizig und teile diese mit euch.

    Zwar unterstützt AutotIt bereits SQLite, jedoch empfand ich es Mühsam Unmengen an Code-Zeilen für eine einfache SQL Abfrage zu schreiben.

    Bei meiner Funktionssammlung (UDF) war es mir wichtig, dass ich mich zum größten Teil auf den SQL Syntax konzentrieren kann und der Rest von AutoIt selbstständig erledigt wird, natürlich mit entsprechendem Fehler Handling.

    Funktions Liste:

    • SQL_Init
    • SQL_defaults
    • SQL_Get
    • SQL_Set
    • SQL_Info
    • SQL_Flag

    nächste Funktionen

    • sql_create()


    Da die komplette Dokumentation hier den Rahmen sprengen würde, hier der Link zu GitHub Readme.

    EDIT:
    _SQLite_helper.au3

    Spoiler anzeigen
    [autoit]


    #include-once
    #include <File.au3>
    #include <SQLite.au3>
    #include <SQLite.dll.au3>
    #include <Array.au3>

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

    ;----------------------------------------------------------------------------------------------/
    ; Regestrierung SQL Funktions
    ;----------------------------------------------------------------------------------------------/
    Global Const $sql_init = __mSQlite_Initialisieren
    Global Const $sql_get = __mSQlite_getQuerry
    Global Const $sql_set = __mSQlite_setQuerry
    Global Const $sql_info = __mSqlite_Information
    Global Const $sql_flag = __mSqlite_getSetFlag
    Global Const $sql_defaults = __mSqlite_defaults
    Global Const $sql_count = __mSqlite_count

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

    ;----------------------------------------------------------------------------------------------/
    ; Beschreibung: = Initialisiere Constructor
    ;
    ; Update = 20.02.2015
    ; von = 4ern.de
    ;----------------------------------------------------------------------------------------------/
    func __mSQlite_Initialisieren($param1 = 0, $param2 = False)
    __m_SQLite_Constructor('create',$param1,$param2)
    endfunc ;<==/newFunc

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

    ;----------------------------------------------------------------------------------------------/
    ; Beschreibung: = Stellt / Schließt / übergibt die Verbindungn zur Datenbank
    ;
    ; Info = Siehe Dokumentation
    ; https://github.com/4ern/AutoIt-SQ…aster/README.md
    ;
    ; Update = 30.10.2014
    ; von = 4ern.de
    ;----------------------------------------------------------------------------------------------/
    func __m_SQLite_Constructor($action = '',$paramDatabase = 1, $pfDll = False)

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

    Local Static $Start = False
    Local Static $dbStartup = False
    Local Static $pf_sqLiteDll
    Local Static $pf_database
    Local Static $oConnection

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

    Switch $action
    Case 'pf_sqLiteDll'
    return $pf_sqLiteDll
    Case 'pf_database'
    return $pf_database
    EndSwitch

    ;----------------------------------------------------------------------------------------------/
    ; Falls keine Datenbank übergeben wurde dan versuche eine im Scriptdir zu finden.
    ;----------------------------------------------------------------------------------------------/
    if $pf_database = '' then
    Switch $paramDatabase

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

    ;Wenn Datebase Pfad initialisiert wurde
    Case StringInStr($paramDatabase, '.s3db') <> 0
    $pf_database = $paramDatabase

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

    ;Wenn nichts mitgegeben wurde, wird versucht im ScriptDir nach DB zu suchen
    Case 1
    $FileList = _FileListToArray(@scriptdir,'*s3db',1)
    If IsArray($FileList) and UBound($FileList) >= 2 Then
    $pf_database = @scriptdir&'\'&$FileList[1]
    Else
    ContinueCase
    endif

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

    ;DB wird im Arbeitsspeicher angelegt.
    Case 2
    $pf_database = ':memory:'
    ConsoleWrite('<-- Datenbank wurde im Arbeitsspeicher erstellt'&@crlf)
    EndSwitch
    endif

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

    ;----------------------------------------------------------------------------------------------/
    ; Erstelle Connection
    ;----------------------------------------------------------------------------------------------/
    Switch $action
    Case 'get'
    if IsHWnd($oConnection) = 0 then
    ContinueCase
    endif
    return $oConnection

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

    Case 'create'
    if $dbStartup = False then
    _SQLite_Startup($pf_sqLiteDll)
    If @error Then return SetError(1,'','SQLite3.dll kann nicht geladen werden!')
    $dbStartup = True
    endif

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

    $oConnection = _SQLite_Open($pf_database)
    If @error Then return SetError(1,'','Kann keine Datenbank im Speicher erstellen!')
    return $oConnection

    Case 'close'
    _SQLite_Shutdown()
    EndSwitch
    endfunc

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

    ;----------------------------------------------------------------------------------------------/
    ; Beschreibung: = Get Verweis auf __m_SQLite_query
    ;
    ; Update = 20.02.2015
    ; von = 4ern.de
    ;----------------------------------------------------------------------------------------------/
    func __mSQlite_getQuerry($param)
    $ret = __m_SQLite_query($param,'get')
    return SetError(@error, '', $ret)
    endfunc ;<==/newFunc

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

    ;----------------------------------------------------------------------------------------------/
    ; Beschreibung: = Set Verweis auf __m_SQLite_query
    ;
    ; Update = 20.02.2015
    ; von = 4ern.de
    ;----------------------------------------------------------------------------------------------/
    func __mSQlite_setQuerry($param)
    $ret = __m_SQLite_query($param,'set')
    return SetError(@error, '', $ret)
    endfunc ;<==/newFunc

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

    ;----------------------------------------------------------------------------------------------/
    ; Beschreibung: = Ermittelt / Schreibt / Ändert oder löscht Daten in der Datenbank
    ;
    ; Info = Siehe Dokumentation
    ; https://github.com/4ern/AutoIt-SQ…aster/README.md
    ;
    ; Update = 30.10.2014
    ; von = 4ern.de
    ;----------------------------------------------------------------------------------------------/
    func __m_SQLite_query($query, $action = 'get')

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

    Local $ergebnis, $zeile, $spalten
    Local $timestamp_format = 0

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

    ;----------------------------------------------------------------------------------------------/
    ; Umlaut Catcher!
    ;----------------------------------------------------------------------------------------------/
    Local Static $aUmlaute [][] = [ _
    ['Umlaut', 'Ubersetzung'], _
    ['Ä','Ae'], _
    ['Ö','Oe'], _
    ['Ü','Ue'], _
    ['ä','ae'], _
    ['ö','oe'], _
    ['ü','ue'], _
    ['ß','?s'] _
    ]

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

    ;----------------------------------------------------------------------------------------------/
    ; Hollt das DB Handel
    ;----------------------------------------------------------------------------------------------/
    $oDatabase = __m_SQLite_Constructor('get')

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

    ;----------------------------------------------------------------------------------------------/
    ; GET or SET Methoden
    ;----------------------------------------------------------------------------------------------/
    switch $action
    Case 'get'

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

    ;----------------------------------------------------------------------------------------------/
    ; magic Datum
    ;----------------------------------------------------------------------------------------------/
    $aRegEx = StringRegExp($query, '\{(where*::.*)\}',3)
    if isarray($aRegEx) <> 0 then
    $replace = '{'&$aRegEx[0]&'}'
    $aSplit = StringSplit((StringSplit($aRegEx[0], '::',2))[2], '->', 2)
    $adate = StringSplit($aSplit[2],'.',2)
    $sdate = $adate[2]&'-'&$adate[1]&'-'&$adate[0]
    $string = 'where '&$aSplit[0]&' >= date("'&$sdate&'") ORDER BY '&$aSplit[0]&' ASC Limit 1'
    $query = StringReplace($query, $replace, $string)
    endif

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

    ;----------------------------------------------------------------------------------------------/
    ; Magic Date Converter
    ;----------------------------------------------------------------------------------------------/

    $aRegEx = StringRegExp($query, '\{(\w*::.*)\}',3)
    for $i = 0 to Ubound($aRegEx) -1

    $replace = '{'&$aRegEx[$i]&'}'
    $aSplit = StringSplit($aRegEx[$i], '::',1)
    $newRow = $aSplit[1]

    if StringInStr($aRegEx[$i], '->') <> 0 then
    $newRow = StringStripWS((StringSplit($aSplit[2], '->',1)[2]), 3)
    $aSplit[2] = StringReplace($aSplit[2], '->', '',1)
    $aSplit[2] = StringReplace($aSplit[2], $newRow, '',1)
    $aSplit[2] = StringStripWS($aSplit[2], 3)
    endif

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

    $spalte = $aSplit[1]
    $date = $aSplit[2]

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

    $date = StringReplace($date, 'dd', '%d.',1,1)
    $date = StringReplace($date, 'mm', '%m',1,1)
    $date = StringReplace($date, 'yyyy', ' %Y ',1,1)
    $date = StringReplace($date, 'HH', '%H',1,1)
    $date = StringReplace($date, 'MM', '%M',1,1)
    $date = StringReplace($date, 'SS.SSS', '%f',1,1)
    $date = StringReplace($date, 'SS', '%S',1,1)
    $string = 'strftime("'&$date&'",'&$spalte&') as '&$newRow
    $query = StringReplace($query, $replace, $string)
    next

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

    ;----------------------------------------------------------------------------------------------/
    ; Setze Umlaute
    ;----------------------------------------------------------------------------------------------/
    for $i = 1 to Ubound($aUmlaute) -1
    $query = StringReplace($query, $aUmlaute[$i][0], $aUmlaute[$i][1],0,1)
    next

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

    ;----------------------------------------------------------------------------------------------/
    ; Führe SQL aus
    ;----------------------------------------------------------------------------------------------/
    _SQLite_GetTable2d($oDatabase, $query, $ergebnis, $zeile, $spalten)
    $err = @error
    _SQLite_Close($oDatabase)

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

    ;----------------------------------------------------------------------------------------------/
    ; Setze Umlaute
    ;----------------------------------------------------------------------------------------------/
    for $i = 1 to Ubound($aUmlaute) -1
    for $ii = 0 to Ubound($ergebnis) -1
    for $iii = 0 to Ubound($ergebnis,2) -1
    $ergebnis[$ii][$iii] = StringReplace($ergebnis[$ii][$iii], $aUmlaute[$i][1], $aUmlaute[$i][0],0,1)
    next
    next
    next

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

    ;----------------------------------------------------------------------------------------------/
    ; Gebe Datum im deutschen Format aus.
    ;----------------------------------------------------------------------------------------------/
    for $i = 0 to Ubound($ergebnis) -1
    for $ii = 0 to Ubound($ergebnis,2) -1
    $aRegEx = StringRegExp($ergebnis[$i][$ii], '(?:199[0-9]|20[0-9][0-9])-(?:0[1-9]|1[0-2])-(?:[0-2][0-9]|3[0-1])',3)
    if IsArray($aRegEx) = 0 then ContinueLoop
    $aString = StringSplit($aRegEx[0], '-',2)
    $ergebnis[$i][$ii] = StringReplace($ergebnis[$i][$ii], $aRegEx[0], $aString[2]&'.'&$aString[1]&'.'&$aString[0])
    next
    next

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

    ;----------------------------------------------------------------------------------------------/
    ; Return
    ;----------------------------------------------------------------------------------------------/
    return SetError($err, '', $ergebnis)

    Case 'set'

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

    ;----------------------------------------------------------------------------------------------/
    ; Timstamp Magic Function
    ;----------------------------------------------------------------------------------------------/
    $timestamp = @year&'-'&@mon&'-'&@mday&'T'&@hour&':'&@min&':'&@sec&'.'&@MSEC
    $query = StringReplace($query, '{timestamp}', $timestamp)

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

    ;----------------------------------------------------------------------------------------------/
    ; Date Magic Function
    ;----------------------------------------------------------------------------------------------/
    $aRegEx = StringRegExp($query, '\{(.*?)\}',3)
    for $i = 0 to Ubound($aRegEx) -1
    $replace = '{'&$aRegEx[$i]&'}'

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

    if StringRegExp($aRegEx[$i], '^([0-3]\d|[1-9])\.([0-3]\d|[1-9])\.(\d{4}|\d{2})$') = 0 then ContinueLoop
    $aSplit = StringSplit($aRegEx[$i], '.',2)

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

    $string = $aSplit[2] &'-'& $aSplit[1] &'-'& $aSplit[0]
    $query = StringReplace($query, $replace, $string)
    next

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

    ;----------------------------------------------------------------------------------------------/
    ; Setze Umlaute
    ;----------------------------------------------------------------------------------------------/
    for $i = 1 to Ubound($aUmlaute) -1
    $query = StringReplace($query, $aUmlaute[$i][0], $aUmlaute[$i][1], 0, 1)
    next

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

    ;----------------------------------------------------------------------------------------------/
    ; Führe SQL aus
    ;----------------------------------------------------------------------------------------------/
    $ret = _SQLite_Exec($oDatabase,$query)
    $err = @error
    _SQLite_Close($oDatabase)

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

    ;----------------------------------------------------------------------------------------------/
    ; Return
    ;----------------------------------------------------------------------------------------------/
    return SetError($err, '', $ret)
    Endswitch
    endfunc ;<==/m_database_query

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

    ;----------------------------------------------------------------------------------------------/
    ; Beschreibung: = Zeigt Informationen aus der SQLite DB an
    ;
    ; Info = Siehe Dokumentation
    ; https://github.com/4ern/AutoIt-SQ…aster/README.md
    ;
    ; Update = 23.02.2015
    ; von = 4ern.de
    ;----------------------------------------------------------------------------------------------/
    func __mSqlite_Information($display = 'console')

    Local $oDatabase = __m_SQLite_Constructor()
    Local $sql_version = _SQLite_LibVersion()
    Local $changes_without_trigger = _SQLite_Changes($oDatabase)
    Local $changes_with_trigger = _SQLite_TotalChanges($oDatabase)
    Local $last_error_Code = _SQLite_ErrCode($oDatabase)
    Local $last_error_msg = _SQLite_ErrMsg($oDatabase)
    Local $pfad_DB = __m_SQLite_Constructor('pf_database')
    Local $pfad_dll = __m_SQLite_Constructor('pf_sqLiteDll')

    Switch $display
    Case 'array'
    Local $array[][] = [ _
    ['Version',$sql_version], _
    ['Veränderungen ohne Trigger',$changes_without_trigger], _
    ['Veränderungen mit Trigger',$changes_with_trigger], _
    ['Letzter Fehler-Code',$last_error_Code], _
    ['Fehler Nachricht',$last_error_msg], _
    ['Verzeichnis Datenbank',$pfad_DB], _
    ['Verzeichnis SQLite3.dll',$pfad_dll] _
    ]
    _ArrayDisplay($array)
    Case 'console'
    ConsoleWrite( _
    '<--- SQLite Information !!!!' & _
    'SQLite Version: ' & $sql_version & @crlf & @crlf & _
    'Veränderungen ohne Trigger: '& $changes_without_trigger & @crlf & _
    'Veränderungen mit Trigger: '& $changes_with_trigger & @crlf & @crlf & _
    'Letzter Fehler-Code:' & $last_error_Code & @crlf & _
    'Fehler Nachricht: ' &$last_error_msg & @crlf & @crlf & _
    'Verzeichnis Datenbank: ' &$pfad_DB & @crlf & _
    'Verzeichnis SQLite3.dll: ' &$pfad_dll & @crlf & _
    '!!! SQLite Information --->')
    Case 'msg'
    MsgBox(48, 'SQLite Information', _
    'SQLite Version: ' & $sql_version & @crlf & @crlf & _
    'Veränderungen ohne Trigger: '& $changes_without_trigger & @crlf & _
    'Veränderungen mit Trigger: '& $changes_with_trigger & @crlf & @crlf & _
    'Letzter Fehler-Code: ' & $last_error_Code & @crlf & _
    'Fehler Nachricht: ' &$last_error_msg & @crlf & @crlf & _
    'Verzeichnis Datenbank: ' &$pfad_DB & @crlf & _
    'Verzeichnis SQLite3.dll: ' &$pfad_dll & @crlf)
    EndSwitch
    endfunc ;<==/_mSqlite_Information

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

    ;----------------------------------------------------------------------------------------------/
    ; Beschreibung: = Setzt ein Flag in die Tabelle und übermittelt die geflaggten Daten
    ;
    ; Info = Siehe Dokumentation
    ; https://github.com/4ern/AutoIt-SQ…aster/README.md
    ;
    ; Update = 23.02.2015
    ; von = 4ern.de
    ;----------------------------------------------------------------------------------------------/
    func __mSqlite_getSetFlag($table = '' ,$such_Wert = '', $flag_spalte = '', $flag_wert = '')

    if $table = '' then $table = __mSqlite_defaults('tabelle')
    if $such_Wert = '' then $such_Wert = __mSqlite_defaults('suchewert')
    if $flag_spalte = '' then $flag_spalte = __mSqlite_defaults('flag_spalte')
    if $flag_wert = '' then $flag_wert = __mSqlite_defaults('flag_wert')

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

    ;gesetzten Flag lesen
    $sql = 'SELECT * FROM '&$table&' where '&$flag_spalte&' = "'&$flag_wert&'" LIMIT 1;'
    $ret = __m_SQLite_query($sql,'get')
    If IsArray($ret) = 1 and UBound($ret) >= 2 Then
    return SetError(@error, '', $ret)
    endif

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

    ;Flag setzen
    $sql = 'UPDATE '&$table&' SET '&$flag_spalte&' ="'&$flag_wert&'" WHERE id in (SELECT id FROM '&$table&' WHERE '&$flag_spalte&' = "'&$such_Wert&'" LIMIT 1);'
    $ret = __m_SQLite_query($sql,'set')
    if @error then return SetError(@error, '', $ret)

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

    ;gesetzten Flag lesen
    $sql = 'SELECT * FROM '&$table&' where '&$flag_spalte&' = "'&$flag_wert&'" LIMIT 1;'
    $ret = __m_SQLite_query($sql,'get')
    If IsArray($ret) = 1 and UBound($ret) >= 2 Then
    return SetError(@error, '', $ret)
    Else
    ConsoleWrite('<--- Suchwert: "'&$such_Wert&'" konnte in der Tabelle: "'&$table&'" und Spalte: "'&$flag_spalte&'" nicht ermittelt werden' & @crlf)
    return SetError(1, '', '0')
    endif
    endfunc ;<==/_mSqlite_getSetFlag

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

    ;----------------------------------------------------------------------------------------------/
    ; Beschreibung: = SQLite Defaults
    ;
    ; Info = Siehe Dokumentation
    ; https://github.com/4ern/AutoIt-SQ…aster/README.md
    ;
    ; Update = 25.02.2015
    ; von = 4ern.de
    ;----------------------------------------------------------------------------------------------/
    func __mSqlite_defaults($_strVarName, $_value='', $_action='get')

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

    Local Static $oDict = ObjCreate('Scripting.Dictionary')
    Local Static $1stStart = 0

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

    If $1stStart = 0 Then
    $oDict.Add('tabelle', 'data') ;Standard Tabelle
    $oDict.Add('spalte', 'state') ;Standard Spalte
    $oDict.Add('suchewert', 'open') ;Nach Welchen Wert soll die Spalte durch sucht werden
    $oDict.Add('flag_spalte', 'flag') ;Spalte in welche der Flag eingetragen werden soll
    $oDict.Add('flag_wert', @computername) ;Wert welcher in die Flag Spalte geschrieben wird
    $1stStart = 1
    EndIf

    Switch $_action
    Case 'get'
    If $oDict.Exists($_strVarName) Then
    Return $oDict.Item($_strVarName)
    Else
    Return SetError(1,0,'')
    EndIf
    Case 'set'
    If Not $oDict.Exists($_strVarName) Then
    $oDict.Add($_strVarName, $_value)
    Else
    $oDict.Item($_strVarName) = $_value
    EndIf
    case 'display'
    $anzahl = $oDict.Count +1
    Local $array[$anzahl][2]
    $colKeys = $oDict.Keys
    $i = 0
    For $strKey in $colKeys
    $array[$i][0] = $strKey
    $array[$i][1] = $oDict.Item($strKey)
    $i += 1
    Next
    _ArrayDisplay($array)
    EndSwitch
    endfunc ;<==/getSet_Salcus_Vars

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

    ;----------------------------------------------------------------------------------------------/
    ; Beschreibung: = Zählt die Zeilen anhand der übergeben Parameter
    ;
    ; Info = Siehe Dokumentation
    ; https://github.com/4ern/AutoIt-SQ…aster/README.md
    ;
    ; Update = 25.02.2015
    ; von = 4ern.de
    ;----------------------------------------------------------------------------------------------/
    func __mSqlite_count($table = '', $spalte = '', $such_Wert = '')

    if $table = '' then $table = __mSqlite_defaults('tabelle')
    if $spalte = '' then $spalte = __mSqlite_defaults('spalte')
    if $such_Wert = '' then $such_Wert = __mSqlite_defaults('suchewert')

    ;gesetzten Flag lesen
    if $spalte = '' then
    $sql = 'SELECT count('*') FROM '&$table&';'
    Else
    $sql = 'SELECT count(*) FROM '&$table&' WHERE '&$spalte&' = "'&$such_Wert&'";'
    endif

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

    $ret = __m_SQLite_query($sql,'get')
    If IsArray($ret) = 1 and UBound($ret) >= 2 Then
    return SetError(@error, '', $ret[1][0])
    Else
    ConsoleWrite('<--- Suchwert: "'&$such_Wert&'" konnte in der Tabelle: "'&$table&'" und Spalte: "'&$spalte&'" nicht ermittelt werden' & @crlf)
    return SetError(1, '', '0')
    endif
    endfunc ;<==/_mSqlite_count

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

    Beispiel ohne _SQLite_helper.au3

    [autoit]


    #include <SQLite.au3>
    #include <SQLite.dll.au3>

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

    Local $aResult, $iRows, $iColumns, $iRval

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

    _SQLite_Startup()
    If @error Then
    MsgBox(16, "SQLite Fehler", "SQLite.dll kann nicht geladen werden!")
    Exit -1
    EndIf

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

    _SQLite_Open()
    If @error Then
    MsgBox(16, "SQLite Fehler", "Kann die Datenbank nicht öffnen!")
    Exit -1
    EndIf

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

    $iRval = _SQLite_GetTable2d(-1, "SELECT * FROM persons;", $aResult, $iRows, $iColumns)
    If $iRval = $SQLITE_OK Then
    _SQLite_Display2DResult($aResult) ; Anzeige des Ergebnisses in der Konsole
    Else
    MsgBox(16, "SQLite Fehler: " & $iRval, _SQLite_ErrMsg())
    EndIf

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

    _SQLite_Close()
    _SQLite_Shutdown()

    [/autoit]

    Beispiel mit _SQLite_helper.au3

    [autoit]


    #include "_SQLite_helper.au3"

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

    $aResult = $sql_get('SELECT * FROM persons;')
    if @error then
    consolewrite('SQLite Fehler: ' & $aResult &' // '&_SQLite_ErrMsg())
    endif

    [/autoit]

    Diese UDF ist nicht perfekt und lebt von eurem Feedback. Ich freue mich sehr auf eure Ideen und Verbesserungsvorschläge!

    Die Datei kann man hier runterladen.
    Die komplette Dokumentation und UDF findet Ihr auch auf meinem GitHub Konto.

  • AutoIT MySQL

    • 4ern
    • 15. Februar 2015 um 21:33

    Ist die Dll Datei im scriptordner?

  • _HTML_GetSource: Kann ich auch lokale Dateien einlesen?

    • 4ern
    • 2. Dezember 2014 um 09:07

    Wenn die HTML Dateien Lokal auf der Platte liegen, kannst du auch

    [autoit]

    FileRead('filehandle/filename', count)

    [/autoit]

    verwenden.

  • Hilfe beim Skalieren von HTML-Seiten gesucht!

    • 4ern
    • 28. November 2014 um 14:29

    Versuch mal alle "width" inkl der Größen Angabe zu löschen und bei der Tabelle auf 100 % zusetzen.

    <table border=0 cellpadding=0 cellspacing=0 width=100% style='border-collapse: collapse;>

  • Hilfe beim Skalieren von HTML-Seiten gesucht!

    • 4ern
    • 27. November 2014 um 21:22

    Kurze Rückfrage. Wird dieser Code evtl von Excel erzeugt?

    Sieht nämlich verdächtig nach automatisch generierten HTML Code aus ... also absolute Katastrophe :) Demnach wirst du wohl keine vernünftige Lösung finden diesen anständig zu skalieren.

    Wenn ja empfehle ich dir die Daten direkt in ein Array einzulesen... und dir dein eigenen HTML Code zu basteln. Falls du da Unterstützung brauchst helfe ich dir sehr gerne.

    Eigentlich baut man in der heutigen Zeit ein HTML Konstrukt immer so auf, dass es sich automatisch an jedes Display anpasst, daher ist das mit skalieren total unsinnig...

  • Hilfe beim Skalieren von HTML-Seiten gesucht!

    • 4ern
    • 27. November 2014 um 20:55

    Lade dir von hier ein Bsp herunter und schau wie die das umsetzten...

    https://www.campaignmonitor.com/email-templates/all/


    würde dir gerne helfen wenn du mir ein Bsp Code deiner bisherigen Email zeigst?


    edit


    habe die Zip Datei übersehen :)

  • Zahlen in Zahlwörter umwandeln

    • 4ern
    • 13. November 2014 um 10:35

    ahhh der Beitrag versüßt mein Vormittag.

    @Einexage: vielen Dank dafür. you made my Day!!!
    BugFix : du übler Finger :rofl:

    Könnt Ihr bitte den Thread schließen... wird langsam lächerlich!

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™