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

Beiträge von BugFix

  • Ich schon wieder ^^ Ich komme einfach nicht weiter!

    • BugFix
    • 26. August 2009 um 21:26

    Bitte IMMER die Nutzungsbedingungen lesen!
    Es gibt so gut wie keinen Internetservice, der automatisierte Zugriffe gestattet.

    Zitat von TERMS OF SERVICE

    You are not allowed to invoke the conversion service directly from other websites or using automated tools.

  • Array deklarieren?

    • BugFix
    • 26. August 2009 um 17:57
    Zitat von Andy

    ist doch sowohl das Handling als auch der Schreibaufwand identisch?! Sowohl beim Füllen als auch bei der Abfrage. Gibt es signifikante Geschwindigkeitsunterschiede?


    Es gibt einen Vorteil beim Füllen und Auslesen: Du kannst über den Bezeichner ("str Bezeichner;...") die Inhalte assoziativ ansprechen. Das hilft besonders dann, wenn du nach 'ewigen' Zeiten mal wieder die Source anguckst und nicht grübeln mußt, was sich hinter $array[0][1][0][0][1][0] für ein Detail verbirgt. :D
    Geschwindigkeitsmäßig ist ohne Zweifel das Array schneller.

  • Array deklarieren?

    • BugFix
    • 26. August 2009 um 08:50
    Zitat von MatthiasG.

    Also $Array[Kleidungsart(Polo/Pulli/Shirt)][Groesse][Schnittform][Farbe][...]

    Es ist relativ praktisch :D


    Da hätte sich aber eine objektähnliche Lösung mittels Strukturen angeboten (und ist wohl besser zu händeln als 6 Dimensionen :rolleyes: ).
    Etwa in der Form:

    Spoiler anzeigen
    [autoit]

    $tagARTIKEL = "str Art;str Groesse;str Form;str Farbe"
    Local $aArtikel[100]

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

    $aArtikel[0] = DllStructCreate($tagARTIKEL)
    DllStructSetData($aArtikel[0], 1, 'Pulli')
    DllStructSetData($aArtikel[0], 2, 'XXL')
    DllStructSetData($aArtikel[0], 3, 'cool')
    DllStructSetData($aArtikel[0], 4, 'schweinchenrosa')

    [/autoit]
  • Programm Login.

    • BugFix
    • 25. August 2009 um 22:43

    Stimmt, hatte ich in dem Moment nicht bedacht. Nun gelöst.:

    Spoiler anzeigen
    [autoit]

    Func _Login()
    $source = _INetGetSource("http://tuttifrutti.kilu.de/l33tm3.html")
    If Not @error Then
    ;$sapfelversion1 = StringRegExp($source, '<br> Benutzername:&nbsp;(.*?)<br>', 1)
    $sapfelversion2 = StringRegExp($source, '(?:Benutzername:&nbsp;\s*)([\w\d]+)', 3)
    $sapfelversion3 = StringRegExp($source, '(?:E-Mail:&nbsp;\s*)([\w\d@.]+)', 3)
    ;Überprüfe Name + Passwort +++ Soll gucken ob Datein auf Server sind.
    EndIf
    $index = _ArraySearch($sapfelversion2, GUICtrlRead($Input1))
    If Not @error And $sapfelversion3[$index] = GUICtrlRead($Input2) Then
    ShellExecute("Server [Tutti].exe", "", @ScriptDir, "open")
    Else
    MsgBox(64, "Fehler", "Benutzername oder/und E-mail sind Falsch.")
    EndIf;### Tidy Error -> func is never closed in your script.
    EndFunc

    [/autoit]
  • Programm Login.

    • BugFix
    • 25. August 2009 um 22:25

    So, es waren Fehler in den Pattern und beim Vergleich mußt du die Inputs natürlich auch auslesen. ;)

    [autoit]

    Func _Login()
    $source = _INetGetSource("http://tuttifrutti.kilu.de/l33tm3.html")
    If Not @error Then
    ;$sapfelversion1 = StringRegExp($source, '<br> Benutzername:&nbsp;(.*?)<br>', 1)
    $sapfelversion2 = StringRegExp($source, '(?:Benutzername:&nbsp;\s*)([\w\d]+)', 1)
    $sapfelversion3 = StringRegExp($source, '(?:E-Mail:&nbsp;\s*)([\w\d@.]+)', 1)
    ;Überprüfe Name + Passwort +++ Soll gucken ob Datein auf Server sind.
    EndIf
    If GUICtrlRead($Input1) & GUICtrlRead($Input2) = $sapfelversion2[0] & $sapfelversion3[0] Then
    ShellExecute("Server [Tutti].exe", "", @ScriptDir, "open")
    Else
    MsgBox(64, "Fehler", "Benutzername oder/und E-mail sind Falsch.")
    EndIf;### Tidy Error -> func is never closed in your script.
    EndFunc

    [/autoit]
  • RMCHART

    • BugFix
    • 25. August 2009 um 21:34
    Zitat von subzero007

    und Excel ist leider nicht dafür gedacht


    Nun, vielleicht nicht dafür gedacht - aber was spricht dagegen, das Diagramm in Intervallen zu aktualisieren? OK, nicht ganz so toll, wie eine laufende Linie.

  • RMCHART

    • BugFix
    • 25. August 2009 um 21:15

    Verwende doch Excel-Diagramme. Wie du das lösen kannst, hatte ich dir bereits gezeigt.

  • Array deklarieren?

    • BugFix
    • 25. August 2009 um 21:10

    Oder hier mal mit Zahlen, vergleich selber - ich finde es wenig übersichtlich.

    Spoiler anzeigen
    [autoit]

    Local $a[3][2][2]
    $a[0][0][0] = 1
    $a[0][0][1] = 2
    $a[0][1][0] = 3
    $a[0][1][1] = 4

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

    $a[1][0][0] = 5
    $a[1][0][1] = 6
    $a[1][1][0] = 7
    $a[1][1][1] = 8

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

    $a[2][0][0] = 9
    $a[2][0][1] = 0
    $a[2][1][0] = 11
    $a[2][1][1] = 12

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

    Local $a[3][2][2] = [[[1,2],[3,4]],[[5,6],[7,8]],[[9,0],[11,12]]]

    [/autoit]
  • Array deklarieren?

    • BugFix
    • 25. August 2009 um 20:54

    Das machst keinen Sinn bei 3D oder mehr.
    Da geht dir die Übersicht verloren. Es ist da besser nach der Deklaration zu befüllen.
    Also:

    [autoit]

    Local $a[3][2][2]
    $a[0][0][0] =
    $a[0][0][1] =
    $a[0][1][0] =
    $a[0][1][1] =

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

    $a[1][0][0] =
    $a[1][0][1] =
    $a[1][1][0] =
    $a[1][1][1] =

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

    $a[2][0][0] =
    $a[2][0][1] =
    $a[2][1][0] =
    $a[2][1][1] =

    [/autoit]
  • Array deklarieren?

    • BugFix
    • 25. August 2009 um 20:35

    Na du gibst die Anzahl der Dimensionen durch je ein eckiges Klammerpaar an.

    [autoit]

    Local $a[10][2][2]
    Local $a[9][9][9][9]

    [/autoit]
  • Verknüpfung erstellen

    • BugFix
    • 25. August 2009 um 08:50

    Steht in der Hilfe doch schon sauber erklärt.
    Aber hier nochmal:

    [autoit]

    ; allgemein
    FileCreateShortcut('kpl_Pfad_der_Datei', 'Linkpfad')

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

    ; Bsp.
    $Path = 'C:\Programme\Ein_Programm\programm.exe' ; Speicherort des Programms
    $Link = @DesktopDir & '\proggi.lnk' ; <== Link auf Desktop als Name "proggi"
    FileCreateShortcut($Path, $Link, 'C:\Programme\Ein_Programm') ; <== Angabe WorkDir bei vielen Programmen erforderlich

    [/autoit]
  • Hostname to IP

    • BugFix
    • 24. August 2009 um 15:31

    _TCPIpToName()

  • Hostname to IP

    • BugFix
    • 24. August 2009 um 14:18

    TCPNameToIP()

  • Fenster Verstecker

    • BugFix
    • 24. August 2009 um 13:52
    Zitat von Sithlord95

    Danke Bugfix das du die Tags gesetzt hast und den Spoiler natürlich.


    Kannst ja mal probieren, die Tags von Hand zu schreiben: [ spoiler ] [ autoit ] code [ /autoit ] [ /spoiler ]
    Natürlich ohne Leerzeichen.

  • Regex und Binärdateien

    • BugFix
    • 24. August 2009 um 13:48

    Probier es mal, indem du als Pattern die Hexwerte der Zeichen verwendest, für deinen zweiten Fall
    chr(0)&chr(16)&chr(65) wäre das: "\x00\x10\x41"

  • Variable im Zahlenbereich

    • BugFix
    • 24. August 2009 um 12:19

    Meinst du sowas:

    [autoit]

    Func _IsInRange($Value, $Von, $Bis)
    If $Value >= $Von And $Value <= $Bis Then Return True
    Return False
    EndFunc

    [/autoit]
  • letzter Lauf einer Batch über Datum prüfen

    • BugFix
    • 24. August 2009 um 11:53
    Zitat von firewalldevil

    aber ich weiß nicht wie ich es ins script bekomme... ?(


    ?( Hast du dir mal mein Bsp. angeschaut? Das tut genau dieses.

  • letzter Lauf einer Batch über Datum prüfen

    • BugFix
    • 24. August 2009 um 11:45

    Hier mal ein Lösungsvorschlag:

    Spoiler anzeigen
    [autoit]

    #Include <Date.au3>
    Local $INI = @ScriptDir & '\backupRun.ini', $intervall
    Local $Batch = 'Pfad der Batch'
    If Not FileExists($INI) Then
    Do
    $intervall = InputBox('Backup-Intervall', 'Bitte Sicherungsintervall angeben (Tage)', 7)
    Until $intervall <> ''
    IniWrite($INI, 'backup', 'intervall', $intervall)
    IniWrite($INI, 'backup', 'last', '2000/01/01')
    EndIf
    $intervall = IniRead($INI, 'backup', 'intervall', 7)

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

    If _DateDiff('D', IniRead($INI, 'backup', 'last', '2000/01/01'), _NowCalcDate()) < $intervall Then
    Exit MsgBox(0, 'Abbruch', 'Neue Sicherung noch nicht erforderlich.')
    EndIf

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

    If MsgBox(262180,"Start Batch","Soll die Batchdatei jetzt gestartet werden?") = 7 Then
    Exit MsgBox(0, 'Abbruch', 'Verarbeitung abgebrochen!')
    EndIf

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

    IniWrite($INI, 'backup', 'last', _NowCalcDate())
    ShellExecuteWait($Batch) ; <== evtl. WorkingDir mit angeben
    MsgBox(0, 'Fertig', 'Batchverarbeitung abgeschlossen.')

    [/autoit]
  • aus combo eine section auswählen und in textfeld anzeigen

    • BugFix
    • 24. August 2009 um 09:20

    Aus dem Kopf, aber sollte klappen:

    [autoit]

    #cs - eine INI-Sektion
    [section]
    a=123
    b=456
    c=789
    #ce

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

    $INI = 'der Pfad der INI'
    $aSection = IniReadSection($INI, 'section') ; <== liefert 2D-Array mit Schlüssel-Wert-Paaren

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

    ; so kannst du einen String mit allen Werten der Sektion für ein Edit erstellen:
    $strForEdit = ''
    For $i = 1 To UBound($aSection) -1
    $strForEdit &= $aSection[$i][0] & '=' & $aSection[$i][1] & @CRLF
    Next

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

    ; und jetzt ins Edit schreiben
    GUICtrlSetData($Edit, $strForEdit)

    [/autoit]
  • aus combo eine section auswählen und in textfeld anzeigen

    • BugFix
    • 23. August 2009 um 23:10
    Zitat von svrroot

    oder sogar schon nach der auswahl bei der combobox


    Ist gar nicht so schwer:
    - INI Section Names in Combo laden
    - ersten Wert als default setzen (ist somit in der Combo sichtbar)
    - mit GUICtrlRead(Combo) wird der aktuelle Sektionsname gelesen
    - mit diesem Namen wendest du die Funktion INIReadSection
    - die gelesenen Schlüssel-Wert-Paare dieser Sektion gibst du in einem Edit aus

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™