Hallo wuff,
die dazugehörige INI fehlt noch. Ausserdem erscheint mir das Thema etwas komplexx, bräuchte ein paar Erjlärungen was du erreichen willst und was im Moment nicht funktioniert,
mfg autoBert
Hallo wuff,
die dazugehörige INI fehlt noch. Ausserdem erscheint mir das Thema etwas komplexx, bräuchte ein paar Erjlärungen was du erreichen willst und was im Moment nicht funktioniert,
mfg autoBert
also es soll ein Fenster mit einem bestimmten Titel sein.
Meinst du damit ist die Frage von Oscar beantwortet?
mfg autoBert
Hallo wuff,
dann poste doch wenigstens einmal dein bisheriges Skript und die dazugehörige INI-Datei,
mfg autoBert
Hallo wuff,
hier ein kleines Beispiel:
#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.6.1
Author: AutoBert: http://www.autoit.de/index.php?page…4341#post164341
Skriptbeispiel für den Umgang mit INI-Files und ComboBox
#ce ----------------------------------------------------------------------------
#include <GUIConstantsEx.au3>
#Include <GuiComboBox.au3>
#include <StaticConstants.au3>
#include <Array.au3>
Const $sElect = "bitte eine URL auswählen"
Global $URL, $list1
If Not FileExists(@ScriptDir & "\URL.INI") Then
$sData = "AutoIt=http://www.autoit.de" & @LF & "MiniUrl-Manger=http://www.autoit.de/index.php?page=Thread&postID=164341#post164341"
IniWriteSection(@ScriptDir & "\URL.INI", "URLs", $sData)
EndIf
$hGui = GUICreate("MiniUrl-Manager", 300, 90, 302, 218)
$hcboProg = GUICtrlCreateCombo("", 8, 8, 200, 25)
$hbtnAdd = GUICtrlCreateButton("&Hinzufügen", 213, 8,80)
$hbtnDel = GUICtrlCreateButton("&Löschen", 213, 35,80)
$hlblURL = GUICtrlCreateLabel("", 8, 70, 290,25)
$hbtnOpen = GUICtrlCreateButton("&Öffnen", 8, 35,200)
GUICtrlSetState($hbtnOpen, $GUI_DISABLE)
GUICtrlCreateGraphic(0,65,300,2,$SS_ETCHEDHORZ )
read_INI()
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $hbtnAdd
$write1 = InputBox("URL", "Bitte eine gültige URL eingeben")
If $write1 <> "" Then
$write2 = InputBox("URL verwalten unter", "Bitte Kurzbegriff eingeben")
If $write2 <> "" Then IniWrite(@ScriptDir & "\URL.INI", "URLs", $write2, $write1)
GUICtrlSetData($hcboProg, $write2, $write2)
EndIf
show_Selection()
Case $hbtnDel
$sDel = GUICtrlRead($hcboProg)
IniDelete(@ScriptDir & "\URL.INI", "URLs", $sDel)
GUICtrlSetData($hcboProg,"")
read_INI()
Case $hcboProg
show_Selection()
Case $hbtnOpen
ShellExecute($URL)
;ConsoleWrite($URL & @CRLF)
EndSwitch
WEnd
Func read_INI()
$list1 = IniReadSection(@ScriptDir & "\URL.INI", "URLs")
ConsoleWrite($list1 & @CRLF)
if IsArray($list1) Then
For $i = 1 To $list1[0][0]
GUICtrlSetData($hcboProg, $list1[$i][0])
Next
EndIf
_GUICtrlComboBox_InsertString ($hcboProg,$sElect,0)
_GUICtrlComboBox_SetCurSel($hcboProg,0)
EndFunc ;==>read_INI
Func show_Selection()
If GUICtrlRead($hcboProg) = $sElect Then
GUICtrlSetState($hbtnOpen, $GUI_DISABLE)
GUICtrlSetData($hlblURL, "")
Else
GUICtrlSetState($hbtnOpen, $GUI_ENABLE)
$Prog = GUICtrlRead($hcboProg)
ConsoleWrite("ausgewählt: " & $Prog & @CRLF)
;$URL = IniRead(@ScriptDir & "\URL.INI", "URLs", $Prog, "")
$URL = $list1[_ArraySearch($list1,$Prog)][1]
GUICtrlSetData($hlblURL, $URL)
EndIf
EndFunc ;==>show_Selection
mfg autoBert
Hall Parry Hotter,
also _PathSplit funktioniert bei mir (WinXP SP3) einwandfrei. Mit diesem Skript getestet:
[autoit]#include <File.au3>
#include <array.au3>
Local $szDrive, $szDir, $szFName, $szExt
$file = "x:\Bla\mein langes File.xyz"
$path = _PathSplit($file, $szDrive, $szDir, $szFName, $szExt)
_ArrayDisplay($path)
MsgBox(0,"",$szFName & $szExt)
Edit: falls du nur den Dateinamen möchtest kannst du es auch so machen:
[autoit]$file = "x:\Bla\mein langes File.xyz"
$path = StringSplit($file,"\")
MsgBox(0,"",$path[$path[0]])
mfg autoBert
Kann _FileWriteFromArray() ein 2D Array in eine Datei schreiben?
Davon bin ich die ganze Zeit ausgegangen, bis ich jetzt dein Skript gestartet habe. Gut dass du dies klar gestellt hast,
mfg autoBert
Poste doch wenigtens ein lauffähiges Skript, das deine Tabellen anlegt,
mfg autoBert
Hall superpati,
warum nimmst du nicht gleich
[autoit]_ReplaceStringInFile
[/autoit]mfg autoBert
Hallo Doomedone,
herzlich willkommen im Forum und viel Spass mit AutoIt.
Hier kannst du dir die Hilfe herunterladen.
Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee
und jetzt zu deinem Problem: UEZ hat dir zwar die Lösung genau so gepostet wie du ie wolltest, einfacher hättest du es aber mit
[autoit]_FileWriteFromArray
[/autoit]denn das kannst du mit
[autoit]_FileReadToArray
[/autoit]wieder einlesen,
mfg autoBert
Hallo Oscar,
auch von mir die besten Wünsche, vor allem Gesundheit und da ich nicht singen/musizieren kann hier eine ganz rare Aufnahme der AutoIt Nachwussband mit HAPPY BIRTHDAY (Original: THE BEATLES) lass es dir gut gehen und feier schön ![]()
gruss autoBert
Hallo Kuroihana,
das sollte mit der ganz normalen Listview auch funktionieren:
[autoit]$aItem=StringSplit(GUICtrlRead(GUICtrlRead($listview)),"|")
ConsoleWrite($aItem[1]& @CRLF)
ich bevorzuge aber
[autoit]$aItem = _GUICtrlListView_GetItemTextArray
ConsoleWrite($aItem[1]& @CRLF)
mfg autoBert
Hallo ,
Aber wie kann ich die dann zu einer Zahl machen also nach Integer formatieren?
ZitatInt
Gibt einen Integer (ganze Zahl) eines Ausdrucks zurück
Quelle: Hilfe
mfg autoBert
Hallo Ilse,
hier ein Beispiel zur Verwendung von 2 ComboBoxen, die beide ihre Daten aus einem Textfile beziehen:
#Include <GuiComboBox.au3>
#include <GUIConstantsEx.au3>
#include <array.au3>
#include <File.au3>
Const $sCSV = @ScriptDir & "\2cbo.TXT"
Const $sElect = "bitte auswählen"
Dim $a_sCSV, $aSplit, $scboChr = ""
_FileReadToArray($sCSV,$a_sCSV)
Dim $aCSV[$a_sCSV[0]][2]
for $i = 1 to UBound($a_sCSV) - 1
ConsoleWrite($i & $a_sCSV[$i] & @CRLF)
$aSplit = StringSplit($a_sCSV[$i],";")
if not StringInStr($scboChr,$aSplit[1]) Then $scboChr &= $aSplit[1] & "|"
$aCSV[$i-1][0] = $aSplit[1]
$aCSV[$i-1][1] = $aSplit[2]
Next
ConsoleWrite($scboChr & @CRLF)
$hGui = GUICreate("2 Comboboxen aus 1er CSV", 250, 120, 302, 218)
$hcboChr = GUICtrlCreateCombo($sElect, 8, 8, 200, 25)
GUICtrlSetData(-1,$scboChr)
$hcboChrNr = GUICtrlCreateCombo("",8,35,200,25)
$hbtnExit = GUICtrlCreateButton("Be&enden", 8, 65)
GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE, $hbtnExit
Exit
Case $hcboChr
$sVal = GUICtrlRead($hcboChr)
GUICtrlSetData($hcboChrNr,"")
if $sVal <> $sElect Then
$aSplit = _ArrayFindAll($aCSV,$sVal,0,0,True,True,0)
$scboChr = ""
for $i = 0 to UBound($aSplit) - 1
$scboChr &= $aCSV[$aSplit[$i]][1] & "|"
Next
ConsoleWrite($scboChr & @CRLF)
GUICtrlSetData($hcboChrNr,$scboChr)
_GUICtrlComboBox_SetCurSel($hcboChrNr, 0)
EndIf
EndSwitch
WEnd
Hier das dazugehörige Textfile:
mfg autoBert
Finde das include echt gut und will das in ne gui einbinden, aber brauche dazu den on event mode.
Ich habe doch hier: Eigenes Tab-Register (OwnTab-UDF) bereits funkey 's Beispiel in den OnEvent-Mode übertragen,
mfg autoBert
Stell dir vor, jeder würde so denken wie du und einfach gelöste Threads erneut hochholen.
So würde ein einziges Chaos entstehen, da niemand mehr wüsste, wo noch Hilfe benötigt wird.
Denk mal drüber nach
na da wo noch nicht gelöst ist. Die weit verbreitete Unsitte auch eigentlich gelöste Themen nicht auf gelöst zu setzen behindert die Hilfewilligen deutlich stärker.
Maximus1: Bin aber auch der Meinung dass das Hinzufügen von 2 Funktionsaufrufen in einem Beispiel für einen Funktionsaufruf keine so grosse Änderung ist, das man dies extra ergänzen müsste, darauf sollte auch ein Anfänger von alleine kommen,
mfg autoBert
Ich wuerd eher die programme auf mac-kompatibilitaet (boah wie wird des geschrieben xd)
Gucken und sou..
autoit läuft nicht auf mac, höchsten in einem emulator (wenn überhaupt)
Ich selbst habe seit 3 jahren vista und Wenn ich mir
Manchmal noch so XP rechner anguk.. Grauenhaft!
Optisch totaler müll, unübersichtlich und und und
naja ich finde jeder kann gucken ob die scripte denn dann auf
Seibrm xp rechner funktiobieren
Da XP sehr stabil läuft, gerade wegen dem fehlenden optischen Schnick-Schnack werde ich darauf nicht verzichten. Wenn ein für WIN-7/Vista geschriebenes AutoIt-Skript bei mir nicht läuft, kann ich mir immer noch eine eigene Version ohne die optischen Gimmicks erstellen die sich auf die Funktionalität beschränkt.
mfg autoBert
Hallo petter2,
starte einmal dieses kleine Skript und halte dich an die Anweisung in der Message-Box, vielleicht hilft es ja zum lösen deines Probs:
[autoit]MsgBox(262144,"Handle ermitteln","Wechsle zu dem Fenster, dessen Handle du erhalten willst!"& @CRLF & "Danach OK drücken!")
$hwnd=WinGetHandle("[ACTIVE]")
ConsoleWrite($hwnd & @crlf)
ConsoleWrite(WinGetTitle($hwnd,"") & @TAB)
WinSetTitle($hwnd,"","Neuer Name")
ConsoleWrite("heisst absofort: " & WinGetTitle($hwnd,"") & @CRLF)
Ansonsten bitte ScreenShot und die Ausgabe(n) des Window-Infotools einstellen,
mfg autoBert
Maximus1 & @aflakes,
hier ist das Forum Tutorials und nicht das Forum Hilfe & Unterstützung.
@Mod/Admin: bitte closen, damit hier nicht weiter gespamt wird, danke
mfg autoBert
Mein jetziges Problem ist "nur" noch, dass der Administrator kein standortabhängiges, gemeinsames Share zur Verfügung stellen möchte...
na ja, in einen sauren Apfel muss er wohl beissen, soll er halt anstelle dessen in eine leistungsfähigere Anbindung investieren.
mfg autoBert
Es scheint so, als ladet AutoIt das ganze File, bevor er die MD5 bzw SHA1 berechnet.
Das scheint nicht nur so, dass ist so. Die Lösung hast du ja schon selbst gefunden:
muss ich wohl sämtliche SHA1 Hash Werte in einer kleinen Datenbank (oder INI) abspeichern, damit sie im voraus als Vergleichswerte zur Verfügung stehen!
mfg autoBert