Hi!
Bau die Abfragen ein dann wird´s Funktionieren!
LG Kleiner
Hi!
Bau die Abfragen ein dann wird´s Funktionieren!
LG Kleiner
Hi!
For $i = 0 To UBound($Files2d) - 1
_ArraySearch($anegativliste, $Files2d[$i][0], 0, 0, 1, 1)
If @error Then
_ArraySearch($areferenz, $Files2d[$i][0], 0, 0, 1, 1)
If @error Then
$sOut &= $Files2d[$i][0] & ' ' & $Files2d[$i][1] & ' ' & $Files2d[$i][2] & @CRLF
EndIf
EndIf
Next
LG Kleiner
Hi!
Herzlich Willkommen und viel Spaß im Forum ![]()
Lg Kleiner
Hi!
Test mal!
GUICtrlCreateButton('test', 10, 50, 100, 22)
GUICtrlSetResizing(-1, $GUI_DOCKRIGHT + $GUI_DOCKWIDTH + $GUI_DOCKBOTTOM + $GUI_DOCKHEIGHT)
und wenn ich das richtig verstanden haben geht es um dein Code Gui da brauchst du nur $WS_OVERLAPPEDWINDOW + $WS_CLIPSIBLINGS in GUICreate
LG kleiner
Hi!
Die While schleife ist zu Schnell für GUICtrlSetTip($Button_2, "in-while") wenn du den Sleep erhöst kannst du aber das Skript nicht mehr abbrechen!
Warum willst du in der While immer und immer wieder ein und den selben wert setzen?
LG Kleiner
Hi!
Du musssssst dich schon mal mit Array ausseinander setzen dann kommt auch nicht so ein leichtsinniger Fehler!
aus:
If Not [$i] = "d:\nicht löschen.345" Then
If Not [$i] = "d:\nicht löschen\" Then
bitte so:
If Not $a345[$i] = "d:\nicht löschen.345" Then
If Not $a345[$i] = "d:\nicht löschen\" Then
und die zeile ist Überflüssig
If Not $a345[$i] = "d:\nicht löschen\" Then
[/autoit]Lg Kleiner
Hio!
Ein Vorschlag habe ich warum nicht ein String:
[autoit]$File_wirte = "BlackEyes StreamPlayer" & @CRLF & "Alle Rechte vorbehalten." & @CRLF & " " & @CRLF & "Lizenzvereinbarung / Urheberrechtshinweise" & @CRLF & " " & @CRLF & _
"VERTRAG FÜR ENDBENUTZER" & @CRLF & " " & @CRLF & "Die Benutzung des Programms ´´BlackEyes StreamPlayer´´ (im Folgenden ´´Software´´) setzt Ihr Einverständnis mit folgenden Punkten voraus :" & @CRLF & _
" " & @CRLF & "1. ZUSICHERUNG DER LIZENZ" & @CRLF & " " & @CRLF & "Der Autor sichert Ihnen eine kostenlose Lizenz der Software zu, falls Sie die Software für nichtkommerzielle Zwecke nutzen." & @CRLF & _
" " & @CRLF & "Wenn Sie die Anforderungen für den kostenlosen Gebrauch der Software nicht erfüllen, dürfen Sie die Software bis zu dreißig (30) Tage benutzen," & @CRLF & _
"um zu evaluieren, ob Sie eine kommerzielle Lizenz erwerben wollen. Die Lizenz für eine gewerbliche Nutzung ist eine Fallentscheidung." & @CRLF & _
"Der Autor ist in keiner Weise verpflichtet Lizenzen zu erteilen!" & @CRLF & " " & @CRLF & _
"Wenn Sie die Software kostenlos unter den hier genannten Bedingungen benutzen, haben Sie keinen Anspruch auf technische Unterstützung" & @CRLF & _
"irgendwelcher Art. Der Autor wird aber im Rahmen seiner Möglichkeiten technische Unterstützung leisten." & @CRLF & " " & @CRLF & "2. BESCHRÄNKTE GEWÄHRLEISTUNG" & @CRLF & " " & @CRLF & _
"Die Software wird Ihnen ´´so wie sie ist´´ zur Verfügung gestellt, ohne Gewährleistung seitens des Autors irgendeiner Art, " & @CRLF & _
"weder ausdrücklich noch konkludent, einschließlich, aber nicht beschränkt auf konkludente Gewährleistungen der Tauglichkeit, " & @CRLF & _
"der Eignung für einen bestimmten Zweck oder des Nichtbestehens einer Rechtsverletzung. Das gesamte Risiko, das sich aus dem Verwenden " & @CRLF & _
"oder der Leistung der Software ergibt, verbleibt bei Ihnen. In keinem Fall kann der Autor haftbar gemacht werden für irgendwelche Schäden," & @CRLF & _
"gleich welcher Art (einschließlich, aber nicht beschränkt auf entgangenen Gewinn, Betriebsunterbrechung, Verlust geschäftlicher Informationen " & @CRLF & _
"oder irgendeinen anderen Vermögensschaden), die aus dem Verwenden, der Unmöglichkeit oder Fehlerhaftigkeit, die Software zu verwenden," & @CRLF & _
"entstehen, und zwar auch dann, wenn der Autor zuvor auf die Möglichkeit solcher Schäden hingewiesen worden ist." & @CRLF & " " & @CRLF & "3. WEITERE EINSCHRÄNKUNGEN" & @CRLF & " " & @CRLF & _
"Sie sind nicht berechtigt, die Software zurückzuentwickeln (Reverse Engineering), zu dekompilieren oder zu disassemblieren." & @CRLF & _
"Eigentum und Urheberrecht an der Software liegen beim Autor." & @CRLF & " " & @CRLF & "4. COPYRIGHT" & @CRLF & " " & @CRLF & _
"Die Software wird sowohl durch Urheberrechtsgesetze und internationale Urheberrechtsverträge geschützt, als auch durch andere Gesetze" & @CRLF & _
"und Vereinbarungen über geistiges Eigentum." & @CRLF & " " & @CRLF & "5. WARTUNG" & @CRLF & " " & @CRLF & _
"Der Autor ist nicht verpflichtet, eine Wartung oder Überarbeitung der Software zu gewährleisten, allerdings unterliegen alle Wartungs- "
Und nur einmal in die Datei schreiben!
LG Kleiner
Hi!
Sehr schöne Idee mal sehen was du daraus machst! ![]()
Lg Kleiner
Hi!
Super!
in manchen fällen sicher nützlich! ![]()
LG Kleiner
Hi!
Der Gedanke ist soweit schon mal gut, entweder die Struktur oder die Datei als Platzhalter übergeben wonach geprüft werden soll, du könntest ein Array vorweg devinieren und
[autoit]StringRegExp
[/autoit]
Übergeben!
LG Kleiner
Hi!
So... Moin, als erstes Frage an dich wie Rufst du die Excel Datein auf ? Den Code von dir steht .xls sind es aber nicht .xlsx sind es jedenfall sagt das deine zip.
Zu deiner Frage?
_ArraySearch($areferenz, $Files2d[$i][$n], 0, 0, 1, $n +1)
[/autoit]
Ich habe das so verstanden wenn keiner von $Files2d in der ersten spalte gefunden wurde in den beiden Excel datein soll geprüft werden wahr usw..???????
Da schaut die func in dem moment in die Excel datei und gib das wieder was da steht. Ist wahrscheinlich nicht richtig oder??
LG Kleiner
Hi!
So????
#include <Array.au3>
#include <Excel.au3>
#include <File.au3>
Local $oreferenz = _ExcelBookOpen(@ScriptDir & "\referenz.xlsx", 1, False, "", "")
Local $onegativliste = _ExcelBookOpen(@ScriptDir & "\negativliste.xlsx", 1, False, "", "")
Local $areferenz = _ExcelReadSheetToArray($oreferenz)
Local $anegativliste = _ExcelReadSheetToArray($onegativliste)
Global $liste = "Q:\bnk\d_global\EDV\Batch\Diensteauswertung\Neu\liste.txt"
Global $aliste
_ExcelBookClose($oreferenz)
_ExcelBookClose($onegativliste)
_FileReadToArray($liste, $aliste)
;Sleep(3000)
[/autoit] [autoit][/autoit] [autoit]For $z = 1 To UBound($aliste) - 1
If FileExists("\\" & $aliste[$z] & "\d$\HaSo\" & "\dienstname.ini") Then
Local $dienstname = "\\" & $aliste[$z] & "\d$\HaSo\" & "dienstname.ini"
Local $dienststarttyp = "\\" & $aliste[$z] & "\d$\HaSo\" & "dienststarttyp.ini"
Local $dienststatus = "\\" & $aliste[$z] & "\d$\HaSo\" & "dienststatus.ini"
Dim $File1, $File2, $File3
_FileReadToArray($dienstname, $File1)
_FileReadToArray($dienststarttyp, $File2)
_FileReadToArray($dienststatus, $File3)
Dim $Files2d[$File1[0]][3]
For $i = 1 To $File1[0]
$Files2d[$i - 1][0] = $File1[$i]
$Files2d[$i - 1][1] = $File2[$i]
$Files2d[$i - 1][2] = $File3[$i]
Next
Local $sOut = ''
For $i = 0 To UBound($Files2d) - 1
_ArraySearch($anegativliste, $Files2d[$i][0], 0, 0, 1, 1)
If @error Then
_ArraySearch($areferenz, $Files2d[$i][0], 0, 0, 1, 1)
If @error Then
$sOut &= $Files2d[$i][0] & @TAB
For $n = 1 To 2
_ArraySearch($areferenz, $Files2d[$i][$n], 0, 0, 1, $n +1)
If @error Then
$sOut &= $Files2d[$i][$n] & @TAB
EndIf
Next
$sOut &= @CRLF
EndIf
EndIf
Next
ConsoleWrite($sOut & @CRLF)
Local $fh = FileOpen('log.txt', 1)
FileWrite($fh, $sOut)
FileClose($fh)
EndIf
Next
LG Kleiner
Hi!
Wie wehr es den mit dem Befehl?
GUICtrlCreateContextMenu($hTreeview)
[/autoit]Edit:/ den eigentlichen Autor könntest du auch Bitte in dein Skript aufnehmen!
Lg Kleiner
Hi!
Ein ausschnitt aus mein Task_Manager Klick Mich
;(Autor) Kleiner by AutoIT
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <GuiStatusBar.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
Local $laenge = 400
Local $objRefresher = ObjCreate('WbemScripting.SWbemRefresher')
Local $objRefreshableItem = $objRefresher.AddEnum(ObjGet('winmgmts:\\.\root\CIMV2'), 'Win32_PerfFormattedData_PerfOS_Processor')
$objRefresher.Refresh
If IsObj($objRefreshableItem) Then Local $aCPU[$objRefreshableItem.ObjectSet.Count]
Local $Set_Prog = 0, $core[UBound($aCPU) - 1], $l_core[UBound($aCPU) - 1], $P_core[UBound($aCPU) - 1]
If (@OSArch = 'X86') Then $Trans = 10
[/autoit] [autoit][/autoit] [autoit]Switch UBound($aCPU) - 1
Case 6
$laenge += 150
Case 8
$laenge += 250
Case 12
$laenge += 450
EndSwitch
$Form = GUICreate('Leistung', $laenge, 460, -1, -1, BitOR($WS_CAPTION, $WS_POPUP, $WS_SYSMENU), $WS_EX_TOPMOST)
For $i = 0 To UBound($aCPU) - 2
If $i > 0 Then $Set_Prog = 70 * $i
$core[$i] = GUICtrlCreateProgress(50 + $Set_Prog, 65, 60, 160, $PBS_VERTICAL)
$P_core[$i] = GUICtrlCreateLabel('', 50 + $Set_Prog, 230, 50, 20, $SS_CENTER)
$l_core[$i] = GUICtrlCreateLabel('CPU ' & $i + 1, 50 + $Set_Prog, 45, 50, 20, $SS_CENTER)
Next
Local $Arbeitspeicher = GUICtrlCreateProgress(50, 280, 80, 140, $PBS_VERTICAL)
Local $l_Arbeitspeicher = GUICtrlCreateLabel('Arbeitsspeicher', 40, 260, 100, 20, $SS_CENTER)
Local $P_Arbeitspeicher = GUICtrlCreateLabel('', 50, 425, 80, 20, $SS_CENTER)
GUICtrlCreateGroup('Physikalischer Speicher (MB)', 160, 300, 170, 110)
GUICtrlCreateLabel('Insgesamt : ', 180, 330, 60, 19)
Local $GesamtRAM = GUICtrlCreateInput('', 270, 330, 40, 19, $ES_READONLY + $ES_CENTER)
GUICtrlCreateLabel('Verfügbar : ', 180, 355, 60, 19)
Local $VerfuegbarerRAM = GUICtrlCreateInput('', 270, 355, 40, 19, $ES_READONLY + $ES_CENTER)
GUICtrlCreateLabel('Benutzt : ', 180, 380, 60, 19)
Local $BenutztRAM = GUICtrlCreateInput('', 270, 380, 40, 19, $ES_READONLY + $ES_CENTER)
GUISetState()
_CPU_Darstellung()
[/autoit] [autoit][/autoit] [autoit]Func _CPU_Darstellung()
Local $iTimer = TimerInit()
Local $iOnEventMode = Opt('GUIOnEventMode', 0), $aMSG
Do
$aMSG = GUIGetMsg()
If (Round(TimerDiff($iTimer)) > 875) Then
$mem = MemGetStats()
$aCPU = Refresh()
For $i = 0 To UBound($aCPU) - 2
GUICtrlSetData($core[$i], $aCPU[$i])
GUICtrlSetData($P_core[$i], $aCPU[$i] & '%')
Next
GUICtrlSetData($GesamtRAM, Round($mem[1] / 1024))
GUICtrlSetData($VerfuegbarerRAM, Round($mem[2] / 1024))
GUICtrlSetData($BenutztRAM, Round(($mem[1] - $mem[2]) / 1024))
GUICtrlSetData($Arbeitspeicher, Round(($mem[1] - $mem[2]) * 100 / $mem[1]))
GUICtrlSetData($P_Arbeitspeicher, Round(($mem[1] - $mem[2]) / 1024) & ' MB')
$iTimer = TimerInit()
EndIf
Until $aMSG = $GUI_EVENT_CLOSE
Opt('GUIOnEventMode', $iOnEventMode)
Exit
EndFunc ;==>_CPU_Darstellung
Func Refresh()
$objRefresher.Refresh
If IsObj($objRefreshableItem) Then
$i = 0
For $objItem In $objRefreshableItem.ObjectSet
$aCPU[$i] = $objItem.PercentProcessorTime
$i += 1
Next
EndIf
Return $aCPU
EndFunc ;==>Refresh
Für autostart und ander daten wie tmp oder log o. reg fehler schreibe ich auch gerade eins ! ![]()
LG Kleiner
Hi!
Die hilfe ist dein FREUND!!!!!!!!!!
#include <GuiIPAddress.au3>
#include <GUIConstantsEx.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <GuiTab.au3>
#include <StructureConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 569, 538, 192, 124)
$Tab1 = GUICtrlCreateTab(8, 16, 545, 513)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
$TabSheet1 = GUICtrlCreateTabItem("TabSheet1")
$IPAddress1 = _GUICtrlIpAddress_Create($Form1, 24, 280, 209, 25)
_GUICtrlIpAddress_Set($IPAddress1, "0.0.0.0")
$Input1 = GUICtrlCreateInput("Input1", 24, 240, 209, 21)
$Button1 = GUICtrlCreateButton("In Listview eintragen", 248, 240, 169, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("In Listview eintragen", 247, 280, 169, 25, $WS_GROUP)
$ListView1 = GUICtrlCreateListView("Test|Test2", 16, 64, 329, 121)
$TabSheet2 = GUICtrlCreateTabItem("TabSheet2")
$TabSheet3 = GUICtrlCreateTabItem("TabSheet3")
GUICtrlCreateTabItem("")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
GUICtrlCreateListViewItem(GUICtrlRead($Input1), $ListView1)
Case $Button2
GUICtrlCreateListViewItem(GUICtrlRead($IPAddress1), $ListView1)
EndSwitch
Switch (_GUICtrlTab_GetCurSel($Tab1))
Case 0
_GUICtrlIpAddress_ShowHide($IPAddress1, @SW_SHOW)
Case 1
_GUICtrlIpAddress_ShowHide($IPAddress1, @SW_HIDE)
Case 2
_GUICtrlIpAddress_ShowHide($IPAddress1, @SW_HIDE)
EndSwitch
WEnd
LG Kleiner
Hi!
Wie ich schon in der PN geschrieben habe, genauere angaben sind jetzt gefragt!
Warum? Denn du hast ein 3 Spalte Array das du dutchläufst, Was steht in der ersten Spalte nach was soll gesucht werden und das mit der zweiten und dritten Spalte.
Dan kommt es drauf an wie man das 3 Spalten Array durchläuft das beispiel was ich dir gezeigt habe ist ein Ansatz.
[autoit]#include <Array.au3>
#include <Excel.au3>
#include <File.au3>
[/autoit]
[autoit][autoit]
[/autoit][/autoit]
[autoit][autoit]Local $oreferenz = _ExcelBookOpen(@ScriptDir & "\referenz.xls", 1, False, "", "")
Local $onegativliste = _ExcelBookOpen(@ScriptDir & "\negativliste.xls", 1, False, "", "")
Local $areferenz = _ExcelReadSheetToArray($oreferenz)
Local $anegativliste = _ExcelReadSheetToArray($onegativliste)
Global $liste = "Q:\bnk\d_global\EDV\Batch\Diensteauswertung\Neu\liste.txt"
Global $aliste
_ExcelBookClose($oreferenz)
_ExcelBookClose($onegativliste)
_FileReadToArray($liste, $aliste)
[/autoit]
[autoit][autoit]
[/autoit][/autoit]
[autoit][autoit]Sleep(3000)
[/autoit][/autoit]
[autoit][autoit]
[/autoit][/autoit]
[autoit][autoit]For $z = 1 To UBound($aliste) - 1
If FileExists("\\" & $aliste[$z] & "\d$\HaSo\" & "\dienstname.ini") Then
Local $dienstname = "\\" & $aliste[$z] & "\d$\HaSo\" & "dienstname.ini"
Local $dienststarttyp = "\\" & $aliste[$z] & "\d$\HaSo\" & "dienststarttyp.ini"
Local $dienststatus = "\\" & $aliste[$z] & "\d$\HaSo\" & "dienststatus.ini"
Dim $File1, $File2, $File3
_FileReadToArray($dienstname, $File1)
_FileReadToArray($dienststarttyp, $File2)
_FileReadToArray($dienststatus, $File3)
Dim $Files2d[$File1[0]][3]
For $i = 1 To $File1[0]
$Files2d[$i - 1][0] = $File1[$i]
$Files2d[$i - 1][1] = $File2[$i]
$Files2d[$i - 1][2] = $File3[$i]
Next
Local $sOut = ''
For $n = 0 To UBound($Files2d) - 1
For $i = 0 To 2
_ArraySearch($anegativliste, $Files2d[$n][$i], 1)
;_ArraySearch($anegativliste, $Files2d[$n][0], 1)
If @error Then
_ArraySearch($areferenz, $Files2d[$n][$i], 1)
;_ArraySearch($areferenz, $Files2d[$n][0], 1)
If @error Then
$sOut &= $Files2d[$n][$i] & @CRLF
;$sOut &= $Files2d[$n][0] & @CRLF
EndIf
EndIf
Next
Next
Local $fh = FileOpen('log.txt', 1)
FileWrite($fh, $sOut)
FileClose($fh)
EndIf
Next
[/autoit]
Um dir besser helfen zu können werhre eine genaue angabe hilfreich oder du hängst die datein mal bitte in ein Anhang.
Lg Kleiner
Hi!
Schau mal ob du mit den befehlen weite kommst:
[autoit]_WinAPI_EnumWindows
ProcessList()
WinGetProcess()
In zwei For nex schleifen ....?
Oder aber auch auf den ansatz von Greenhorn Muss umgeschreiben werden
LG Kleiner
Hi!
Du kannst ein string in der Exe speichern der ist nur nach jedem start so wie du ihn gespeichert hat!
LG Kleiner
Hi!
Das wird nicht möglich sein, das was du machen kannst ist eine Stringverarbeitung einzubauen!
Wenn dein code Compile ist dann ist die veränderung nicht mehr sagen wir fast nicht mehr möglich ausser das einfachste mit ein Hex-Editor.
LG Kleiner