schau dir mal bitte
[autoit]stringsplit
[/autoit]an
schau dir mal bitte
[autoit]stringsplit
[/autoit]an
Probier mal
[autoit]#include <File.au3>
$p = IniReadSection("k.ini", "[ja]")
$e = IniReadSection("k.ini", "[nein]")
HotKeySet("{F10}", "_checklines")
While 1
Sleep(100)
WEnd
Func _checklines()
TrayTip("", "Zeilen Ja " & "(" & $p[0][0] & ")" & @CRLF & "Zeilen Nein " & "(" & $e[0][0] & ")", 5)
Sleep(10000)
EndFunc ;==>_checklines
::{7BD29E00-76C1-11CF-9DD0-00A0C9034933}
Ist ja auch viel leichter zu merken als @TempDir
Das Program ist doch in der Videobeschreibung verlinkt. Allerdings ist das im Gegensatz zu KODA nicht wirklich mächtig
Kennt jemand eine alternative?
Meine Lösung:
Zu Fuß programmieren. Man bekommt einen besseren überblick, weiß welche Includes man braucht, (kann sein GUI evtl sogar in einer Schleife erzeugen.)
Ist zwar nich so schnell wie KODA, aber dafür braucht man hinterher nicht 1 1/2 Stunden um die Fehler zu berichtigen.
$hExplorer = ExplorerNavigate("Musik","C:\")
ExplorerNavigate($hExplorer,"D:\Musik")
Func ExplorerNavigate($hWnd,$sPath)
If Not IsHWnd($hWnd) Then $hWnd = WinGetHandle($hWnd)
If @error Then Return SetError(1,0,0)
ConsoleWrite("hWnd" & @CRLF)
$cHwnd = ControlGetHandle($hWnd, "", "[CLASS:Edit; INSTANCE:1]")
If @error Then Return SetError(1,0,0)
ConsoleWrite("Control-hWnd" & @CRLF)
ControlSetText($hWnd, "", $cHwnd, $sPath)
ControlSend($hWnd,"",$cHwnd,"{ENTER}")
Return SetError(0,0,$hWnd)
EndFunc
Bis zu welchem ConsoleWrite kommt er denn Chip?
Also unter Win 7 geht das mal nicht.
Gleiches gilt für deine Lösung auf Windows Vista
$hExplorer = ExplorerNavigate("Musik","C:\")
ExplorerNavigate($hExplorer,"D:\Musik")
Func ExplorerNavigate($hWnd,$sPath)
If Not IsHWnd($hWnd) Then $hWnd = WinGetHandle($hWnd)
If @error Then Return SetError(1,0,0)
$cHwnd = ControlGetHandle($hWnd, "", "[CLASS:Edit; INSTANCE:1]")
ControlSetText($hWnd, "", $cHwnd, $sPath)
ControlSend($hWnd,"",$cHwnd,"{ENTER}")
Return SetError(0,0,$hWnd)
EndFunc
Da fehlen &-Zeichen
[autoit]Send('<FONT SIZE='&GUICtrlRead($InputBox1)&'>'&GUICtrlRead($Input1)&'</FONT>')
[/autoit]Opt("TrayMenuMode",3)
[/autoit]
1 = no default menu
2 = user created checked items will not automatically unchecked if you click it
(du musst sie dann selbst checken und unchecken)
Oder per _Timer_SetTimer()
#include <GUIConstantsEx.au3>
#include <Timers.au3>
$hGUI = GUICreate("")
$cLbl = GUICtrlCreateLabel("Lable",20,20,100,20)
GUISetState()
$hTimer = _Timer_SetTimer($hGUI,5000,"_HideLable")
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
EndSwitch
WEnd
Func _HideLable($hWnd, $Msg, $iIDTimer, $dwTime)
GUICtrlSetState($cLbl,$GUI_HIDE)
_Timer_KillTimer($hGUI,$hTimer)
EndFunc
oder per Adlibregister
#include <GUIConstantsEx.au3>
#include <Timers.au3>
$hGUI = GUICreate("")
$cLbl = GUICtrlCreateLabel("Lable",20,20,100,20)
GUISetState()
AdlibRegister("_HideLable",5000)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
EndSwitch
WEnd
Func _HideLable()
GUICtrlSetState($cLbl,$GUI_HIDE)
AdlibUnRegister("_HideLable")
EndFunc
Du hast zwar gesagt, dass du MozRepl installiert hast, aber hast du es auch gesartet? Extras -> MozRepl -> Start und am besten auch activate on startup.
//EDIT: Sehe grade, es liegt am Registry Pfad. Entweder musst du die FF.au3 (ich glaube die funktion heißt __FFStartProcess()), oder den Registry Pfad anpassen.
Dann nimm halt
[autoit]$strwindow = $var[$Pos][0]
[/autoit]Mach mal Zeile 42
[autoit]$strwindow = $var[$Pos][1] ;<==============
[/autoit]_ArrayToString ist dafür da, einen kompletten Array in einen String umzuwandeln. Nicht um den Text eines einzelnen Elements auslesen.
_GDIPlus_GraphicsDispose($gui)
[/autoit]
Du versuchst deine GUI aufzulösen
Du musst aber das gemalte Grafikobjekt löschen (aus dem Speicher)
#include <GDIPlus.au3>
#include <GUIConstants.au3>
Global $gui = GUICreate("GDI+", 500, 500, -1, -1)
GUISetState(@SW_SHOW)
_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]$gdi_hwnd = _GDIPlus_GraphicsCreateFromHWND($gui)
[/autoit] [autoit][/autoit] [autoit]$pen = _GDIPlus_PenCreate(0xFF000000, 5)
[/autoit] [autoit][/autoit] [autoit]_GDIPlus_GraphicsDrawEllipse($gdi_hwnd, 100, 100, 100, 100, $pen)
[/autoit] [autoit][/autoit] [autoit]While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
_GDIPlus_GraphicsDispose($gdi_hwnd)
_GDIPlus_PenDispose($pen)
_GDIPlus_Shutdown()
Exit
EndSwitch
WEnd
//EDIT: Hab das mal angepasst - die Version von Ahnungslos sieht irgendwie richtiger aus.
Versteh immernoch nicht warum man was ersetzen soll?
Weil man dann nicht die komplette Funktion hätte umschreiben müssen
Gerne doch
Viel Spaß noch beim basteln
Schau mal hier:
(Ich hab noch an ein paar zufälligen Stellen kommas hingemacht, nicht wundern )
$sString = 'absbank,absblz,absfax,abskonto,absort,absplz,abstele,ad01,ad02,ad03,ad04,ad05,ad06,ad07,ad08,ad09,ad10,adr_http,adr_mobil,adr_pmobil,adr_telex,adzu2,adzu3,adzu4,anrede,ans_abt,ans_email,ans_fax,ans_firma0,ans_firma1,ans_firma2,ans_funk,ans_http,ans_land,ans_mobil,ans_ort,ans_pemail,ans_pfax,ans_plz_st,ans_pmobil,ans_postf,ans_ptele,ans_strass,ans_tele,ans_telex,bank,barcode,blz,curtimest,date,datetime,email,fax,firma0,firma1,firma2,firma3,firma4,firmierung,gruppe,kto,landkurz,landlang,matchcode,nummer,ort,pemail,pfax,plz,postfach,strasse,telefon1,telefon2,vemail,vfax,wfkid,wfk_text,wfpid,wfp_termin,wfp_zeit' & @CRLF
$sString &= '"Deutsche Bank","1234567890","555-555555","0987654321","somewhere","12345","555-5555","Mega-Money,Company","Herrn","Long Avenue 222","12345 Town","","","","","","","www.mega.de","","","","","","","Herrn","Buch,haltung","bigboss@megacompany.de","555-55555",1,"Boss","Big","","www.megacompany.de","D","","","","","","","","","","555-55555","","Deutsche Bank","","123456789",29.01.2010 11:34:46,29.01.2010,29.01.2010 12:34:48,"bigbos@megacompany.de","555-5555","","Mega Company GbR","","","","Mega Company GbR","KUN","12345","","","MEGACOMP",13117,"Town","","","12345","","Long Street 123","555-5555","","bigboss@megacompany.com","555-55555",0,"",0,. .,""' & @CRLF
$sString &= '"Deutsc,he Bank","1234567890","555-555555","09876,54321","somewhere","12345","555-5555","Mega-Money-Company","Herrn","Long Avenue 222","12345 Town","","","","","","","www.mega.de","","","","","","","Herrn","Buchhaltung","bigboss@megacompany.de","555-55555",1,"Boss","Big","","www.mega,company.de","D","","","","","","","","","","555-55555","","Deutsche Bank","","123456789",29.01.2010 11:34:46,29.01.2010,29.01.2010 12:34:48,"bigbos@megacompany.de","555-5555","","Mega Company GbR","","","","Mega Company GbR","KUN","12345","","","MEGACOMP",13117,"Town","","","12345","","Long Street 123","555-5555","","bigboss@megacompany.com","555-55555",0,"",0,. .,""'
ConsoleWrite($sString & @CRLF)
$sString = StringRegExpReplace($sString,'(?<=")([^,"]+?),([^,"]+?)(?=")',"\1[KOMMA]\2")
ConsoleWrite(@CRLF)
ConsoleWrite($sString & @CRLF)
Sau geil!
2 Verbesserungsvorschläge hätt ich auf Anhieb:
GUISetBkColor(0x000000), damit das GUI von Anfang an schwarz ist, und man das "Starten" der Laufschrift nicht so sieht
Und dass die Laufschrift beim Start auch von Rechts reinkommt, und nicht quasi in der Mitte des GUI's anfängt.
Meine Idee wäre es, alle Kommas innerhalb von Strings per StringRegExpReplace durch [KOMMA] zu ersetzen. Nachden der Array eingelesen wurde, wird das ganze wieder zurückersetzt ( da geht dann auch normales StringReplace ).
Am besten wäre es, du postets mal eine Muster CSV-Datei, damit ich mal einen Regulären Ausdruck dafür schreiben kann.
Es muss keine Orginal - CSV mit echten Daten sein, aber das Muster sollte das gleiche sein.
LG SEuBo