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

Beiträge von Kijan

  • FileWrite über 700 Zeilen Code

    • Kijan
    • 24. September 2010 um 13:38

    ich bin immer noch für StringRegExp ;)

    dann suchst zB nach Func XY() bis EndFunc und dann hast das schon mal in einem Array
    aber dafür gibts hier bessere Experten wenn du es mit StringRegExp machen willst als mich^^

  • FileWrite über 700 Zeilen Code

    • Kijan
    • 24. September 2010 um 12:19

    vllt einfach normal einlesen und dann mit StringRegExp die bestimmten stellen raussuchen
    dann haste nen Array und den kannste mit ner Schleife in dein File schreiben^^

  • Word Dokument durchsuchen und Infos rausfiltern

    • Kijan
    • 24. September 2010 um 11:44

    Falls es jemanden interessiert, ich habs wie folgt gelöst:

    Spoiler anzeigen
    [autoit]

    Global $iTabellen = $oWordApp.ActiveDocument.Tables.Count

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

    Dim $aTabelle[1][4]

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

    $oTabelle = $oWordApp.ActiveDocument.Tables(2)
    ReDim $aTabelle[$oTabelle.Range.Rows.Count][$oTabelle.Range.Columns.Count]
    $iColumn = 0
    $iRow = 0
    For $oZelle In $oTabelle.Range.Cells
    $strText = $oZelle.Range.Text
    If $iColumn == 1 Then
    $aTemp = StringRegExp($strText,"([BIM])[^BIM]*([BIM]*)[^BIM]*([BIM]*)",1,1)
    $sTemp = ""
    For $k = 0 To UBound($aTemp)-1
    $sTemp &= $aTemp[$k] & " "
    Next
    $sTemp = StringTrimRight($sTemp,1)
    $aTabelle[$iRow][$iColumn] = $sTemp
    ElseIf $iColumn == 2 Then
    $aTabelle[$iRow][$iColumn] = StringTrimRight($strText,3)
    ElseIf $iColumn == 3 Then
    $aTemp = StringSplit(StringReplace(StringTrimRight($strText,2), @CR, '/'),"/")
    For $k = 0 To UBound($aTemp)-1
    $aTemp[$k] = StringStripWS($aTemp[$k],3)
    Next
    $sTemp = ""
    $aTemp = _ArrayUnique($aTemp, 1, 1)
    For $k == 1 To $aTemp[0]
    If $aTemp[$k] <> "" Then $sTemp &= $aTemp[$k] & "/"
    Next
    $sTemp = StringTrimRight($sTemp,1)
    $aTabelle[$iRow][$iColumn] = $sTemp
    Else
    $aTabelle[$iRow][$iColumn] = StringTrimRight($strText,2)
    EndIf

    $iColumn += 1
    If $oZelle.Column.IsLast == True Then
    $iRow += 1
    $iColumn = 0
    EndIf

    Next

    [/autoit]
  • Word Dokument durchsuchen und Infos rausfiltern

    • Kijan
    • 22. September 2010 um 07:28

    Huhu
    Ich hab nen *.doc Dokument und in der ist eine Tabelle.
    Ich würde gern die Daten da raus filtern und in AutoIt weiter verarbeiten.

    Ich lad ma nen Beispielfile hoch.
    Ich werd mich noch ein wenig versuchen und wenn ich weiter bin editiere ich den Beitrag.
    Aber wenn wer schon auf anhieb weiß wie es geht, dann her damit xD

    EDIT:
    OK es hat ein wenig Zeit muss jetzt erst einmal was anderes erledigen.
    Ich werd wohl erst in einer Woche dazu kommen.
    Wenn ihr was wisst, ich schau ab und an hier rein^^

    Dateien

    E-Runde.zip 10,43 kB – 419 Downloads
  • Text auslesen dann nach jedem 7.Buchstaben trennen. und den code zurck in Buchstaben Vewandeln.

    • Kijan
    • 16. September 2010 um 14:27

    stimmt auch wieder^^
    so noch ma mit StringMid^^
    aber wie gesagt man müsste halt für andere sonderfälle wie öüäß etc und Zahlen auch noch If machen sonst gehts^^

    Spoiler anzeigen
    [autoit]

    $sAusgabe = ""
    $sString = "000000100010010001100100101101101000110011"
    ;String einfach mit $sString = FileOpen("Filename") einlesen

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

    For $i = 0 To StringLen($sString)/7-1
    $sBuchstabe = StringMid($sString,$i*7+1,7)
    $iBuchstabe = 0

    For $j = 0 To StringLen($sBuchstabe)
    $iBuchstabe += StringMid($sBuchstabe,StringLen($sBuchstabe)-$j,1)*2^$j
    Next

    If $iBuchstabe > 25 Then ;kleine Buchstaben
    MsgBox(0,"",Chr($iBuchstabe+71))
    $sAusgabe &= Chr($iBuchstabe+71)
    Else ;große Buchstaben
    MsgBox(0,"",Chr($iBuchstabe+65))
    $sAusgabe &= Chr($iBuchstabe+65)
    EndIf
    Next
    MsgBox(0,"",$sAusgabe)

    [/autoit]
  • Text auslesen dann nach jedem 7.Buchstaben trennen. und den code zurck in Buchstaben Vewandeln.

    • Kijan
    • 16. September 2010 um 13:41

    mit meiner Methode brauch man keine Arrays xD

  • Text auslesen dann nach jedem 7.Buchstaben trennen. und den code zurck in Buchstaben Vewandeln.

    • Kijan
    • 16. September 2010 um 12:21

    also wenn alle Buchstaben hintereinander wie im Ascii satz liegen dann kannst du deine textdatei ja mal hiermit testen

    Spoiler anzeigen
    [autoit]

    $sAusgabe = ""
    $sString = "000000100010010001100100101101101000110011"
    ;String einfach mit $sString = FileOpen("Filename") einlesen

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

    For $i = 0 To StringLen($sString)/7
    $sBuchstabe = StringLeft($sString,7)
    $sString = StringTrimLeft($sString,7)
    $iBuchstabe = 0

    For $j = 0 To StringLen($sBuchstabe)
    $iBuchstabe += StringRight($sBuchstabe,1)*2^$j
    $sBuchstabe = StringTrimRight($sBuchstabe,1)
    Next

    MsgBox(0,"",Chr($iBuchstabe+65))
    $sAusgabe &= Chr($iBuchstabe+65)
    Next
    MsgBox(0,"",$sAusgabe)

    [/autoit]

    das sollte gehen solange deine Nummern von A bis Z durchgehend laufen
    für die andern Zeichen die nicht mit dem Ascii Zeichensatz übereinstimmen kann man ja mit if abfangen...

    also sowas wie folgendes BSP für die kleinbuchstaben noch

    Spoiler anzeigen
    [autoit]

    If $iBuchstabe > 25 Then
    MsgBox(0,"",Chr($iBuchstabe+71))
    $sAusgabe &= Chr($iBuchstabe+71)
    Else
    MsgBox(0,"",Chr($iBuchstabe+65))
    $sAusgabe &= Chr($iBuchstabe+65)
    EndIf

    [/autoit]

    halt den Summand anpassen je nach dem was für Zeichen du alles haben kannst da

  • Suche nach einer Möglichkeit eine GUI zu erstellen, die zwar Eingaben annimmt, aber nicht den Focus an sich reißt.

    • Kijan
    • 13. September 2010 um 14:24

    du kannst ja mit ispressed alle tasten einbauen ^^ so dacht ihc das halt ^^
    in meinem beispiel hatte ich das mal schnell für 2 tasten gemacht

  • Suche nach einer Möglichkeit eine GUI zu erstellen, die zwar Eingaben annimmt, aber nicht den Focus an sich reißt.

    • Kijan
    • 13. September 2010 um 10:46

    das einzige was mir dazu einfallen würde währe mit _isPressed
    is zwar umständlich aber spontan wür dmir nich mehr dazu einfallen

    Spoiler anzeigen
    [autoit]

    #include <misc.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    GUICreate("My GUI edit") ; will create a dialog box that when displayed is centered

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

    $myedit = GUICtrlCreateEdit("First line" & @CRLF, 176, 32, 121, 97, $ES_AUTOVSCROLL + $WS_VSCROLL)

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

    GUISetState()
    $dll = DllOpen("user32.dll")

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

    While 1
    $msg = GUIGetMsg()

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop

    If _IsPressed("41", $dll) Then
    ; will be append dont' forget 3rd parameter
    GUICtrlSetData($myedit, "A", 1)
    ElseIf _IsPressed("42", $dll) Then
    ; will be append dont' forget 3rd parameter
    GUICtrlSetData($myedit, "B", 1)
    EndIf

    WEnd

    [/autoit]
  • Digits

    • Kijan
    • 11. September 2010 um 13:38

    wenn du 24 array brauchst könntest du eventuell 3d array nehmen...
    also $array[][][] sowas^^

  • Digits

    • Kijan
    • 11. September 2010 um 12:53

    ich raff grad nich was du das veruschst mit der schleife^^

    wenn du nen 2d array in ner schleife zuweisen willst dann ungefähr so:

    Spoiler anzeigen
    [autoit]


    Dim $array[24][5]
    For $i = 0 To UBound($array)-1
    For $j = 0 To UBound($array,2)-1
    $array[$i][$j] = "Wert"
    Next
    Next

    [/autoit]

    wenn du dann dein Array weiter benutzen willst musst das ungefähr so machen:

    Spoiler anzeigen
    [autoit]

    for $k=0 to 23
    _GDIPlus_GraphicsFillPolygon($grafik,$array[$k][0],$Brush)
    next

    [/autoit]

    Schau dir vllt auch noch diesen Link an besonders den Teil mit Array^^

  • Digits

    • Kijan
    • 11. September 2010 um 00:09

    hi
    also erst mal zu deiner ende funktion^^

    Spoiler anzeigen
    [autoit]

    func ende()
    Exit
    _GDIPlus_GraphicsDispose($grafik)
    _GDIPlus_Shutdown()
    EndFunc

    [/autoit]

    wenn du willst das shutdown was bringt musst du soweit ich weis es vor dem Exit machen, da sonst es nciht mehr ausgeführt wird^^

    dann zu deiner frage mit den Guis...
    Ich hab mal kurz was getestet was doof aussieht aber es geht^^
    du kannst doch einfach nur eine Große GUI machen und dann zB deine erste zahl schreiben und dann deine 2. versetzt dazu....

    Spoiler anzeigen
    [autoit]

    func _1(ByRef $ziffer,$grafik, $xDiff = 0)
    $teil=StringSplit($ziffer,".")
    if $teil[1]=1 then $strichsenkrecht1=_GDIPlus_GraphicsfillRect($grafik,$x + $xDiff,$y2+10,10,$hoch,$Brush)
    if $teil[2]=1 then $strichsenkrecht2=_GDIPlus_GraphicsfillRect($grafik,$x + $xDiff,$y,10,$hoch,$Brush)
    if $teil[3]=1 then $strichsenkrecht3=_GDIPlus_GraphicsfillRect($grafik,$x1 + $xDiff,$y2+10,10,$hoch,$Brush)
    if $teil[4]=1 then $strichsenkrecht4=_GDIPlus_GraphicsfillRect($grafik,$x1 + $xDiff,$y,10,$hoch,$Brush)

    [/autoit]


    so zb als ausschnitt und dann fängste für die erste zahl halt mit 0 an und dann versetzt du dann die 2. zahl einfach...
    ich bastel mal was etwas schöner aussieht als das was ich grad hab ^^

    EDIT:
    Hier mal was was nur ein gui hat und auch die uhr anzeigt^^
    schön machen musst du, weil ich auch noch nicht viel mit GDI gemacht hab xD
    ich hab mal damits einfacher wird für mich die dreiecke rausgenommen^^
    Es ist gewiss nicht die beste lösung aber schon ein Schritt in die richtige richtung ;)
    mal schaun was du daraus machst xD

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Include <Date.au3>
    #include <GDIPlus.au3>

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

    HotKeySet("{ESC}", "ende")
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("", 1000,250, 602, 5,$WS_POPUP)
    GUISetState()
    ;~ $Form11 = GUICreate("", 100,250,1062, 5,$WS_POPUP)
    ;~ GUISetState()
    ;~ $Form2 = GUICreate("", 100,250, 940, 5,$WS_POPUP)
    ;~ GUISetState()
    ;~ $Form21 = GUICreate("", 100,250,832, 5,$WS_POPUP)
    ;~ GUISetState()
    ;~ $Form3 = GUICreate("", 100,250, 710, 5,$WS_POPUP)
    ;~ GUISetState()
    ;~ $Form31 = GUICreate("", 100,250,602, 5,$WS_POPUP)
    ;~ GUISetState()
    #EndRegion ### END Koda GUI section ###

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

    #region Declaration
    Global $hoch=100
    Global $breit=40
    Global $x =910
    Global $x1=980
    $x2=110
    $x3=80
    $x4=210
    Global $y =20
    $y2=120
    $y4=220
    Global $ziffer[10]
    $ziffer[1]="0.0.1.1.0.0.0.0.0.0.0.1.1.1.1.0.0.0.0.0.0"
    $ziffer[2]="1.0.0.1.1.1.1.0.0.1.1.1.1.0.0.1.1.1.1.1.1"
    $ziffer[3]="0.0.1.1.1.1.1.0.0.0.0.1.1.1.1.1.1.1.1.1.1"
    $ziffer[4]="0.1.1.1.0.1.0.1.1.0.0.1.1.1.1.0.0.1.1.0.0"
    $ziffer[5]="0.1.1.0.1.1.1.1.1.0.0.0.0.1.1.1.1.1.1.1.1"
    $ziffer[6]="1.1.1.0.0.1.1.1.1.1.1.0.0.1.1.0.0.1.1.1.1"
    $ziffer[7]="0.0.1.1.1.0.0.0.0.0.0.1.1.1.1.1.1.0.0.0.0"
    $ziffer[8]="1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1"
    $ziffer[9]="0.1.1.1.1.1.0.1.1.0.0.1.1.1.1.1.1.1.1.0.0"
    $ziffer[0]="1.1.1.1.1.0.1.1.1.1.1.1.1.1.1.1.1.0.0.1.1"

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

    dim $dreieck[4][2]
    dim $dreieck1[4][2]
    dim $dreieck2[4][2]
    dim $dreieck3[4][2]
    dim $dreieck4[4][2]
    dim $dreieck5[4][2]
    dim $dreieck6[4][2]
    dim $dreieck7[4][2]
    dim $dreieck8[4][2]
    dim $dreieck9[4][2]
    dim $dreieck10[4][2]
    dim $dreieck11[4][2]
    dim $dreieck12[4][2]
    dim $dreieck13[4][2]
    $d =$x &": "&$y &":"&$x+10 &":"&$y &":" &$x+5 &":"&$y-5
    $d1=$x &":" &$y2 &":"&$x+10 &":"&$y2 &":" &$x+5 &":"&$y2+5
    $d2=$x &":" &$y2+10 &":"&$x+10 &":"&$y2+10 &":" &$x+5 &":"&$y2+5
    $d3=$x &":" &$y4+10 &":"&$x+10 &":"&$y4+10 &":" &$x+5 &":"&$y4+15
    $d4=$x3 &":" &$y &":"&$x3+10 &":"&$y &":" &$x3+5 &":"&$y-5
    $d5=$x3 &":" &$y2 &":"&$x3+10 &":"&$y2 &":" &$x3+5 &":"&$y2+5
    $d6=$x3 &":" &$y2+10 &":"&$x3+10 &":"&$y2+10 &":" &$x3+5 &":"&$y2+5
    $d7=$x3 &":" &$y4+10 &":"&$x3+10 &":"&$y4+10 &":" &$x3+5 &":"&$y4+15
    $d8=$x+10 &": "&$y-5 &":"&$x+20 &":"&$y-10 &":" &$x+20 &":"&$y
    $d9=$x+70 &": "&$y-5 &":"&$x+60 &":"&$y-10 &":" &$x+60 &":"&$y
    $d10=$x+10 &": "&$y2+5 &":"&$x+20 &":"&$y2 &":" &$x+20 &":"&$y2+10
    $d11=$x+70 &": "&$y2+5 &":"&$x+60 &":"&$y2 &":" &$x+60 &":"&$y2+10
    $d12=$x+10 &": "&$y4+15 &":"&$x+20 &":"&$y4+10 &":" &$x+20 &":"&$y4+20
    $d13=$x+70 &": "&$y4+15 &":"&$x+60 &":"&$y4+10 &":" &$x+60 &":"&$y4+20
    arrayfill($dreieck,$d)
    arrayfill($dreieck1,$d1)
    arrayfill($dreieck2,$d2)
    arrayfill($dreieck3,$d3)
    arrayfill($dreieck4,$d4)
    arrayfill($dreieck5,$d5)
    arrayfill($dreieck6,$d6)
    arrayfill($dreieck7,$d7)
    arrayfill($dreieck8,$d8)
    arrayfill($dreieck9,$d9)
    arrayfill($dreieck10,$d10)
    arrayfill($dreieck11,$d11)
    arrayfill($dreieck12,$d12)
    arrayfill($dreieck13,$d13)
    #endregion

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

    _GDIPlus_Startup()
    $grafik=_GDIPlus_GraphicsCreateFromHWND($Form1)
    ;~ $grafik1=_GDIPlus_GraphicsCreateFromHWND($Form11)
    ;~ $grafik2=_GDIPlus_GraphicsCreateFromHWND($Form2)
    ;~ $grafik3=_GDIPlus_GraphicsCreateFromHWND($Form21)
    ;~ $grafik4=_GDIPlus_GraphicsCreateFromHWND($Form3)
    ;~ $grafik5=_GDIPlus_GraphicsCreateFromHWND($Form31)
    Global $Brush = _GDIPlus_BrushCreateSolid(0xff00bb00)
    _GDIPlus_GraphicsClear($grafik,0x00ffffff)
    ;~ _GDIPlus_GraphicsClear($grafik1,0x00ffffff)
    ;~ _GDIPlus_GraphicsClear($grafik2,0x00ffffff)
    ;~ _GDIPlus_GraphicsClear($grafik3,0x00ffffff)
    ;~ _GDIPlus_GraphicsClear($grafik4,0x00ffffff)
    ;~ _GDIPlus_GraphicsClear($grafik5,0x00ffffff)

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

    While 1

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

    ziffer($grafik)
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    Sleep(1000)
    _GDIPlus_GraphicsClear($grafik,0x00ffffff)
    WEnd

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

    func ziffer($gra)
    $uhr=_NowTime(5)
    $zeit=StringSplit($uhr,":")
    $b=stringright($zeit[3],1)
    $c=stringleft($zeit[3],1)
    $e=stringright($zeit[2],1)
    $f=stringleft($zeit[2],1)
    $g=stringright($zeit[1],1)
    $h=stringleft($zeit[1],1)

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

    _1($b, $gra)
    _1($c, $gra, -100)
    _1($e, $gra, -300)
    _1($f, $gra, -400)
    _1($g, $gra, -600)
    _1($h, $gra, -700)

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

    EndFunc

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

    func _1($b,$grafik, $xDiff = 0)

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

    $teil=StringSplit($ziffer[$b],".")

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

    if $teil[1]=1 then $strichsenkrecht1=_GDIPlus_GraphicsfillRect($grafik,$x + $xDiff,$y2+10,10,$hoch,$Brush)
    if $teil[2]=1 then $strichsenkrecht2=_GDIPlus_GraphicsfillRect($grafik,$x + $xDiff,$y,10,$hoch,$Brush)
    if $teil[3]=1 then $strichsenkrecht3=_GDIPlus_GraphicsfillRect($grafik,$x1 + $xDiff,$y2+10,10,$hoch,$Brush)
    if $teil[4]=1 then $strichsenkrecht4=_GDIPlus_GraphicsfillRect($grafik,$x1 + $xDiff,$y,10,$hoch,$Brush)

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

    if $teil[5]=1 then $strichwaagerecht1=_GDIPlus_GraphicsfillRect($grafik,$x + $xDiff+20,$y-10,$breit,10,$Brush)
    if $teil[6]=1 then $strichwaagerecht2=_GDIPlus_GraphicsfillRect($grafik,$x + $xDiff+20,$y2,$breit,10,$Brush)
    if $teil[7]=1 then $strichwaagerecht3=_GDIPlus_GraphicsfillRect($grafik,$x + $xDiff+20,$y4+10,$breit,10,$Brush)

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

    ;~ if $teil[8]=1 then $dreiecksenkrecht1=_GDIPlus_GraphicsFillPolygon($grafik,$dreieck,$Brush)
    ;~ if $teil[9]=1 then $dreiecksenkrecht2=_GDIPlus_GraphicsFillPolygon($grafik,$dreieck1,$Brush)
    ;~ if $teil[10]=1 then $dreiecksenkrecht3=_GDIPlus_GraphicsFillPolygon($grafik,$dreieck2,$Brush)
    ;~ if $teil[11]=1 then $dreiecksenkrecht4=_GDIPlus_GraphicsFillPolygon($grafik,$dreieck3,$Brush)

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

    ;~ if $teil[12]=1 then $dreiecksenkrecht5=_GDIPlus_GraphicsFillPolygon($grafik,$dreieck4,$Brush)
    ;~ if $teil[13]=1 then $dreiecksenkrecht6=_GDIPlus_GraphicsFillPolygon($grafik,$dreieck5,$Brush)
    ;~ if $teil[14]=1 then $dreiecksenkrecht7=_GDIPlus_GraphicsFillPolygon($grafik,$dreieck6,$Brush)
    ;~ if $teil[15]=1 then $dreiecksenkrecht8=_GDIPlus_GraphicsFillPolygon($grafik,$dreieck7,$Brush)

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

    ;~ if $teil[16]=1 then $dreieckwaagerecht1=_GDIPlus_GraphicsFillPolygon($grafik,$dreieck8,$Brush)
    ;~ if $teil[17]=1 then $dreieckwaagerecht2=_GDIPlus_GraphicsFillPolygon($grafik,$dreieck9,$Brush)
    ;~ if $teil[18]=1 then $dreieckwaagerecht3=_GDIPlus_GraphicsFillPolygon($grafik,$dreieck10,$Brush)
    ;~ if $teil[19]=1 then $dreieckwaagerecht4=_GDIPlus_GraphicsFillPolygon($grafik,$dreieck11,$Brush)
    ;~ if $teil[20]=1 then $dreieckwaagerecht5=_GDIPlus_GraphicsFillPolygon($grafik,$dreieck12,$Brush)
    ;~ if $teil[21]=1 then $dreieckwaagerecht6=_GDIPlus_GraphicsFillPolygon($grafik,$dreieck13,$Brush)
    EndFunc

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

    func arrayfill(byref $dreieck,$coords)
    $a2=StringSplit($coords,":")
    $1=1
    $2=0
    for $q=1 to 6
    $dreieck[0][0]=3
    $dreieck[$1][$2]=$a2[$q]
    if $2=0 then
    $2=1
    else
    $2=0
    $1+=1
    EndIf
    Next
    return $dreieck
    EndFunc

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

    func ende()
    _GDIPlus_GraphicsDispose($grafik)
    _GDIPlus_Shutdown()
    Exit
    EndFunc

    [/autoit]
  • Mein Guicreator...

    • Kijan
    • 8. September 2010 um 21:14

    aber das mit den variablen würd ich noch rein nehmen weil wenn ich jetzt zb ne GUI mache mit viele buttons müsste man hinterher noch händisch jdem button eine variable geben^^

  • Pfad eines geöffneten Projects auslesen

    • Kijan
    • 8. September 2010 um 14:42

    steht der pfad denn wirklich nur da wo du ihn im screen gezeigt hast? nirgendwo anders im programm?

  • Bitte um Hilfe bei einem eigenen Skript

    • Kijan
    • 8. September 2010 um 13:45

    in etwa so zb

    Spoiler anzeigen
    [autoit]

    #include <Process.au3>
    #include <Array.au3>
    AutoItSetOption("WinTitleMatchMode", 4)
    Run("notepad.exe")
    WinWaitActive("[CLASS:Notepad]", "")
    $pid = WinGetProcess("[CLASS:Notepad]", "")
    $name = _ProcessGetName($pid)

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

    $myWinList = _WinListWithPID()
    $find = _ArraySearch($myWinList,$pid,0,0,0,0,1,2)

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

    MsgBox(0, "Notepad - " & $pid, "Name: " & $myWinList[$find][0] & @CRLF & _
    "WinHandle: " & $myWinList[$find][1] & @CRLF & _
    "PID: " & $myWinList[$find][2])

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

    Func _WinListWithPID()
    $aWin = WinList()
    Redim $aWin[Ubound($aWin, 1)][3]
    For $n = 1 to (Ubound($aWin, 1) - 1)
    $aWin[$n][2] = WinGetProcess($aWin[$n][1])
    Next
    Return $aWin
    EndFunc

    [/autoit]

    so könntest das handle erlangen und weiter weist doch bestimmt alleine^^

  • Pfad eines geöffneten Projects auslesen

    • Kijan
    • 8. September 2010 um 13:27

    ich kenn mich damit zwar nicht aus aber vllt speichert es erst da rein wenn du dein projekt speicherst?

  • Pfad eines geöffneten Projects auslesen

    • Kijan
    • 8. September 2010 um 11:39

    achte drauf SEuBo hatte in seinem ersten Beispiel eeprom.h nich eeprom_config.h
    also würden änderungen bei zweiteren keien einfluss auf das suchergebnis bringen^^

  • Bitte um Hilfe bei einem eigenen Skript

    • Kijan
    • 8. September 2010 um 11:24

    wenn du unbedingt mit mehreren gleichen arbeiten willst solltest vllt eher mit PIDs arbeiten
    Die bekommste zB mit WinGetProcess()

  • Pfad eines geöffneten Projects auslesen

    • Kijan
    • 8. September 2010 um 11:11

    naja Fehleranfälliger weis nicht^^
    bei mir findet er laut Hilfe: Findet jedes einzelne Zeichen (außer Zeilenschaltungen).
    und bei SEuBo findet er alles was kein " ist.
    Das einzige was den unterschied macht ist, wenn in deiner datei nen zeilenumbruch drin ist, kann es passieren das SEuBos den Zeilenumbruch mit liest und bei meiner Variante dürfte er da aufhören... ich teste es mal
    aber sonst dürfte nicht so groß der unterschied da sein

    EDIT
    ja bei seiner Variante findet er auch sowas:
    "..\..\
    ..\..\version\v04_02
    \eeprom_config.h"

    bei meiner Variante nicht...

    dafür würde er bei mir sowas finden:
    "..\..\"..\..\version\v04_02"\eeprom_config.h"

    also " in dem String
    welches bei seiner Variante nicht gefunden werden dürfte

    was natürlich nich so viel sinn macht, sowas in der datei zu haben aber naja

  • Pfad eines geöffneten Projects auslesen

    • Kijan
    • 8. September 2010 um 10:58

    also bei meinem Beispiel kannst die " wegbekommen indem du einfach hinter filename= noch "" anhängst.
    ausgeben kannst es wie SEuBo mit MsgBox(0,"", $test[0])
    Die gefundenen Ergebnisse werden halt in einem Array gespeichert ...
    EDIT
    bei meiner version sollte ncoh \\ vor eeprom_config.h eingefügt werden damit er den andern nicht findet
    also :

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    $string = "</Unit>" & @CRLF & _
    "<Unit filename=""..\..\..\..\..\bios\B03_1520\src\LLT\EEPROM\ba_llt_eeprom_config.h"" />" & @CRLF & _
    "<Unit filename=""..\..\..\..\version\v04_03\eeprom.h"" />" & @CRLF & _
    "<Unit filename=""..\..\..\..\version\v04_03\eeprom_config.h"" />" & @CRLF & _
    "<Unit filename=""..\..\..\..\version\v04_03\eeprom_x.h"" />" & @CRLF & _
    "<Unit filename=""..\..\..\..\version\v04_03\fahroben.c"">" & @CRLF & _
    "<Option compilerVar=""CC"" />" & @CRLF & _
    "</Unit>" & @CRLF & _
    "<Unit filename=""..\..\..\..\version\v04_03\fahroben.h"" />" & @CRLF & _
    "<Unit filename=""..\..\..\..\version\v04_03\fehler.c"">" & @CRLF & _
    "<Option compilerVar=""CC"" />" & @CRLF & _
    "</Unit>"
    MsgBox(0,"",$string)

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

    $test = StringRegExp($string,"(?<=<Unit filename="")(.*)\\eeprom_config.h"" />",3)
    _ArrayDisplay($test)

    [/autoit]

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™