Nein, dann meine ich die Fensterleiste.
Wie ich den Fenstinhalt, also das hinter meinen Buttons, mit einer Farbe oder einem Hintergrundbild versehen kann weiß ich inzwischen.
Dort wo "Microtik Enabled Interfaces" steht, ich habe es mal mit einem Pfeil markiert möchte ich z.B. im Hintergrund die Farbe z.B. dunkleres Grau oder Gelb o.ä. haben.
Beiträge von MotDy2k
-
-
Hi,
klasse, DANKE!
Werde ich mir mal alles in Ruhe heute Abend anschauen.
THX@autoiter
Mit Formularen meine ich die Form Objekte, also die Fenster / Formulare werden sie ja auch in anderen Sprachen genannt.
Also solche, die ich mit dem KODA FormDesigner z.B. erstellen kann. -
Hi,
so Zentrieren der Fenster habe ich auch geschafft, das war wirklich sehr einfach.
Aber außer für die Hindergrundfarbe bzw. ein Bild in den Hintergrund zu setzen habe ich nur etliche Fragen gefunden wie man die Hintergrundfarbe der Titelleiste ändert.
Nur keine Antwort dazu, außer sehr alte (5-8 Jahre) mit der Aussage das es nicht möglich ist.
Stimmt das, ist es wirklich nicht möglich die Hintergrundfarbe der Titelleiste / Header zu ändern?
Oder auf einfache Art das Aussehen der Formulare an das Standard Windows Design / Symbole usw. anzupassen? -
Habe ich gemacht, sofern der Zieldateiname anders ist erhalte ich auch meine MsgBox.
Aber er übernimmt den Wert nicht und sofern ich dann in der geöffneten GUI den Dateinamen noch Mal ändere bekomme ich MsgBox auch nicht mehr.Zudem funktioniert die Prüfung ob die Datei bereits existiert nicht.
Das ich eine GUI schließen muss wusste ich so nicht, ich dachte das passiert in dem Moment wenn das Script den Bereich verlässt.
Na dann werde ich noch Mal gucken wie man das macht.Aktualisierung:
So ich habe es korrekt hin bekommen und es funktioniert auch alles
DANKEIch suche nebenbei auch schon sehr lange nach einer Möglichkeit die Hintergrundfarbe von dem Formulartitel / Header wie auch die Schaltflächen (Minimieren, Maximieren, Schließen) zu ändern bzw. diese auszublenden o.ä.
Also die Hintergrundfarbe von dem GUICreate Header meine ich.Und gibt es eine einfache Möglichkeit die Formulare / Fenster zu zentrieren?
-
Das Problem mit der Schriftgröße habe ich "gelöst", ich habe in einem anderen Beitrag etwas dazu von Oscar gefunden:
AutoIt$iAppDPI = RegRead('HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics', 'AppliedDPI') GUICtrlSetFont(-1, 10 / $iAppDPI * 96, 400, 0, 'Verdana')Und wegen dem GUI anstatt einer Inputbox, doch der Code ist von mir.
Ich hatte vorhin halt nicht das ganze Script neu rein kopiert sondern nur den Teil der in der Do Until Anweisung steht.
Hier das gesamte Script.
Wenn das GUI zur Eingabe für den neuen Dateinamen offen ist, komme ich da einfach nicht raus - außer durch Beenden.
Dabei ist es völlig egal was mein eingibt.AutoIt
Alles anzeigen#Region #AutoIt3Wrapper_Icon=MikroTik.ico #AutoIt3Wrapper_Compression=3 #EndRegion #include <MsgBoxConstants.au3> #include <Array.au3> #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> Global $FileContent Global $fileToUse Global $newFileName Global $sourceFileName Global $path $newFileName = 0 Opt("GUIResizeMode", $GUI_DOCKAUTO+$GUI_DOCKLEFT+$GUI_DOCKRIGHT+$GUI_DOCKTOP+$GUI_DOCKBOTTOM+$GUI_DOCKHCENTER+$GUI_DOCKVCENTER+$GUI_DOCKWIDTH+$GUI_DOCKHEIGHT) #Region ### START Koda GUI section ### Form=d:\mikrotik\f_start.kxf $F_Start = GUICreate("MikroTik Enabled Interfaces", 692, 323, 423, 362) GUISetIcon("D:\Mikrotik\MikroTik.ico", -1) GUISetBkColor(0xFFFFFF) $B_End = GUICtrlCreateButton("Beenden", 480, 153, 137, 40) GUICtrlSetFont(-1, 10, 800, 0, "Verdana") $B_FileOpen = GUICtrlCreateButton("Datei wählen", 64, 153, 137, 40) GUICtrlSetFont(-1, 10, 800, 0, "Verdana") $B_Start = GUICtrlCreateButton("Start", 274, 153, 137, 40) GUICtrlSetFont(-1, 10, 800, 0, "Verdana") $L_Titel = GUICtrlCreateLabel("Aktive Interfaces aus MikroTik Konfiguration filtern", 121, 8, 430, 35) GUICtrlSetFont(-1, 11, 800, 0, "Verdana") $L_Version = GUICtrlCreateLabel("V 1.0", 624, 8, 34, 17) GUICtrlSetFont(-1, 8, 400, 0, "Verdana") $L_Info1 = GUICtrlCreateLabel("Unterstützt werden MikroTik RSC Files", 16, 72, 271, 22) GUICtrlSetFont(-1, 12, 400, 0, "Arial") $L_Info2 = GUICtrlCreateLabel("Das Tool filtert alle aktivierten Interfaces und speichert diese in einem neuem Konfigurationsfile.", 16, 96, 660, 22) GUICtrlSetFont(-1, 12, 400, 0, "Arial") $L_Path = GUICtrlCreateLabel("Dateipfad:", 24, 232, 75, 20) GUICtrlSetFont(-1, 10, 400, 0, "Verdana") $L_Source = GUICtrlCreateLabel("Quelldatei:", 24, 264, 75, 20) GUICtrlSetFont(-1, 10, 400, 0, "Verdana") $L_Destination = GUICtrlCreateLabel("Zieldatei:", 24, 296, 75, 20) GUICtrlSetFont(-1, 10, 400, 0, "Verdana") GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $B_FileOpen OpenFile() Case $B_Start Edit() Case $B_End Exit EndSwitch WEnd Func OpenFile() $newFileName = 0 $path = @DesktopDir $fileToUse = FileOpenDialog("MikroTik Konfigurationsdatei wählen", $path, "MikroTik RSC Datei (*.rsc)", 1 ) If @error Then MsgBox($MB_ICONERROR,"Fehler","Keine Datei ausgewählt!") Else $sourceFileName = 0 $path = $fileToUse $split = StringInStr($path, '\', 1, -1) $sourceFileName = StringMid($path, $split+1) $path = StringLeft($path, $split) GUICtrlCreateLabel($path, 100, 232, 562, 20) GUICtrlSetFont(-1, 10, 400, 0, "Verdana") GUICtrlCreateLabel($sourceFileName, 100, 264, 562, 20) GUICtrlSetFont(-1, 10, 400, 0, "Verdana") $FileContent = FileRead($fileToUse) Do $Input = GUICreate("Ausgabedatei", 400, 200, 423, 362) $newFileName = GUICtrlCreateInput($sourceFileName, 11, 66, 307, 21) GUICtrlCreateLabel("Neuer Dateiname", 9, 9, 129, 17) $B_OK = GUICtrlCreateButton("OK", 100, 94, 112, 26) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE ExitLoop Case $B_OK ExitLoop EndSwitch WEnd if FileExists($path & $newFileName) Then MsgBox($MB_ICONINFORMATION, "Fehler", "Datei ist schon vorhanden !") EndIf Until FileExists($path & $newFileName) = 0 If $newFileName <> "0" Then GUICtrlCreateLabel($newFileName, 100, 296, 562, 20) GUICtrlSetFont(-1, 10, 400, 0, "Verdana") Endif EndIf EndFunc Func Edit() If $newFileName == "0" Then MsgBox($MB_ICONINFORMATION, "Fehler", "Verarbeitung nicht möglich" & @CRLF & "Quell- und Zieldatei prüfen !") EndIf If $newFileName <> "0" Then $aOut = StringRegExp($FileContent, '(?s)add configuration.+?disabled=no.+?name=\\*\s*(.+?)\s+', 3) $sOut = '' ProgressOn("Verarbeite Daten", "Fortschritt") For $i = 0 To UBound($aOut) - 1 $sOut &= 'enable ' & $aOut[$i] & @CRLF ProgressSet($i) Sleep(5) Next ProgressSet(100, "Erledigt, Datei wird gespeichert") Sleep(500) $newFileName = $path & $newFileName $hFile = FileOpen($newFileName, 2) If $hFile <> -1 Then FileWrite($hFile, "/interfaces" & @CRLF) FileWrite($hFile, $sOut) FileClose($hFile) EndIf ProgressOff() MsgBox($MB_ICONINFORMATION, "Abgeschlossen", "Datei wurde unter: " & @CRLF & $newFileName & @CRLF & "gespeichert!") EndIf EndFunc -
Habe wegen der Schrift noch Mal geschaut, es ist wirklich die DPI Einstellung.
Also auf meinem PC 100% auf dem anderen 125%.Lässt sich sowas pauschal lösen, das wird ja fast jeder anders eingestellt haben.
Oder kann mann die Einstellung irgendwie Abfragen und die Schriftgröße je nach DPI Einstellung in Variablen legen o.ä. ? -
Hi,
Bezüglich der Schriftart, könnte sein das die DPI-Einstellung anders ist das müsste ich noch Mal prüfen.
Gibt es dafür denn eine Lösung? So ist es ja nun so das der Text nicht mehr in die definierten Feld / Button größen passt und abgeschnitten wird.
Zudem kann das ja auf jedem PC anders sein.Ich habe versucht in der DO Until Anweisung die Inputbox durch ein GUI zu ersetzen, soweit auch kein Problem.
Aber mit einem Klick auf OK oder Enter komme ich nicht aus der GUI, ein ExitLoop usw. hat hier nicht funktioniert.Hier mal einer der Versuche:
AutoIt
Alles anzeigenDo $Input = GUICreate("Ausgabedatei", 400, 200, 423, 362) $newFileName = GUICtrlCreateInput($sourceFileName, 11, 66, 307, 21) GUICtrlCreateLabel("Neuer Dateiname", 9, 9, 129, 17) $B_OK = GUICtrlCreateButton("OK", 100, 94, 112, 26) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE ExitLoop Case $B_OK ExitLoop EndSwitch WEnd if FileExists($path & $newFileName) Then MsgBox($MB_ICONINFORMATION, "Fehler", "Datei ist schon vorhanden !") EndIf Until FileExists($path & $newFileName) = 0 -
So, nun bin ich eigentlich fast fertig.
Mit Sicherheit hätte man das ein oder andere einfacher, besser machen können - für Tipps bin ich Dankbar :).
Zudem habe noch ein paar Fragen, zu denen ich keine Lösung / Antwort gefunden habe.1. Ich habe die Schriftart Verdana verwendet, offensichtlich wird sie nicht im Script eingebettet.
Und obwohl die Schriftart auf einem anderen PC vorhanden ist, wird sie falsch angezeigt (zu groß usw.)
Wie bekomme ich es hin, das die Schriftart immer gleich ist, evtl. auch wenn diese auf dem PC nicht installiert ist?2. Ich wollte eigentlich gerne ein GUI für die Abfrage nach dem Zieldateinamen, vor allem weil bei der Inputbox OK und Cancel auftaucht (das Cancel stört mich)
Nur habe ich es nicht geschafft das GUI zu verlassen, also einen neuen Dateinamen mit zu übernehmen und somit das GUI und die Until Funktion zu verlassen.Aber hier erstmal das vorerst fertige Script
AutoIt
Alles anzeigen#Region #AutoIt3Wrapper_Icon=MikroTik.ico #AutoIt3Wrapper_Compression=3 #EndRegion #include <MsgBoxConstants.au3> #include <Array.au3> #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> Global $FileContent Global $fileToUse Global $newFileName Global $sourceFileName Global $path $newFileName = 0 Opt("GUIResizeMode", $GUI_DOCKAUTO+$GUI_DOCKLEFT+$GUI_DOCKRIGHT+$GUI_DOCKTOP+$GUI_DOCKBOTTOM+$GUI_DOCKHCENTER+$GUI_DOCKVCENTER+$GUI_DOCKWIDTH+$GUI_DOCKHEIGHT) #Region ### START Koda GUI section ### Form=d:\mikrotik\f_start.kxf $F_Start = GUICreate("MikroTik Enabled Interfaces", 692, 323, 423, 362) GUISetIcon("D:\Mikrotik\MikroTik.ico", -1) GUISetBkColor(0xFFFFFF) $B_End = GUICtrlCreateButton("Beenden", 480, 153, 137, 40) GUICtrlSetFont(-1, 10, 800, 0, "Verdana") $B_FileOpen = GUICtrlCreateButton("Datei wählen", 64, 153, 137, 40) GUICtrlSetFont(-1, 10, 800, 0, "Verdana") $B_Start = GUICtrlCreateButton("Start", 274, 153, 137, 40) GUICtrlSetFont(-1, 10, 800, 0, "Verdana") $L_Titel = GUICtrlCreateLabel("Aktive Interfaces aus MikroTik Konfiguration filtern", 121, 8, 430, 35) GUICtrlSetFont(-1, 11, 800, 0, "Verdana") $L_Version = GUICtrlCreateLabel("V 1.0", 624, 8, 34, 17) GUICtrlSetFont(-1, 8, 400, 0, "Verdana") $L_Info1 = GUICtrlCreateLabel("Unterstützt werden MikroTik RSC Files", 16, 72, 271, 22) GUICtrlSetFont(-1, 12, 400, 0, "Arial") $L_Info2 = GUICtrlCreateLabel("Das Tool filtert alle aktivierten Interfaces und speichert diese in einem neuem Konfigurationsfile.", 16, 96, 660, 22) GUICtrlSetFont(-1, 12, 400, 0, "Arial") $L_Path = GUICtrlCreateLabel("Dateipfad:", 24, 232, 75, 20) GUICtrlSetFont(-1, 10, 400, 0, "Verdana") $L_Source = GUICtrlCreateLabel("Quelldatei:", 24, 264, 75, 20) GUICtrlSetFont(-1, 10, 400, 0, "Verdana") $L_Destination = GUICtrlCreateLabel("Zieldatei:", 24, 296, 75, 20) GUICtrlSetFont(-1, 10, 400, 0, "Verdana") GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $B_FileOpen OpenFile() Case $B_Start Edit() Case $B_End Exit EndSwitch WEnd Func OpenFile() $newFileName = 0 $path = @DesktopDir $fileToUse = FileOpenDialog("MikroTik Konfigurationsdatei wählen", $path, "MikroTik RSC Datei (*.rsc)", 1 ) If @error Then MsgBox($MB_ICONERROR,"Fehler","Keine Datei ausgewählt!") Else $sourceFileName = 0 $path = $fileToUse $split = StringInStr($path, '\', 1, -1) $sourceFileName = StringMid($path, $split+1) $path = StringLeft($path, $split) GUICtrlCreateLabel($path, 100, 232, 562, 20) GUICtrlSetFont(-1, 10, 400, 0, "Verdana") GUICtrlCreateLabel($sourceFileName, 100, 264, 562, 20) GUICtrlSetFont(-1, 10, 400, 0, "Verdana") $FileContent = FileRead($fileToUse) Do $newFileName = InputBox("Neuer Dateiname", "Datei speichern unter: ", $sourceFileName ) If @error then $newFileName = 0 ExitLoop EndIf if FileExists($path & $newFileName) Then MsgBox($MB_ICONINFORMATION, "Fehler", "Datei ist schon vorhanden !") EndIf Until FileExists($path & $newFileName) = 0 If $newFileName <> "0" Then GUICtrlCreateLabel($newFileName, 100, 296, 562, 20) GUICtrlSetFont(-1, 10, 400, 0, "Verdana") Endif EndIf EndFunc Func Edit() If $newFileName == "0" Then MsgBox($MB_ICONINFORMATION, "Fehler", "Verarbeitung nicht möglich" & @CRLF & "Quell- und Zieldatei prüfen !") EndIf If $newFileName <> "0" Then $aOut = StringRegExp($FileContent, '(?s)add configuration.+?disabled=no.+?name=\\*\s*(.+?)\s+', 3) $sOut = '' ProgressOn("Verarbeite Daten", "Fortschritt") For $i = 0 To UBound($aOut) - 1 $sOut &= 'enable ' & $aOut[$i] & @CRLF ProgressSet($i) Sleep(5) Next ProgressSet(100, "Erledigt, Datei wird gespeichert") Sleep(500) $newFileName = $path & $newFileName $hFile = FileOpen($newFileName, 2) If $hFile <> -1 Then FileWrite($hFile, "/interfaces" & @CRLF) FileWrite($hFile, $sOut) FileClose($hFile) EndIf ProgressOff() MsgBox($MB_ICONINFORMATION, "Abgeschlossen", "Datei wurde unter: " & @CRLF & $newFileName & @CRLF & "gespeichert!") EndIf EndFunc -
Danke, damit komme ich schon deutlich weiter!
Sicher eine ganz blöde Frage, aber warum wird das Flag nicht wie in der Funktionserklärung in den eckigen Klammern angegeben?
Wie hier im Beispiel der Erklärung
StringRegExp ( "test", "pattern" [, flag = 0 [, offset = 1]] ) -
Vielen Dank für die Hilfe, soweit für mich auch alles verständlich und nachvollziehbar.
Nur die eine Zeile nicht ganz, könntest du mir die etwas erklären:Die Funktionsbeschreibung habe ich mir schon angeschaut und der Aufbau der Funktion ist mir auch verständlich.
Bis zu dem Teil "name=\\" komme ich auch noch mit, aber der Rest ist mir noch nicht ganz klar. Zumal am Ende das ", 3)" das Flag sein soll und in eckige Klammern gehört?
Oder irre ich mich da total? Das \s oder ?s ist mir auch klar, aber \\* z.B. nicht. -
Hi,
hier mal eine Beispielkonfiguration, die Werte wie Passworte usw. habe ich geändert aber das Dateiformat / der Aufbau ist unverändert.
Eigentlich ist die Dateiendung .rsc, aber ich musste sie umbenennen da die Dateiendung abgeleht wurde.Es geht um den Bereich ab "/caps-man interface", in diesem Fall bis "/ip pool" - allerdings könnte bei erweiterter Konfiguration ein anderer Abschnitt anstatt "/ip pool" folgen.
Im Prinzip benötige ich für jede Zeite von den "add configuration=" Zeilen, bei denen "disabled=no" ist, den Wert der hinter "name=" auftaucht, egal ob in der gleichen der 2. oder 3 o.ä. Zeile danach.
Der Text hinter "name=" kann natürlich unterschiedlich lang sein, daher halt bis zum nächsten Leerzeichen.
THX
-
Moin,
dank eurer Hilfe bin ich extrem weiter gekommen, habe auch etliches gelesen vor allem zur Bearbeitung von Textdateien wie auch Variablen usw. und den Konstanten auf Anraten von autoiter nicht die Flags bei z.B. einer MessageBox zu nutzen usw.
Hier mal ein Auszug aus meinem Script, die Möglichkeit die Verarbeitung der gewählen Datei mit OK zu starten oder Abzubrechen:
AutoItif MsgBox($MB_ICONINFORMATION + $MB_OKCANCEL,"Hinweis","Folgende Datei ausgewählt: "& @CRLF & $fileToUse) = 1 thenElse Exit
Ich habe es natürlich getestet und es funktioniert, aber ich würde gerne wissen ob es die richtige / eine gute / sinnvolle Vorgehensweise ist.
Mir ist schon klar, das es in dieser Scrpitsprache viele Möglichkeiten gibt, ans Ziel zu kommen daher gibt es sicher auch andere Lösungen.
Nur weil etwas funktioniert bedeuet es ja nicht, das es gut / richtig ist ;). Und ich lerne ja noch lange *g*Zudem habe ich noch eine Frage, zu der ich noch keine wirkliche Lösung gefunden habe und an die ich vorher nicht gedacht habe.
In dem Konfigurationsfile vom MikroTik ist es so, das bei einigen Interfaces der gesuchte Wert nicht unbedingt zwei Zeilen darunter steht - gerade bei Physikalischen Interfaces.Gibt es die Möglichkeit, im Script zu bestimmen suche das erste "add configuration=" und gib mir den Teil der nach dem darauffolgenden "name=" kommt, gleich wo er auftaucht und wie lang der Text ist bis zum Leerzeichen.
Also gleich ob in der Zeile oder ein, zwei, drei Zeilen später aber vor dem nächsten "add configuration="?
Klar gibt es die Möglichkeit sicherlich, ich weiß halt nur nicht wie *g*Hier noch Mal meine Beispielkonfiguration mit der neuen Zeile, die ich absichtlich mal in der Mitte eingefügt habe:
add configuration=xxxxxxx disabled=no mac-address=00:00:00:00:00:00 \
master-interface=1.4-67370665861D-1 name=\
1.4-67370665861D-1-9 radio-mac=00:00:00:00:00:00
add configuration=xxxxxxx disabled=no l2mtu=1600 mac-address=\
00:00:00:00:00:00 master-interface=none name=7-673706ADC0EA-1 \
radio-mac=00:00:00:00:00:00
add configuration=xxxxxxx disabled=yes mac-address=00:00:00:00:00:00 \
master-interface=1.4-67370665861D-1 name=\
1.4-67370665861D-1-10 radio-mac=00:00:00:00:00:00
add configuration=xxxxxxx disabled=no mac-address=00:00:00:00:00:00 \
master-interface=1.4-67370665861D-1 name=\
1.4-67370665861D-1-11 radio-mac=00:00:00:00:00:00Ich habe zwar schon vieles ausprobiert und getestet aber entweder stehe ich auf dem Schlauch oder habe den richtigen Weg noch nicht gefunden.
Habe auch schon versucht alle CRLF zu entfernen und nur vor jedem "add configuration=" einzufügen, damit ich den Teil aus dem Konfigfile der für mich interessant ist Zeilenweise habe.
Hat auch alles wunderbar funktionert, ich dachte es wäre einfacher dann den Text Zeilenweise nach "add configuration=" und dem "name=" durchsuchen zu lassen.
Also die Zeile als Grenze der Suche, nach dem Motto suche nur in der Zeile nach "name=" in der du auch das "add configuration=" hast und gib mir den Wert.Irgendwie habe ich mich aber wohl falsch ausgedrückt und das Ergebnis war eher dürftig *g*
Könnte mir hier bitte noch Mal jemand auf die Sprünge helfen?
Dank Euch!
THX
MotD -
Vielen Dank für deine Mühe / Hilfe und die absolut grandiosen Erklärungen!
Und natürlich hast du Recht, mein erster Beitrag klang wohl wirklich so *g*
Ich wollte eigentlich zum Ausdruck bringen, das ich mit AutoIT noch keine Erfahrungen habe, mich das Teil aber schon länger reizt.
Ganz Fremd bin ich in Scriptsprachen nicht, daher dachte ich ich könnte die Anforderung mal in AutoIT versuchen und dabei den Umgang damit lernen.@Bitnugger
Mir war schon klar, was es ist
Aber danke für den HInweis, künftig nenne ich es dann anders *g* -
Hi,
die gesamte Konfigurationsdatei möchte ich aufgrund der Passworte, SSIDs usw. eher nicht posten.
Aber ich denke, du hast recht es sind Zeilenumbrüche + LineFeed (CRLF) in der Konfigurationsdatei.Ich habe mir dein Script auch gerade mal angeschaut, es ausprobiert und versuche es gerade zu verstehen.
So im groben komme ich auch dahinter, nur müsste ich ja eine Datei frei wählen können und unter einem anderen Namen das Ergebnis abspeichern.
In deinem Schipt hast du den gesamten Text ja in einer Variable, den er sich eigentlich komplett selbst suchen sollte.THX
MotD -
Hallo,
ich habe noch absolut keine Erfahrungen mit AutoIT, würde mich aber gern näher damit beschäftigen.
Da das Tool recht umfangreich scheint, würde ich gern mit einem existierenden Problem bei mir beginnen und daran lernen.
Ich habe eine Textdatei, es handelt sich um eine Konfigurationsdatei aus einem Mikrotik Routerboard, aus der ich einen bestimmten Teil benötige, wenn eine gewisse Bedingung erfüllt ist.Hier mal ein Beispiel von einem Inhalt, den wichtigen Teil habe ich mal farblich markiert:
add configuration=xxxxxxx disabled=no mac-address=00:00:00:00:00:00 \
master-interface=1.4-67370665861D-1 name=\
1.4-67370665861D-1-9 radio-mac=00:00:00:00:00:00
add configuration=xxxxxxx disabled=yes mac-address=00:00:00:00:00:00 \
master-interface=1.4-67370665861D-1 name=\
1.4-67370665861D-1-10 radio-mac=00:00:00:00:00:00
add configuration=xxxxxxx disabled=no mac-address=00:00:00:00:00:00 \
master-interface=1.4-67370665861D-1 name=\
1.4-67370665861D-1-11 radio-mac=00:00:00:00:00:00Natürlich ist in der Datei vor dem ersten "add configuration" und danach noch anderer Text, der ignoriert werden kann.
Ich müsste nun, immer wenn disable=no auftaucht den Wert der übernächsten Zeile in eine neue Textdatei bekommen und noch ein "enable " davorsetzen.
Also wie hier in dem Beispiel eine neue Textdatei mit dem Inhalt:enable 1.4-67370665861D-1-9
enable 1.4-67370665861D-1-11Vielleicht kann mir ja jemand behilflich sein, bevor ich noch weitere Stunden versuche das hin zu bekommen.
Ich habe zwar schon einiges gelesen, aber ich bin noch nicht auf der richtigen Spur um das zu realisieren.THX
MotD