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

Beiträge von i2c

  • Berechnung Listview - Arrays

    • i2c
    • 28. September 2010 um 13:02

    In etwas so?

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.2.0
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ComboConstants.au3>
    #include <Array.au3>
    #include <GuiListView.au3>
    #include <File.au3>
    #include <String.au3>
    Global $checkthebutton = "1"
    Global $money = "nicht definiert"

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

    ;***********************************************
    If @MON = "01" Then $month = "Januar"
    If @MON = "02" Then $month = "Februar"
    If @MON = "03" Then $month = "März"
    If @MON = "04" Then $month = "April"
    If @MON = "05" Then $month = "May"
    If @MON = "06" Then $month = "Juni"
    If @MON = "07" Then $month = "Juli"
    If @MON = "08" Then $month = "August"
    If @MON = "09" Then $month = "September"
    If @MON = "10" Then $month = "Oktober"
    If @MON = "11" Then $month = "November"
    If @MON = "12" Then $month = "Dezember"

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

    If @WDAY = 1 Then $day = "Sonntag"
    If @WDAY = 2 Then $day = "Montag"
    If @WDAY = 3 Then $day = "Dienstag"
    If @WDAY = 4 Then $day = "Mittwoch"
    If @WDAY = 5 Then $day = "Donnerstag"
    If @WDAY = 6 Then $day = "Freitag"
    If @WDAY = 7 Then $day = "Samstag"
    ;************************************************

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

    ;***********************************************
    GUICreate("Kontomanager " & $day & ", der " & @MDAY & "." & $month & " " & @YEAR, 650, 400)
    $ok = GUICtrlCreateButton("OK", 310, 30, 50, 20)
    $enable = GUICtrlCreateButton("ändern", 370, 30, 80, 20)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreateLabel("Tag", 10, 10, 100, 25)
    GUICtrlCreateLabel("Monat", 110, 10, 100, 25)
    GUICtrlCreateLabel("Jahr", 210, 10, 100, 25)
    GUICtrlCreateLabel("___________________________________________________________________________________________________________________________________________________", 0, 50, 800, 15)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Jahr = GUICtrlCreateCombo("", 210, 30, 80, 25, $CBS_DROPDOWNLIST)
    GUICtrlSetData(-1, "2010|2011|2012|2013|2014|2015|2016|2017|2018|2019|2020")
    $Monat = GUICtrlCreateCombo("", 110, 30, 80, 25, $CBS_DROPDOWNLIST)
    GUICtrlSetData(-1, "Januar|Februar|März|April|Juni|Juli|August|September|Oktober|November|Dezember")
    $Tag = GUICtrlCreateCombo("", 10, 30, 80, 25, $CBS_DROPDOWNLIST)
    GUICtrlSetData(-1, "2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31")
    $exit = GUICtrlCreateButton("Beenden", 545, 370, 100, 25)
    GUICtrlCreateLabel("Betrag:", 350, 70, 100, 25)
    $betrag = GUICtrlCreateInput("", 350, 90, 50, 20)
    GUICtrlCreateLabel("€", 405, 90, 50, 25)
    GUICtrlSetFont(-1, 12)
    GUICtrlCreateLabel("Grund der Geldausgabe:", 500, 70, 200, 25)
    $grund = GUICtrlCreateInput("", 420, 90, 200, 20)
    GUICtrlSetData($Monat, $month)
    GUICtrlSetData($Tag, @MDAY)
    GUICtrlSetData($Jahr, @YEAR)
    $ausgaben = GUICtrlCreateCheckbox("Ausgaben", 550, 10, 100, 25)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $einkommen = GUICtrlCreateCheckbox("Einkommen", 550, 35, 100, 25)
    $hinzu = GUICtrlCreateButton("Hinzufügen", 350, 120, 80, 25)
    $save = GUICtrlCreateButton("Speichern", 450, 120, 80, 25)
    GUICtrlCreateLabel("Ihre Ausgaben:", 10, 70, 100, 20)
    GUICtrlCreateLabel("Aktueller Geldstand: " & $money, 350, 160, 200, 25)
    $multi = GUICtrlCreateButton("berechnen", 350, 180, 100, 20)
    GUISetState(@SW_SHOW)

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

    $listview = GUICtrlCreateListView("Betrag|Information ", 10, 90, 300, 300)

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $exit
    Exit
    Case $ok
    GUICtrlSetState($Jahr, $GUI_DISABLE)
    GUICtrlSetState($Monat, $GUI_DISABLE)
    GUICtrlSetState($Tag, $GUI_DISABLE)
    GUICtrlSetState($ok, $GUI_DISABLE)
    GUICtrlSetState($enable, $GUI_ENABLE)
    $checkthebutton = "0"
    Case $enable
    GUICtrlSetState($Jahr, $GUI_ENABLE)
    GUICtrlSetState($Monat, $GUI_ENABLE)
    GUICtrlSetState($Tag, $GUI_ENABLE)
    GUICtrlSetState($ok, $GUI_ENABLE)
    GUICtrlSetState($enable, $GUI_DISABLE)
    $checkthebutton = "1"
    Case $hinzu
    If GUICtrlRead($ausgaben) = 1 And GUICtrlRead($einkommen) = 1 Then
    MsgBox(0, "Achtung", "Sie müssen sich entscheiden ob der Betrag als Einkommen oder Ausgaben berechnet werden soll.")
    Else
    If $checkthebutton = "1" Then
    MsgBox(0, "Achtung", "Bitte erst das Datum bestätigen ! ")
    Else
    If GUICtrlRead($ausgaben) = 1 Then
    GUICtrlCreateListViewItem("- " & GUICtrlRead($betrag) & " €" & "|" & GUICtrlRead($grund), $listview)
    GUICtrlSetData($grund, "")
    GUICtrlSetData($betrag, "")
    Else
    GUICtrlCreateListViewItem("+ " & GUICtrlRead($betrag) & " €" & "|" & GUICtrlRead($grund), $listview)
    GUICtrlSetData($grund, "")
    GUICtrlSetData($betrag, "")
    EndIf
    EndIf
    EndIf
    Case $save
    DirCreate(@ScriptDir & "\Daten\" & @YEAR & "\" & $month)
    $lol = _Listview_GetItemsArray($listview)
    For $a = 1 To $lol[0][0]
    FileWrite(@ScriptDir & "\Daten\" & @YEAR & "\" & $month & "\" & $month & ".txt", $lol[$a][0] & " - " & $lol[$a][1] & @CRLF)
    Next
    Case $multi
    $omg = _Listview_GetItemsArray($listview)
    MsgBox(0, "", $omg)
    EndSwitch
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd

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

    Func _Listview_GetItemsArray($listview)
    Local $iCount = _GUICtrlListView_GetItemCount($listview)
    Local $iColum = _GUICtrlListView_GetColumnCount ($listview)
    Local $aListview[$iCount]
    For $i = 1 To $iCount
    $aTmp = _GUICtrlListView_GetItemTextArray($listview, $i-1)
    $aListview[$i-1] = StringStripWS(StringTrimRight($aTmp[1], 1), 8)
    Next
    _ArrayDisplay($aListview)
    $result = Execute(_ArrayToString($aListview,""))
    Return $result
    EndFunc

    [/autoit]
  • PHP Web Interface

    • i2c
    • 27. September 2010 um 16:14

    In dem du den Usernamen bzw. eine userID aus der Session ausliest.
    http://www.usegroup.de/software/phptutorial/sessions.html

  • PHP Web Interface

    • i2c
    • 27. September 2010 um 16:04

    Das ist nicht unbedingt schwer realisierbar.
    Du brauchst eine Datenbank mit einer Tabelle, in der du die Informationen für einen neuen Auftrag ablegst, z.B.

    • eine eindeutige id (auto_incremen)
    • Titel des Auftrag
    • Auftraggeber
    • Status (int1 - 0=offen, 1=in Bearbeitung, 2=erledigt)
    • bearbeitet von (Benutzername oder ID)


    Das Interface selbst ist ja im Prinzip nur eine HTML-Tabelle die mit einer SELECT * FROM table Anfrage in einer While-Schleife gefüllt wird. In der Tabellenspalte für den Status würde sich ein <select> anbieten, das dann je nach Inhalt von $row['Status'] gesetzt wird (Switch-Case). Für $row['Status']=1 && $row['bearbeitet von']<>angemeldeter Benutzer würde man das <select> auf disabled setzen. Dadurch kann niemand anderes den Auftrag übernehmen, der User der es bereits getan hat kann ihn aber wieder auf offen setzen.

    Die Funktion zum ändern des Status ist dann nichts anderes als ein UPDATE table SET Status=x, bearbeitet von=username mit einem neuen Aufruf der Seite um die aktuellen Werte angezeigt zu bekommen.

    Ich kenn jetzt keine OpenSource Auftragsverwaltung aber osTicket ist vom Prinzip her nicht weit davon entfernt. Ein Blick in das ToDo-Plugin für das WBB kann auch nicht schaden.

  • StringInString Problem

    • i2c
    • 27. September 2010 um 15:13

    ungetestet

    [autoit]

    #include <array.au3>
    $string = "http://www.autoit.de/index.php?form=ThreadAdd&boardID=2"
    $aResult = StringRegExp($string, "(http:\/\/.+)\/", 1)
    _ArrayDisplay($aResult)
    MsgBox(0, "", $aResult[0])

    [/autoit]
  • PHP _ PLZ,BL und Stadt

    • i2c
    • 27. September 2010 um 01:32

    8| Du hast deine eigene PLZ-Datenbank?
    Ich hatte ja gehofft da kommt sowas wie "Ich benutze die Google API." der meinetwegen die von Yahoo.
    Darüber liesse sich beides abrufen.

    http://maps.google.de/maps/geo?q=17033&output=xml

    edit: der passende GMap API Link wäre http://maps.google.de/maps/api/geocode/xml?address=17033&sensor=false

  • PHP _ PLZ,BL und Stadt

    • i2c
    • 27. September 2010 um 01:06

    Ok, man braucht mindestens die ersten 2 Ziffern wenn's genau werden soll.
    http://www.jetzt-tv.net/fileadmin/img/…staedte_plz.jpg
    Nach der Methode gibt es zwar ein paar "dunkle" Flecken, weil die PLZ Gebiete sich nicht immer genau an die Ländergrenzn halten, aber so müsstest du keine API benutzen.

    Wie hast du denn das Problem mit den Städten gelöst?

  • PHP _ PLZ,BL und Stadt

    • i2c
    • 27. September 2010 um 00:56

    Das jedes Bundesland aus der PLZ abgeleitet werden kann, weisst du?
    Erste Ziffer ;)

  • Zufällige Daten aus ini wiedergeben.

    • i2c
    • 26. September 2010 um 19:50
    Spoiler anzeigen
    [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $BtnNormal
    $aRet = _StringBetween($sFileRead, '<normal>' & @CRLF, @CRLF & '</normal>')
    $aNormal = StringSplit($aRet[0], @CRLF, 3)
    GUICtrlSetData($Edit1, $aNormal[Random(0, UBound($aNormal) - 1, 1)] & @CRLF)
    EndIf

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

    Case $BtnHardcore
    $aRet = _StringBetween($sFileRead, '<hard>' & @CRLF, @CRLF & '</hard>')
    $aHard = StringSplit($aRet[0], @CRLF, 3)
    GUICtrlSetData($Edit1, $aHard[Random(0, UBound($aHard) - 1, 1)] & @CRLF)
    EndIf
    EndSw

    [/autoit]
  • Zufällige Daten aus ini wiedergeben.

    • i2c
    • 26. September 2010 um 19:37

    Anstelle von

    [autoit]

    ConsoleWrite($aNormal[Random(0,UBound($aNormal)-1,1)] & @CRLF)

    [/autoit][autoit]

    GUICtrlSetData($Edit1, $aNormal[Random(0,UBound($aNormal)-1,1)] & @CRLF)

    [/autoit]
  • Zufällige Daten aus ini wiedergeben.

    • i2c
    • 26. September 2010 um 19:12
    [autoit]

    _WriteBetweenTag($Datenbank, 'normal', GUICtrlRead($Edit1))

    [/autoit]
  • Zufällige Daten aus ini wiedergeben.

    • i2c
    • 26. September 2010 um 17:40
    Code
    ;~ Die folgenden Zeilen stehen normalerweise in deiner .txt
    "<normal>" & @CRLF & _     ;hier beginnt die Sektion NORMAL
    "test_n_x" & @CRLF & _      ;dann folgen die einzelnen Werte
    "test_n_y" & @CRLF & _
    "test_n_a" & @CRLF & _
    "test_n_b" & @CRLF & _
    "</normal>" & @CRLF & _     ;hier endet die Sektion NORMAL
    @CRLF & _
    "<hard>" & @CRLF & _
    "test_h_x" & @CRLF & _
    "test_h_y" & @CRLF & _
    "test_h_a" & @CRLF & _
    "test_h_b" & @CRLF & _
    "</hard>" & @CRLF
    Alles anzeigen

    ... muss natürlich aus dem Skript raus. Das holst du dir doch aus der .txt

  • Zufällige Daten aus ini wiedergeben.

    • i2c
    • 26. September 2010 um 16:45

    Bin zwar nicht BugFix aber ich versuch's mal. Hoffe die Kommentare sind einigermassen verständlich.

    Spoiler anzeigen
    [autoit]


    #include <String.au3>
    #include <Array.au3>

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

    ;~ $sFileRead ist der String, in den du den Inhalt deiner Datei mit FIleRead() einliest.
    $sFileRead = _
    ;~ Die folgenden Zeilen stehen normalerweise in deiner .txt
    "<normal>" & @CRLF & _ ;hier beginnt die Sektion NORMAL
    "test_n_x" & @CRLF & _ ;dann folgen die einzelnen Werte
    "test_n_y" & @CRLF & _
    "test_n_a" & @CRLF & _
    "test_n_b" & @CRLF & _
    "</normal>" & @CRLF & _ ;hier endet die Sektion NORMAL
    @CRLF & _
    "<hard>" & @CRLF & _
    "test_h_x" & @CRLF & _
    "test_h_y" & @CRLF & _
    "test_h_a" & @CRLF & _
    "test_h_b" & @CRLF & _
    "</hard>" & @CRLF

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

    ;~ hier wird aus $sFileRead alles zwischen den Zeilen <normal> und </normal> extrahiert.
    $aRet = _StringBetween($sFileRead, '<normal>' & @CRLF, @CRLF & '</normal>')
    ;~ und dann an den Zeilenumbrüchen gesplittet
    $aNormal = StringSplit($aRet[0], @CRLF, 3)
    ;~ $aNormal enthält dann alle Zeilen aus der Sektion <normal>
    ;~ _ArrayDisplay($aNormal)

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

    ;~ hier wird aus $sFileRead alles zwischen den Zeilen <hard> und </hard> extrahiert.
    $aRet = _StringBetween($sFileRead, '<hard>' & @CRLF, @CRLF & '</hard>')
    ;~ und dann wieder an den Zeilenumbrüchen gesplittet
    $aHard = StringSplit($aRet[0], @CRLF, 3)
    ;~ $aNHard enthält dann alle Zeilen aus der Sektion <hard>
    ;~ _ArrayDisplay($aHard)

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

    ; zufällige Ausgabe Normal
    ConsoleWrite($aNormal[Random(0,UBound($aNormal)-1,1)] & @CRLF)

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

    ; zufällige Ausgabe Hard
    ConsoleWrite($aHard[Random(0,UBound($aHard)-1,1)] & @CRLF)

    [/autoit]
  • Eine kleine Frage.

    • i2c
    • 25. September 2010 um 23:36

    Ich frage jetzt nur rein aus Interesse. Wie würdest du dieses Programm nennen und wozu braucht man das?
    Streams abspielen, Gleichungen lösen, Editor - unterschiedlicher können die Funktionen für ein einzelnes Programm sicher nicht sein. Du solltest vlt. ein wenig ausführlicher werden. WIe soll z.B. die GUI für so eine eierlegende Wollmilchsau aussehen?

    Unser Toaster putzt morgen übrigens mein Auto und der Garagentoröffner macht dazu Musik. :rolleyes:

  • Zufällige Daten aus ini wiedergeben.

    • i2c
    • 25. September 2010 um 20:31

    Ich hät's jetzt eher so gemacht ...

    &quot;ungetestet&quot;
    [autoit]

    $ini = ""
    $section = ""
    $aSection = IniReadSection($ini, $section)
    $random = Random(0, $aSection[0][0], 1)

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

    MsgBox(64, "", $aSection[$random][0] & "=" & $aSection[$random][1])

    [/autoit]

    In einer .ini gibt's ja eigentlich auch Sektionsnamen. Nach der _FileCoutLines - FileReadLine Methode würde irgendwann unweigerlich dieser Name anstelle eines Wertes in der Ausgabe erscheinen.

  • Aktuelle Version von AutoIT?

    • i2c
    • 24. September 2010 um 20:29

    http://www.autoitscript.com/autoit3/downloads.shtml


    edit: Wozu der Link zu Bild.de?

  • If Abfrage Problem

    • i2c
    • 24. September 2010 um 13:33

    Bin mir nicht sicher ob dir das hilft....

    [autoit]

    If _FFSearch("Hunde") Then
    MsgBox(0, "Ergebnis", "Hunde gefunden")
    If _FFSearch("Collies") Or _FFSearch("Pudel") Then
    MsgBox(0, "Ergebnis", "Collies oder Pudel gefunden")
    If _FFSearch("Welpen") Then
    MsgBox(0, "Ergebnis", "Welpen gefunden")
    Else
    MsgBox(0, "Ergebnis", "Collies oder Pudel gefunden aber keine Welpen")
    EndIf
    Else
    MsgBox(0, "Ergebnis", "Hunde gefunden aber weder Collies noch Pudel")
    EndIf
    Else
    MsgBox(0, "Ergebnis", "keine Hunde gefunden")
    EndIf

    [/autoit]
  • Url Button

    • i2c
    • 24. September 2010 um 13:27

    Weil du die erste While-Schleife nie verlässt und in dei 2te springst.
    Pack den 2ten Button sammt Input mit in die erste While-Schleife, die 2te ist überflüssig.

  • Rechtslage Autoit?

    • i2c
    • 24. September 2010 um 12:24

    chip

    Zitat

    Bereits die Registrierung eines Domain-Namens, welcher mit einer bekannten Marke identisch ist, ist eine verbotene Benutzungshandlung gemäß § 14 Abs. 2 Nr. 3 MarkenG, wenn die Gefahr der Rufausbeutung und Verwässerung besteht, z. B. durch Beeinträchtigung des Werbewertes der bekannten Marke.

    Das entspricht exakt dem, was ich oben schrieb. Die reine Registrierung der Domain ist und bleibt vollkommen legal. Entscheidend ist, was man damit macht. Dadurch, das ich https://autoit.de/www.xyz.de in meinem Domainreservoir habe, verstosse ich gegen keinerlei Recht.

  • Code Anpassung

    • i2c
    • 24. September 2010 um 02:24

    Sorry, mir ist grad nach ein wenig Offtopic :).

    Coding styles are like assholes. Everyone has one, but nobody likes anyone elses.

  • Rechtslage Autoit?

    • i2c
    • 21. September 2010 um 20:28

    Man darf sich grundsätzlich erstmal jede Domain registrieren. Dabei spielt es keine Rolle ob es sich dabei um einen geschützen Software- oder Markennamen handelt. Rechtlich relevant ist, was man dann mit der Domain anstellt.

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™