...das ist mir schon klar,
aber mit FileWrite($IniFile)
bin ich auch nicht ans Ziel gekommen!
Beiträge von Ilse
-
-
Hallo,
ich habe folgendes Problem.
Ich möchte in meiner "Scriptdir"
eine leere ini anlegen.Diese ini soll aber in ein Unterverzeichnis meiner "Scriptdir"
So kann ich eine ini öffnen
[autoit]
[/autoit]
$Datei = FileOpenDialog("Bitte wählen Sie einen Datei:", @ScriptDir & "\Meine-Daten\", "Einstellungen (*.ini;*.txt)", 1 + 4)aber wie kann ich eine leere ini in dem Ordner erzeugen?
[autoit]
Ich habe mit einer Inputbox probiert
[/autoit]
$IniFile = InputBox("Neuer Datei", "Wie heißt der neue Datei", "Datei.ini", "", -1, -1, default,default,default, $Form1_1)
$IniFile = @ScriptDir & "\Meine-Daten\" & $IniFile &".ini"
Msgbox(4,"",$IniFile)Die Msgbox zeigt den korrekten Pfad
aber ich kann die Datei in dem Ordner nicht erzeugen.Grüße
Ilse
-
Morgen zusammen,
merci für die Tipps!
Opt("WinTitleMatchMode", 2)hab ich jetzt drin!
Kann es sein daß was mit dem Loop nicht stimmt?
[autoit]
Wenn ich diesen Code an der Stelle einsetze:
[/autoit]
Select
Case WinExists("http://ad","")
WinClose("http://ad","")
EndSelectdas klappt,
[autoit]
verwende ich aber die kpl. Funktion
dann geht es nicht!
Ich rufe also in meiner For-Schleife die Funktion auf
[/autoit]
_Popup() ; das klappt nicht.........<
; an gleicher Stelle
Select
Case WinExists("http://ad","")
WinClose("http://ad","")
EndSelect
;da wird was geschlossen-----------das geht>Grüße
Ilse
-
Hallo,
ich habe folgendes Problem:
Es werden mit _IENavigate mehrere Tabs geladen.
Das funktioniert soweit prima.Das Problem:
Es werden bei jedem Tab zusätzliche PopUp-Fenster geöffnet!
Diese Fenster werde ich einfach nicht mehr los!Ich habe folgende Funktion probiert:
[autoit]
[/autoit]
Func _Popup()
While True
Select
Case WinExists("http://ad", "")
WinClose("http://ad", "")
;Case WinExists("Fenstertitel2", "")
;WinClose("Fenstertitel2", "")
EndSelect
WEnd
EndFuncdiese Funktion hat leider keinen Einfluß auf die Fenster!
Die Fenster heißen z.B.
http://ad.de.doubleclick.........
http://www1-mpns..........Kann man das irgendwie blockieren
bzw. wenn das Fenster geöffnet wird daß es wieder
automatisch geschlossen wird?Grüße
Ilse
-
Hallo Schnitzel,
super, es klappt endlich.
Danke für deine Erklärung, man lernt scheinbar nie aus!Liebe Grüße
Ilse
-
Guten Morgen zusammen,
der Befehl Hover macht mir wirklich das Leben schwer!
[autoit]
[/autoit][autoit][/autoit][autoit]
Local $hGUI, $Kat1, $Kat2, $Kat3, $Kat4 ,$nMsg, $fLableHovered
$hGUI = GUICreate("")
$Kat1 = GUICtrlCreateLabel("Text1",20,20,50,20)
$Kat2 = GUICtrlCreateLabel("Text2",30,40,50,20)
$Kat3 = GUICtrlCreateLabel("Text3",40,60,50,20)
$Kat4 = GUICtrlCreateLabel("Text4",50,80,50,20)
;GUICtrlSetCursor($Kat1,0)GUISetState()
[/autoit][autoit][/autoit][autoit]While 1
[/autoit][autoit][/autoit][autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case 0 ; kein GUI_Event
$aCursor = GUIGetCursorInfo($hGUI)
If Not IsArray($aCursor) Then ContinueLoop_HoverKat() ; hoverfunktion für Text
[/autoit][autoit][/autoit][autoit]Case -3
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
Exit
EndSwitch
WendFunc _HoverKat()
[/autoit][autoit][/autoit][autoit];Kat1--------------------->
[/autoit][autoit][/autoit][autoit]
If $aCursor[4] = $Kat1 Then ; Maus über Label
If Not $fLableHovered Then
GUICtrlSetColor($Kat1,0x0000FF)
$fLableHovered = True
EndIf
Else ; Maus nicht über Label
If $fLableHovered Then
GUICtrlSetColor($Kat1,0x000000)
$fLableHovered = False
EndIf
EndIf
;----------
;Kat2--------------------->
If $aCursor[4] = $Kat2 Then ; Maus über Label
If Not $fLableHovered Then
GUICtrlSetColor($Kat2,0x0000FF)
$fLableHovered = True
EndIf
Else ; Maus nicht über Label
If $fLableHovered Then
GUICtrlSetColor($Kat2,0x000000)
$fLableHovered = False
EndIf
EndIf
;---------
;Kat3-------------------->
If $aCursor[4] = $Kat3 Then ; Maus über Label
If Not $fLableHovered Then
GUICtrlSetColor($Kat3,0x0000FF)
$fLableHovered = True
EndIf
Else ; Maus nicht über Label
If $fLableHovered Then
GUICtrlSetColor($Kat3,0x000000)
$fLableHovered = False
EndIf
EndIf
;--------------------->
;Kat4--------------------->
If $aCursor[4] = $Kat4 Then ; Maus über Label
If Not $fLableHovered Then
GUICtrlSetColor($Kat4,0x0000FF)
$fLableHovered = True
EndIf
Else ; Maus nicht über Label
If $fLableHovered Then
GUICtrlSetColor($Kat4,0x000000)
$fLableHovered = False
EndIf
EndIf
;Kat1--------------------->endfunc
[/autoit]Kann mir jemand sagen, warum das nicht vernünftig klappt!
Liebe Grüße
Ilse
-
Hallo
und merci für eure Hilfe.Ich habe da etwas interessantes gefunden.
[autoit]
[/autoit][autoit][/autoit][autoit]
#include <WindowsConstants.au3>
#include <Date.au3>Dim $Start = False, $Timer = 0, $tmpTimer = 0, $LastTimer = 0
[/autoit][autoit][/autoit][autoit]
Dim $iHours = 0, $iMins = 0, $iSecs = 0, $iHsecs = 0Opt("GUIOnEventMode",1) ;Enable Interrupts for GUI
[/autoit][autoit][/autoit][autoit]
$GUI = GUICreate("Stoppuhr", 325, 126, 214, 139, 0x00080000, 0x00000008) ;Create GUI with Topmost ID
$Stoppuhr = GUICtrlCreateLabel("Stoppuhr", 8, 8, 135, 41)
GUICtrlSetFont(-1, 26, 400, 0, "Arial")
$Zeit = GUICtrlCreateLabel("00:00:00.00", 8, 56, 178, 41)
GUICtrlSetFont(-1, 26, 400, 0, "Arial")
GUICtrlSetColor(-1, 0xFF0000)
$StartStopp = GUICtrlCreateButton("Start", 225, 8, 89, 41, $WS_GROUP)
GUICtrlSetFont(-1, 16, 400, 0, "Arial")
$Reset = GUICtrlCreateButton("Reset", 225, 56, 89, 41, $WS_GROUP)
GUICtrlSetFont(-1, 16, 400, 0, "Arial")GUICtrlSetOnEvent($StartStopp, "StartStopp") ;Create events for Buttons
[/autoit][autoit][/autoit][autoit]
GUICtrlSetOnEvent($Reset, "Reset")
GUISetOnEvent(-3, "End") ;Create Event for {ESC} and Close
GUISetState(@SW_SHOW) ;Show GUIWhile Sleep(50) ;Main Loop
[/autoit][autoit][/autoit][autoit]
If $Start Then ;Only if start is pressed....
$tmpTimer = (TimerDiff($Timer)) + $LastTimer
Convert() ;Convert ticks to time and splitt it into HH:MM:SS.hh
GUICtrlSetData($Zeit, $iHours & ":" & $iMins & ":" &$iSecs & "." & $iHsecs) ;Update GUI
EndIf
WEndFunc StartStopp() ;Interrupt for start/stop buttons
[/autoit][autoit][/autoit][autoit]
If $Start Then ;Stop button pressed
GUICtrlSetData($StartStopp, "Start") ;Change button text
$tmpTimer = (TimerDiff($Timer)) + $LastTimer
$LastTimer = $tmpTimer
$Start = False
Convert() ;Convert ticks to time and splitt it into HH:MM:SS.hh
GUICtrlSetData($Zeit, $iHours & ":" & $iMins & ":" &$iSecs & "." & $iHsecs) ;Update GUI
Else
GUICtrlSetData($StartStopp, "Stopp") ;Start button pressed
$Start = True
$Timer = TimerInit()
EndIf
EndFunc ;==>StartStoppFunc Reset() ;Resets GUI
[/autoit][autoit][/autoit][autoit]
GUICtrlSetData($Zeit, "00:00:00.00")
$LastTimer = 0
$Timer = TimerInit()
EndFunc ;==>ResetFunc Convert() ;Convert ticks to time and splitt it into HH:MM:SS.hh
[/autoit][autoit][/autoit][autoit]
_TicksToTime($tmpTimer, $iHours, $iMins, $iSecs)
$iHsecs = Round(($tmpTimer - (($iHours * 3600000) + ($iMins * 60000) + ($iSecs * 1000))) / 10)
If $iHours < 10 Then $iHours = "0" & $iHours
If $iMins < 10 Then $iMins = "0" & $iMins
If $iSecs < 10 Then $iSecs = "0" & $iSecs
If $iHsecs < 10 Then $iHsecs = "0" & $iHsecs
EndFunc ;==>ConvertFunc End() ;Exit
[/autoit]
Exit
EndFunc ;==>EndMeine Frage:
Wäre es möglich das irgendwie
per Funktion in den Loop einzubauen.
Ich meine daß das Label während
des Loops als Zeitanzeige läuft?Meine Versuche brachten leider nichts!
Hier nochmal mein Gerüst!
[autoit]
[/autoit][autoit][/autoit][autoit]
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <IE.au3>#Region ### START Koda GUI section ### Form=
[/autoit][autoit][/autoit][autoit]
$Form1 = GUICreate("Form1", 615, 440, 489, 197)$Zaehler = GUICtrlCreateLabel("0", 56, 132, 14, 28)
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]$Start = GUICtrlCreateButton("Start", 504, 364, 75, 25)
[/autoit][autoit][/autoit][autoit]GUISetState(@SW_SHOW)
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]
#EndRegion ### END Koda GUI section ###AdlibRegister('_ChangeZahl', 1000)
[/autoit][autoit][/autoit][autoit]While 1
[/autoit][autoit][/autoit][autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitCase $Start
[/autoit][autoit][/autoit][autoit][/autoit][autoit]For $i=1 to 3 Step +1
[/autoit][autoit][/autoit][autoit]MsgBox(4,"Anzeige",$i)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]next
[/autoit][autoit][/autoit][autoit]
MsgBox(4,"Fertig","Beendet")
EndSwitchWEnd
[/autoit][autoit][/autoit][autoit]Func _ChangeZahl()
[/autoit][autoit][/autoit][autoit];$Zaehler + 1
[/autoit]
EndFunc
Grüße
Ilse
-
Hallo Sprenger120,
hm.. komme da nicht weiter.
[autoit]
[/autoit][autoit][/autoit][autoit]
$begin = TimerInit()
For $i=1 to 10sleep(1000)
[/autoit]
$dif = TimerDiff($begin)
MsgBox(0,"Zeitunterschied",$dif)
nextIch wollte daß das Feld $Zaehler
während des Loops in diesem Fomat läuft:00:01:22
[autoit]
Min:Sek:Millisekunden
muß ich das in eine Funktion schreiben die mit AdlibRegister
abfrägt ? Oder ist das der falsche Weg?
[/autoit][autoit][/autoit][autoit]
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <IE.au3>#Region ### START Koda GUI section ### Form=
[/autoit][autoit][/autoit][autoit]
$Form1 = GUICreate("Form1", 615, 440, 489, 197)$Zaehler = GUICtrlCreateLabel("0", 56, 132, 14, 28)
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]$Start = GUICtrlCreateButton("Start", 504, 364, 75, 25)
[/autoit][autoit][/autoit][autoit]GUISetState(@SW_SHOW)
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]
#EndRegion ### END Koda GUI section ###AdlibRegister('_ChangeZahl', 1000)
[/autoit][autoit][/autoit][autoit]While 1
[/autoit][autoit][/autoit][autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitCase $Start
[/autoit][autoit][/autoit][autoit][/autoit][autoit]For $i=1 to 3 Step +1
[/autoit][autoit][/autoit][autoit]MsgBox(4,"Anzeige",$i)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]next
[/autoit][autoit][/autoit][autoit]
MsgBox(4,"Fertig","Beendet")
EndSwitchWEnd
[/autoit][autoit][/autoit][autoit]Func _ChangeZahl()
[/autoit][autoit][/autoit][autoit];$Zaehler + 1
[/autoit]
EndFuncGrüße
Ilse
-
Hallo,
ich möchte mir gerne einen Zähler
[autoit]
in einen Loop einbauen.
Bei jedem Loop soll der Zähler von 0 in Millisekunden starten
[/autoit][autoit][/autoit][autoit]
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <IE.au3>#Region ### START Koda GUI section ### Form=
[/autoit][autoit][/autoit][autoit]
$Form1 = GUICreate("Form1", 615, 440, 489, 197)$Zaehler = GUICtrlCreateLabel("0", 56, 132, 14, 28)
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]$Start = GUICtrlCreateButton("Start", 504, 364, 75, 25)
[/autoit][autoit][/autoit][autoit]GUISetState(@SW_SHOW)
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]
#EndRegion ### END Koda GUI section ###AdlibRegister('_ChangeZahl', 1000)
[/autoit][autoit][/autoit][autoit]While 1
[/autoit][autoit][/autoit][autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitCase $Start
[/autoit][autoit][/autoit][autoit][/autoit][autoit]For $i=1 to 3 Step +1
[/autoit][autoit][/autoit][autoit]MsgBox(4,"Anzeige",$i)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]next
[/autoit][autoit][/autoit][autoit]
MsgBox(4,"Fertig","Beendet")
EndSwitchWEnd
[/autoit][autoit][/autoit][autoit]Func _ChangeZahl()
[/autoit][autoit][/autoit][autoit];$Zaehler + 1
[/autoit][autoit][/autoit][autoit][/autoit]
EndFuncHabe mit AdlibRegister probiert, komme aber irgendwie nicht weiter!
Grüße
Ilse
-
Hallo Tweaky,
merci für den Tipp
klappt super!Grüße
Ilse
-
Wie kann ich eine Edit Box mit einem ini Wert füllen?
[autoit]
[/autoit][autoit][/autoit][autoit]
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <IE.au3>#Region ### START Koda GUI section ### Form=
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
$Form1 = GUICreate("Form1", 615, 440, 489, 197)
$Edit1 = GUICtrlCreateEdit("", 372, 12, 225, 217)
GUICtrlSetData(-1, "Bericht")$Start = GUICtrlCreateButton("Start", 504, 364, 75, 25)
[/autoit][autoit][/autoit][autoit]GUISetState(@SW_SHOW)
[/autoit][autoit][/autoit][autoit]
#EndRegion ### END Koda GUI section ###$openini = @ScriptDir & "\Meine.ini"
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]While 1
[/autoit][autoit][/autoit][autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitCase $Start
[/autoit][autoit][/autoit][autoit][/autoit][autoit]For $i=1 to 3 Step +1
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
$Anzeiger = IniRead($openini, "Link", $i, "NotFound")
MsgBox(4,"Anzeige",$Anzeiger)next
[/autoit][autoit][/autoit][autoit]
MsgBox(4,"Fertig","Beendet")
EndSwitchWEnd
[/autoit]Die Ini sieht so aus:
[autoit]
[/autoit]
[Link]
1=Seite1
2=Seite2
3=Seite3Grüße
Ilse
-
Hallo Bugfix,
ich hab's zum laufen gekriegt!
Habe alles nochmal neu gemacht.
Auch Scite kpl. neu installiert, alle Dateien erneuert...
Bin jetzt wirklich reif für die Insel.Wenn ich ehrlich bin, weiß ich zwar immer noch nicht wieso
das jetzt klappt (???xxx)Was mir aber aufgefallen ist:
Manche Abkürzungen funktionieren
und andere nicht!
z.B.
Msg funktioniert nicht!
Msg2 funktioniert!
obwohl Msg nicht vorhanden ist.egal... es läuft!
Viele Grüße
Ilse
-
Hallo Bugfix,
heute ist wirklich nicht unser Tag!
Folgendes passiert:
Ich habe die Dateien ersetzt, war alles soweit ok!- Ich starte abbrevs.au3 und füge TEST mit code hinzu
Komisch ist, TEST ist im Programm nicht mehr zu sehen!
Also unten in der letzten Zeile!
Es wird auch nichts aktualisiert!Öffne ich nun die keyword.abbreviation.properties
also die Datei die ich vorher kopiert habe, dann steht jetzt TEST drin!Muß abbrevs.au3 vielleicht in einem bestimmten Ordner liegen?
-
...da ist irgendwo ein Wurm drin!
au3abbrev,properties
[autoit]
sieht am Ende so aus:
[/autoit]
wwa=WinWaitActive(|)
wwc=WinWaitClose(|)
wwna=WinWaitNotActive(|)Ich habe dann die Abbrevs.au3 geöffnet
und die letzten Einträge gelöscht!
Hier steht als letzter Eintrag wwnaSo, ich öffne meine keyword.abbreviation.properties
[autoit]
sieht nun am Ende aber so aus:
[/autoit]
wstr ww wwa wwc wwna meinTestdas kann ich nicht löschen.
Wenn ich die abbrevs.au3 starte (Admin Rechte...ok)
dann erscheint mein test nicht am Ende!Ich habe die Datei nun von Hand
mit einem anderen Editor PS2 am Ende gelöscht!
Also meintest entfernt!Und jetzt passiert etwas seltsames:
Öffne ich diese Datei keyword.abbreviation.properties
mit PS2 dann ist die Datei OK!Öffne ich die gleiche Datei mit Scite
keyword.abbreviation.properties
dann steht am Ende wieder Meintest
Starte ich wieder Abbrevs.au3 dort ist kein "MeinTest" zu sehen!
In PS2 auch nicht!Die Datei läßt sich in Scite nicht bearbeiten!
Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. Ilse

-
...habe ich gemacht!
Fehlermeldung ist weg, ...in der Command-Zeile findet kein Reload statt
und nach Eingabe in Scite passiert immer noch nichts!fun leertaste funktioniert!
Ich habe mir auch nochmal die keyword.abbreviations.properties angesehen
da ist nun was drinwwna test test1 test3
aber nur meine Abkürzungen!
Der Code den ich bei der abbrevs.au3 eingefügt habe erscheint nicht. -
...habe ich gemacht
und das ist die Fehlermeldung!Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. Grüße
Ilse -
Hallo Bugfix,
ich habe mal deine Version eingefügt!
Ob es die letzte ist, weiß ich nicht!Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include-once
#include <Array.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <StaticConstants.au3>
#include <StructureConstants.au3>
#include <WindowsConstants.au3>
#include <File.au3>
#include <GUIListView.au3>
#include <GuiEdit.au3>
Opt("GUIOnEventMode", 1)Global $ScitePath = RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\SciTE.exe", "")
[/autoit] [autoit][/autoit] [autoit]
Global $KeyWordPath = StringReplace($ScitePath, "SciTE.exe", "properties\au3.keywords.abbreviations.properties")
Global $MyKeyWordPath = @UserProfileDir & '\au3.keywords.my'
Global $Abbr_Path = @UserProfileDir & '\abbrev.properties'
Global $MyAbbrevPath = @UserProfileDir & '\abbrev.properties.my'
If Not FileExists($MyAbbrevPath) Then
Local $fh = FileOpen($MyAbbrevPath, 1)
FileWriteLine($fh, '; >> My own abbrevs <<')
FileClose($fh)
EndIf
Global $Start_STR = '#; -- Gui Variables --', $start = False, $edit = False
Global $Last_STR = '#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#'
Global $txt, $aTitel[2] = ['Code für neue Abkürzung', 'Code bearbeiten']
Global $aLabel[2] = [ _
'Bitte den Code für die Abkürzung einfügen. Einrückungen bitte mit Tabulator (Im Editfeld durch STRG+TAB).' & @LF & _
'Für die gewünschte Cursorposition: | verwenden. Der Code wird beim Schließen des Fensters übernommen.', _
'Hier den Code bearbeiten. Einrückungen bitte mit Tabulator (Im Editfeld durch STRG+TAB).' & @LF & _
'Für die gewünschte Cursorposition: | verwenden. Der Code wird beim Schließen des Fensters übernommen.']
Global $aAbbrev
_FileReadToArray($Abbr_Path, $aAbbrev)$Form1 = GUICreate("Abkürzungen verwalten [" & $Abbr_Path & ']', 800, 620, -1, -1)
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
$mnu = GUICtrlCreateMenu('Wiederherstellung')
$mnu_restore = GUICtrlCreateMenuItem('Wiederherstellung eigener Abbrevs', $mnu)
GUICtrlSetOnEvent(-1, '_Restore')
$iSearch = GUICtrlCreateInput('', 15, 10, 90, 20)
$bSearch = GUICtrlCreateButton('Suchen', 125, 10, 150, 20, $BS_DEFPUSHBUTTON)
GUICtrlSetOnEvent(-1, '_Search')
$bCreate = GUICtrlCreateButton('Hinzufügen', 295, 10, 150, 20)
GUICtrlSetOnEvent(-1, '_Create')
$bEdit = GUICtrlCreateButton('Bearbeiten', 465, 10, 150, 20)
GUICtrlSetOnEvent(-1, '_Edit')
$bDelete = GUICtrlCreateButton('Löschen', 635, 10, 150, 20)
GUICtrlSetOnEvent(-1, '_Delete')
$ListView1 = GUICtrlCreateListView("Abkürzung|Code", 15, 40, 770, 545, BitOR($LVS_SHOWSELALWAYS,$LVS_SINGLESEL,$WS_HSCROLL,$WS_VSCROLL))
GUICtrlSetOnEvent(-1, "ListView1Click")
GUICtrlSetBkColor(-1, 0xFF4400)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_LV_ALTERNATE)
GUICtrlSendMsg(-1, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_ONECLICKACTIVATE, $LVS_EX_ONECLICKACTIVATE)
_GUICtrlListView_SetColumnWidth(-1, 0, 90)
_GUICtrlListView_SetColumnWidth(-1, 1, $LVSCW_AUTOSIZE_USEHEADER)_LV_Fill()
[/autoit] [autoit][/autoit] [autoit]$Form2 = GUICreate('Code zur Abkürzung', 700, 400, -1, -1)
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, "Form2Close")
$Edit1 = GUICtrlCreateEdit('', 10, 10, 680, 380, BitOR($GUI_SS_DEFAULT_EDIT,$ES_READONLY))
GUICtrlSetBkColor(-1, 0x98FB98)$Form3 = GUICreate('Code für neue Abkürzung', 700, 400, -1, -1)
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, "Form3Close")
$Label1 = GUICtrlCreateLabel('Bitte den Code für die Abkürzung einfügen. Einrückungen bitte mit Tabulator (Im Editfeld durch STRG+TAB).' & @LF & _
'Für die gewünschte Cursorposition: | verwenden. Der Code wird beim Schließen des Fensters übernommen.' _
, 10, 5, 680, 30, $SS_SUNKEN+$SS_CENTER)
GUICtrlSetBkColor(-1, 0x98FB98)
$Edit2 = GUICtrlCreateEdit('', 10, 40, 680, 350, BitOR($WS_HSCROLL,$WS_VSCROLL,$ES_MULTILINE,$ES_WANTRETURN))
GUICtrlSetBkColor(-1, 0x98FB98)GUISetState(@SW_SHOW, $Form1)
[/autoit] [autoit][/autoit] [autoit]
GUIRegisterMsg($WM_NOTIFY, "MY_WM_COMMAND")While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc Form1Close()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFunc ;==>Form1CloseFunc Form2Close()
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_HIDE, $Form2)
GUICtrlSetData($Edit1, '')
EndFunc ;==>Form2CloseFunc Form3Close()
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_HIDE, $Form3)
If $edit Then
_WriteEditedAbbrev()
Else
_WriteNewAbbrev()
EndIf
EndFunc ;==>Form3CloseFunc _Search()
[/autoit] [autoit][/autoit] [autoit]
$txt = GUICtrlRead($iSearch)
If $txt = '' Then Return
Local $indx = _LV_FindInSubItem($ListView1, $txt, 0)
If $indx = -1 Then
MsgBox(0, 'Suche Abbrev', 'Abbrev: "' & $txt & '" existiert nicht.')
Else
_GUICtrlListView_EnsureVisible($ListView1, $indx)
_GUICtrlListView_SetItemSelected($ListView1, $indx)
EndIf
EndFunc ;==>_SearchFunc _Create()
[/autoit] [autoit][/autoit] [autoit]
$txt = GUICtrlRead($iSearch)
If $txt = '' Then Return MsgBox(16, 'Fehler', 'Keine Abkürzung eingetragen.')
Local $indx = _LV_FindInSubItem($ListView1, $txt, 0)
If $indx > -1 Then Return MsgBox(16, 'Fehler', 'Die Abkürzung existiert bereits.')
$edit = False
WinSetTitle($Form3, '', $aTitel[0])
GUICtrlSetData($Label1, $aLabel[0])
GUISetState(@SW_SHOW, $Form3)
EndFuncFunc _Edit()
[/autoit] [autoit][/autoit] [autoit]
$txt = GUICtrlRead($iSearch)
If $txt = '' Then Return MsgBox(16, 'Fehler', 'Keine Abkürzung ausgewählt.')
$edit = True
WinSetTitle($Form3, '', $aTitel[1])
GUICtrlSetData($Label1, $aLabel[1])
GUICtrlSetData($Edit2, _Abbrev2Code(_GUICtrlListView_GetItemText($ListView1, _LV_FindInSubItem($ListView1, $txt, 0), 1)))
GUISetState(@SW_SHOW, $Form3)
EndFunc ;==>_EditFunc _Restore()
[/autoit] [autoit][/autoit] [autoit]
Local $aMyAbbrev, $split_a, $split_f
_FileReadToArray($MyAbbrevPath, $aMyAbbrev)
For $i = 2 To UBound($aMyAbbrev) - 1
$start = False
For $j = 1 To UBound($aAbbrev) - 1
If $aAbbrev[$j] = $Start_STR Then $start = True
If (Not $start) Or (StringLeft($aAbbrev[$j], 1) = '#') Or ($aAbbrev[$j] = '') Then ContinueLoop
$split_a = _SplitOnce($aAbbrev[$j])
If @error Then ContinueLoop
$split_f = _SplitOnce($aMyAbbrev[$i])
If @error Then ContinueLoop
If $split_a[0] = $split_f[0] Then
ConsoleWrite($split_f[0] & @CRLF)
$aAbbrev[$j] = $split_f[0] & '=' & $split_f[1]
WinSetTitle($Form1, '', 'Restore Abbrev: ' & $split_f[0])
$aMyAbbrev[$i] = -1
ExitLoop
EndIf
Next
Next
For $i = 2 To UBound($aMyAbbrev) - 1
If $aMyAbbrev[$i] = -1 Then ContinueLoop
$split_f = _SplitOnce($aMyAbbrev[$i])
WinSetTitle($Form1, '', 'Restore Abbrev: ' & $split_f[0])
Sleep(20)
ReDim $aAbbrev[UBound($aAbbrev) + 1]
$aAbbrev[UBound($aAbbrev) - 1] = $aMyAbbrev[$i]
For $j = UBound($aAbbrev) - 1 To 1 Step -1
If $aAbbrev[$j] = $Last_STR Then ExitLoop
Next
_ArraySwap($aAbbrev[UBound($aAbbrev) - 1], $aAbbrev[$j])
Next
FileMove($Abbr_Path, $Abbr_Path & '.BAK', 1)
_FileWriteFromArray($Abbr_Path, $aAbbrev, 1)
If FileExists($MyKeyWordPath) Then
Local $aMyKeyWord
_FileReadToArray($MyKeyWordPath, $aMyKeyWord)
For $i = 1 To UBound($aMyKeyWord) - 1
WinSetTitle($Form1, '', 'Restore Keyword: ' & $aMyKeyWord[$i])
Sleep(20)
_KeyWordSet($aMyKeyWord[$i], 1)
Next
EndIf
_FileReadToArray($Abbr_Path, $aAbbrev)
WinSetTitle($Form1, '', 'Restore')
MsgBox(64, 'Restore', 'Restore beendet.', 1.5)
WinSetTitle($Form1, '', "Abkürzungen verwalten [" & $Abbr_Path & ']')
_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))
_LV_Fill()
EndFunc ;==>_RestoreFunc _LV_FindInSubItem($hWnd, $2Find, $SubIndex)
[/autoit] [autoit][/autoit] [autoit]
Local $out = -1
For $i = 0 To _GUICtrlListView_GetItemCount($hWnd) - 1
If _GUICtrlListView_GetItemText($hWnd, $i, $SubIndex) = $2Find Then $out = $i
Next
Return $out
EndFunc ;==>_LV_FindInSubItemFunc ListView1Click()
[/autoit] [autoit][/autoit] [autoit]
Local $indx = _GUICtrlListView_GetHotItem($ListView1)
GUICtrlSetData($iSearch, _GUICtrlListView_GetItemText($ListView1, $indx, 0))
GUICtrlSetData($Edit1, _Abbrev2Code(_GUICtrlListView_GetItemText($ListView1, $indx, 1)))
GUISetState(@SW_SHOW, $Form2)
EndFunc ;==>ListView1ClickFunc _LV_Fill()
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_LOCK, $Form1)
Local $k = 0
$start = False
For $i = 1 To UBound($aAbbrev) - 1
If $aAbbrev[$i] = $Start_STR Then $start = True
If (Not $start) Or (StringLeft($aAbbrev[$i], 1) = '#') Or ($aAbbrev[$i] = '') Then ContinueLoop
$var = _SplitOnce($aAbbrev[$i])
If @error Then ContinueLoop
GUICtrlCreateListViewItem('|', $ListView1)
GUICtrlSetBkColor(-1, 0xFFF278)
_GUICtrlListView_SetItemText($ListView1, $k, $var[0], 0)
_GUICtrlListView_SetItemText($ListView1, $k, $var[1], 1)
$k += 1
Next
GUISetState(@SW_UNLOCK, $Form1)
EndFunc ;==>_LV_FillFunc _SplitOnce($STRING, $DELIM = '=')
[/autoit] [autoit][/autoit] [autoit]
If Not StringInStr($STRING, $DELIM) Then Return SetError(1, 0, 1)
Local $out[2]
Local $len = StringLen($STRING)
Local $pos = StringInStr($STRING, $DELIM, 1, 1)
$out[0] = StringLeft($STRING, $pos - 1)
$out[1] = StringRight($STRING, $len - $pos)
Return $out
EndFunc ;==>_SplitOnceFunc _Abbrev2Code($ABBREV)
[/autoit] [autoit][/autoit] [autoit]
Local $out = ''
$var = StringSplit($ABBREV, '\n', 1)
For $i = 1 To UBound($var) - 1
If StringInStr($var[$i], '\t', 1) Then $var[$i] = StringReplace($var[$i], '\t', @TAB)
If $i = UBound($var) - 1 Then
$out &= $var[$i]
Else
$out &= $var[$i] & @CRLF
EndIf
Next
Return $out
EndFunc ;==>_Abbrev2CodeFunc _Code2Abbrev()
[/autoit] [autoit][/autoit] [autoit]
Local $out = '', $count = _GUICtrlEdit_GetLineCount($Edit2), $line
If @error Then Return SetError(1)
For $i = 0 To $count - 1
$line = _GUICtrlEdit_GetLine($Edit2, $i)
If StringInStr($line, @TAB, 1) Then $line = StringReplace($line, @TAB, '\t')
If $i = $count - 1 Then
$out &= $line
Else
$out &= $line & '\n'
EndIf
Next
Return $out
EndFunc ;==>_Code2AbbrevFunc _WriteNewAbbrev()
[/autoit] [autoit][/autoit] [autoit]
If GUICtrlRead($Edit2) = '' Then Return
Local $abbr = _Code2Abbrev()
Local $fh = FileOpen($MyAbbrevPath, 1)
FileWriteLine($fh, $txt & '=' & $abbr)
FileClose($fh)
ReDim $aAbbrev[UBound($aAbbrev) + 1]
$aAbbrev[UBound($aAbbrev) - 1] = $txt & '=' & $abbr
For $i = UBound($aAbbrev) - 1 To 1 Step -1
If $aAbbrev[$i] = $Last_STR Then ExitLoop
Next
_ArraySwap($aAbbrev[UBound($aAbbrev) - 1], $aAbbrev[$i])
FileMove($Abbr_Path, $Abbr_Path & '.BAK', 1)
_FileWriteFromArray($Abbr_Path, $aAbbrev, 1)
_KeyWordSet($txt)
$fh = FileOpen($MyKeyWordPath, 1)
FileWrite($fh, $txt & @CRLF)
FileClose($fh)
_FileReadToArray($Abbr_Path, $aAbbrev)
_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))
GUICtrlSetData($Edit2, '')
$start = False
$k = 0
_LV_Fill()
Local $idx = _LV_FindInSubItem($ListView1, $txt, 0)
_GUICtrlListView_EnsureVisible($ListView1, $idx)
_GUICtrlListView_SetItemSelected($ListView1, $idx)
Reload_Config()
EndFunc ;==>_WriteNewAbbrevFunc _WriteEditedAbbrev()
[/autoit] [autoit][/autoit] [autoit]
If GUICtrlRead($Edit2) = '' Then Return
Local $abbr = _Code2Abbrev()
Local $fh = FileOpen($MyAbbrevPath, 0)
Local $content = FileRead($fh)
FileClose($fh)
If Not StringRegExp($content, '\r\n' & $txt & '=') Then
$fh = FileOpen($MyAbbrevPath, 1)
FileWriteLine($fh, $txt & '=' & $abbr)
FileClose($fh)
Else
$fh = FileOpen($MyAbbrevPath, 0)
Local $line, $row = 2
While 1
$line = FileReadLine($fh, $row)
If @error = -1 Then ExitLoop
$split_f = _SplitOnce($line)
If $txt = $split_f[0] Then ExitLoop
$row += 1
WEnd
FileClose($fh)
_FileWriteToLine($MyAbbrevPath, $row, $txt & '=' & $abbr, 1)
EndIf
Local $line = _GetLine() - 1
Local $idx = _LV_FindInSubItem($ListView1, $txt, 0)
$aAbbrev[$line] = $txt & '=' & $abbr
_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))
GUICtrlSetData($Edit2, '')
$start = False
$k = 0
_LV_Fill()
_FileWriteToLine($Abbr_Path, $line, $txt & '=' & $abbr, 1)
_GUICtrlListView_EnsureVisible($ListView1, $idx)
_GUICtrlListView_SetItemSelected($ListView1, $idx)
Reload_Config()
EndFunc ;==>_WriteEditedAbbrevFunc _Delete()
[/autoit] [autoit][/autoit] [autoit]
$txt = GUICtrlRead($iSearch)
If MsgBox(262180, 'Achtung', 'Soll die Abkürzung ' & @LF & '>> ' & $txt & ' <<' & @LF & ' wirklich gelöscht werden?') = 7 Then Return
Local $idx = _GetLine() - 1
$aAbbrev[$idx] = ''
_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))
GUICtrlSetData($iSearch, '')
$start = False
$k = 0
_LV_Fill()
_FileWriteToLine($Abbr_Path, $idx, '', 1)
$fh = FileOpen($MyAbbrevPath, 0)
Local $line, $row = 2
While 1
$line = FileReadLine($fh, $row)
If @error = -1 Then ExitLoop
$split_f = _SplitOnce($line)
If @error Then ContinueLoop
If $txt = $split_f[0] Then ExitLoop
$row += 1
WEnd
FileClose($fh)
_FileWriteToLine($MyAbbrevPath, $row, '', 1)
Local $keys = FileRead($KeyWordPath)
$keys = StringReplace($keys, $txt & ' ', '', 1, 1)
Local $fh = FileOpen($KeyWordPath, 2)
FileWrite($fh, $keys)
FileClose($fh)
$keys = FileRead($MyKeyWordPath)
$keys = StringReplace($keys, $txt & @CRLF, '', 1, 1)
$fh = FileOpen($MyKeyWordPath, 2)
FileWrite($fh, $keys)
FileClose($fh)
Reload_Config()
EndFunc ;==>_DeleteFunc _GetLine()
[/autoit] [autoit][/autoit] [autoit]
Local $var
For $i = 1 To UBound($aAbbrev) - 1
$var = _SplitOnce($aAbbrev[$i], '=')
If @error Then ContinueLoop
If $var[0] = $txt Then Return $i + 1
Next
EndFunc ;==>_GetLineFunc _KeyWordSet($KEYWORD, $CHECK = 0)
[/autoit] [autoit][/autoit] [autoit]
Local $txtZeile, $len
If $CHECK Then
Local $fh = FileOpen($KeyWordPath, 0)
Local $read = FileRead($fh)
FileClose($fh)
If StringInStr($read, $KEYWORD & ' ', 1) Then Return
EndIf
$zeile = _FileCountLines($KeyWordPath)
$txtZeile = FileReadLine($KeyWordPath, $zeile)
$len = StringLen($txtZeile) + 4
If $len + StringLen($KEYWORD) > 100 Then
_FileWriteToLine($KeyWordPath, $zeile, $txtZeile & "\" & @CRLF, 1)
_FileWriteToLine($KeyWordPath, $zeile + 1, @TAB & $KEYWORD & " ", 1)
Else
_FileWriteToLine($KeyWordPath, $zeile, $txtZeile & $KEYWORD & " ", 1)
EndIf
EndFunc ;==>_KeyWordSetFunc MY_WM_COMMAND($hWnd, $Msg, $wParam, $lParam)
[/autoit] [autoit][/autoit] [autoit]
Switch $wParam
Case $ListView1
Local $tagNMHDR = DllStructCreate("int;int;int", $lParam)
If @error Then Return $GUI_RUNDEFMSG
If DllStructGetData($tagNMHDR, 3) = $NM_CLICK Then ListView1Click()
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>MY_WM_COMMAND; Thanks to Jos for following functions:
[/autoit]
Func Reload_Config()
;Send SciTE Director my GUI handle so it will report info back from SciTE
SendSciTE_Command("reloadproperties:")
EndFunc ;==>Reload_Config
; Send command to SciTE
Func SendSciTE_Command($sCmd, $Wait_For_Return_Info = 0)
Local $WM_COPYDATA = 74
Local $WM_GETTEXT = 0x000D
Local $WM_GETTEXTLENGTH = 0x000E224
Local Const $SCI_GETLINE = 2153
Local $Scite_hwnd = WinGetHandle("DirectorExtension") ; Get SciTE DIrector Handle
Local $My_Hwnd = GUICreate("AutoIt3-SciTE interface") ; Create GUI to receive SciTE info
Local $My_Dec_Hwnd = Dec(StringTrimLeft($My_Hwnd, 2)) ; Convert my Gui Handle to decimal
$sCmd = ":" & $My_Dec_Hwnd & ":" & $sCmd ; Add dec my gui handle to commandline to tell SciTE where to send the return info
ConsoleWrite('SciTE Command --> ' & $sCmd & @LF)
Local $CmdStruct = DllStructCreate('Char[' & StringLen($sCmd) + 1 & ']')
DllStructSetData($CmdStruct, 1, $sCmd)
Local $COPYDATA = DllStructCreate('Ptr;DWord;Ptr')
DllStructSetData($COPYDATA, 1, 1)
DllStructSetData($COPYDATA, 2, StringLen($sCmd) + 1)
DllStructSetData($COPYDATA, 3, DllStructGetPtr($CmdStruct))
DllCall('User32.dll', 'None', 'SendMessage', 'HWnd', $Scite_hwnd, _
'Int', $WM_COPYDATA, 'HWnd', $My_Hwnd, _
'Ptr', DllStructGetPtr($COPYDATA))
GUIDelete($My_Hwnd)
EndFunc ;==>SendSciTE_CommandEdit BugFix: Spoiler gesetzt
-
Hallo Bugfix,
folgendes:
[autoit]
[/autoit]
wstr ww wwa wwc wwna; ENDE das sind die letzen ZeichenDeine blau markierten stehen bei mir nicht drin!
Grüße
Ilse
-
meine abbrev.properties sieht mit meinen testeinträgen so aus:
[autoit]
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
wwc=WinWaitClose(|)
wwna=WinWaitNotActive(|)hov=$Farbe = true\nAdlibRegister("_Hover_Label",5)\n\nFunc _Hover_Label()\n $pos = GUIGetCursorInfo()\n\n If $pos[4] = $label1 And $Farbe = false Then\n GUICtrlSetBkColor($label1, 0xFF0000)\n $Farbe = True\n ElseIf $pos[4] <> $label1 And $Farbe = True then\n GUICtrlSetBkColor($label1, -2)\n $Farbe = False\n EndIf\nEndFunc
[/autoit]
hov1=#include <StaticConstants.au3>\n#include <StructureConstants.au3>\n#include <WindowsConstants.au3>\n#include <File.au3>
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#hov und hov1 sind Versuche mit Code von mir.
-
guten Morgen,
konnte mich am Wochenende leider nicht mehr melden.
Dank euch nochmals für eure Tipps!
Ich habe mal das wesentliche im Code zusammengefasst,
damit man es etwas besser nachvollziehen kann,Kurze Info:
[autoit]
Die Adressen kommen aus der ini
[/autoit]
[Link]
1=www.ebay.de
2=www.google.de
3=www.amazon.de
[Titel]
1=Ebay
2=Google
3=AmazonHier das Script
[autoit]
[/autoit][autoit][/autoit][autoit]
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <IE.au3>_IEErrorHandlerRegister()
[/autoit][autoit][/autoit][autoit]$oIE = _IECreateEmbedded()
[/autoit][autoit][/autoit][autoit]
$SinkObject = ObjEvent($oIE, "IEEvent_", "DWebBrowserEvents2")_IEErrorHandlerRegister()
[/autoit][autoit][/autoit][autoit]
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 615, 440, 489, 197)
$Edit1 = GUICtrlCreateEdit("", 372, 12, 225, 217)
GUICtrlSetData(-1, "Bericht")
$Progress1 = GUICtrlCreateProgress(424, 252, 150, 17)
$Label1 = GUICtrlCreateLabel("Label1", 380, 252, 36, 17)
$Label2 = GUICtrlCreateLabel("%", 584, 252, 12, 17)
$Start = GUICtrlCreateButton("Start", 504, 364, 75, 25)
$GUIActiveX = GUICtrlCreateObj($oIE, 12, 32, 349, 377)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###$openini = @ScriptDir & "\Meine.ini"
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]While 1
[/autoit][autoit][/autoit][autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitCase $Start
[/autoit][autoit][/autoit][autoit][/autoit][autoit]For $i=1 to 3 Step +1
[/autoit][autoit][/autoit][autoit]
$WebAnzeiger = IniRead($openini, "Link", $i, "NotFound")
MsgBox(4,"Anzeige",$WebAnzeiger)
_IENavigate($oIE, $WebAnzeiger)next
[/autoit][autoit][/autoit][autoit]
MsgBox(4,"Fertig","Beendet")
EndSwitchWEnd
[/autoit][autoit][/autoit][autoit][/autoit]Wenn ich auf Start klicke
sollen 3 oder mehrere Progressbars erzeugt werden! (alle 0 %)
Label1 soll mit dem Titel der ini ersetzt werden und % hochgezählt werden.Und die Progressbars sollte man scrollen können!
Im Edit Feld wird das ganze protokolliert:
Ebay ........> ok
Google ....>ok....Im Prinzip eine Mischung von Autobert und Misterspeed
P.S. ich habe meine Versuche alle rausgelöscht
Grüße
Ilse