mit den 2 kleinern cod schnipseln kann nich eh wenig anfang du müsstest schon etwas genauer geschreiben was denn genau passieren soll. Und ich bin mir dann zu 99% sicher, dass das auch in einen skript zu bewältigen ist.
Beiträge von Darter
-
-
nur mal so ne Frage nebenbei ist es zwingend notwendig, das ganze in 2 skripten zu machen?
-
meinst du vllt sowas: FileSelectFolder() ??
-
hier mal das was ich hab der löscht mir einfach die labels nicht
Die msg Boxen sind natürlich nur zum überprüfen da
Spoiler anzeigen
[autoit]#Include <File.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <Array.au3>
#include <GUIConstantsEx.au3>
#include <GuiImageList.au3>
#include <GuiTreeView.au3>
#include <StructureConstants.au3>
#include <TreeViewConstants.au3>
#include <WindowsConstants.au3>
#Include <GDIPlus.au3>;#RequireAdmin
[/autoit] [autoit][/autoit] [autoit]$status = 1
[/autoit] [autoit][/autoit] [autoit]$hGui = GUICreate("....", 500, 360)
[/autoit] [autoit][/autoit] [autoit]$test = GUICtrlCreateGraphic (160, 0 , 500, 320)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetBkColor ($test, 16777215)
GUICtrlCreatePic ("Images/intallpic.bmp", 0, 0, 160,320)
$Abrechen_Button = GUICtrlCreateButton("Abrechen", 420, 330, 70, 20)
$Weiter_Button = GUICtrlCreateButton("Weiter", 310, 330, 70, 20)
$Zurueck_Button = GUICtrlCreateButton("Zurück", 235, 330, 70, 20)ebene_1(True)
[/autoit] [autoit][/autoit] [autoit]GUISetIcon("Images\SETUP10.ico")
[/autoit] [autoit][/autoit] [autoit]GUISetState()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$ghgui = _GDIPlus_GraphicsCreateFromHWND($hGui)
$hPen = _GDIPlus_PenCreate(0xFF828587)
_GDIPlus_GraphicsDrawLine($ghgui, -1, 319, 500, 319, $hPen)While 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
Case $Abrechen_Button
Exit
Case $Weiter_Button
Switch $status
Case "1"
ebene_1(0)
ebene_2(1)
Case "2"
ebene_2(0)
Case "3"
EndSwitch
$status += 1
MsgBox(0,"",$status)
Case $Zurueck_Button
Switch $status
Case "1"
$status = 2
Case "2"
ebene_1(1)
Case "3"
ebene_2(1)
EndSwitch
$status -= 1
EndSwitch
WEndFunc ebene_1($show)
[/autoit] [autoit][/autoit] [autoit]
Local $label1, $label2, $label3
If $show Then
GUICtrlSetState($Zurueck_Button, $GUI_HIDE)
$label1 = GUICtrlCreateLabel("Willkommen bei der Installation von ....",190,20, 300, 100)
GUICtrlSetBkColor ($label1, 16777215)
GUICtrlSetFont($label1, 15, 800, 0 ,"Aral")$label2 = GUICtrlCreateLabel("Diese Wizard wird dir bei der Installation von .... helfen.",190,140, 300, 100)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetBkColor ($label2, 16777215)
GUICtrlSetFont($label2, 10, 400, 0 ,"Aral")$label3 = GUICtrlCreateLabel("Klicke auf Abrechen um die Installation Abzubrechen.",190,200, 300, 100)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetBkColor ($label3, 16777215)
GUICtrlSetFont($label3, 10, 400, 0 ,"Aral")
Else
MsgBox(0,"","lösche ebene 1")
GUICtrlDelete ($label1)
GUICtrlDelete ($label2)
GUICtrlDelete ($label3)
MsgBox(0,"","ebene 1 gelöscht")
EndIf
GUISetState()
EndFuncFunc ebene_2($show1)
[/autoit] [autoit][/autoit] [autoit]
Local $label
If $show1 Then
MsgBox(0,"","setzte ebene 2")
GUICtrlSetState($Zurueck_Button, $GUI_Show)
$label = GUICtrlCreateLabel("Wähle hier die Standardeinstellungen aus",190,20, 300, 100)
GUICtrlSetBkColor ($label, 16777215)
GUICtrlSetFont($label, 15, 800, 0 ,"Aral")
Else
GUICtrlDelete ($label)
EndIf
GUISetState()
EndFuncFunc Ordenauswahl()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$hTreeview = GUICtrlCreateTreeView(220, 40, 300, 200)
$hWndTreeview = GUICtrlGetHandle($hTreeview)
GUICtrlSetState($hTreeview, $GUI_HIDE)
GUICtrlSetStyle($hTreeview, Default, $WS_EX_COMPOSITED + $WS_EX_CLIENTEDGE)
$hImage = _GUIImageList_Create(16, 16, 5, 1)
_GUIImageList_AddIcon($hImage, 'shell32.dll', 3) ; Verzeichnis-Icon
_GUIImageList_AddIcon($hImage, 'shell32.dll', 110) ; Verzeichnis-Icon mit Haken
_GUIImageList_AddIcon($hImage, 'shell32.dll', 1) ; Datei-Icon
_GUIImageList_AddIcon($hImage, 'shell32.dll', 5) ; Diskette
_GUIImageList_AddIcon($hImage, 'shell32.dll', 7) ; Wechseldatenträger
_GUIImageList_AddIcon($hImage, 'shell32.dll',
; Festplatte
_GUIImageList_AddIcon($hImage, 'shell32.dll', 11) ; CDROM
_GUIImageList_AddIcon($hImage, 'shell32.dll', 12) ; Netzwerklaufwerk
_GUIImageList_AddIcon($hImage, 'shell32.dll', 53) ; Unbekannt
_GUICtrlTreeView_SetNormalImageList($hTreeview, $hImage)
GUIRegisterMsg($WM_NOTIFY, '_WM_NOTIFY')
$aDrives = DriveGetDrive('ALL')
ToolTip('Please wait...', Default, Default, 'Read Directory', 1)
For $i = 1 To $aDrives[0]
$iLWindex = 0
Switch DriveGetType($aDrives[$i])
Case 'Fixed'
$iLWindex = 5
Case 'CDROM'
$iLWindex = 6
Case 'RAMDisk'
$iLWindex = 7
Case 'Removable'
$iLWindex = 4
If StringLeft($aDrives[$i], 2) = 'a:' Or StringLeft($aDrives[$i], 2) = 'b:' Then $iLWindex = 3
Case Else
$iLWindex = 8
EndSwitch
$hRoot = _GUICtrlTreeView_Add($hTreeview, $hTreeview, StringUpper($aDrives[$i]), $iLWindex, $iLWindex)
If DriveStatus($aDrives[$i]) <> 'READY' Then ContinueLoop
_GUICtrlTreeView_BeginUpdate($hTreeview)
_GUICtrlTreeView_FileExplorerRecursive($hTreeview, $hRoot, $aDrives[$i], 1)
_GUICtrlTreeView_EndUpdate($hTreeview)
Next
ToolTip('')
EndFuncFunc _WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
[/autoit] [autoit][/autoit] [autoit]
#forceref $hWnd, $iMsg, $iwParam
GUIRegisterMsg($WM_NOTIFY, '')
Local $hWndFrom, $iCode, $tNMHDR
$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, 'hWndFrom'))
$iCode = DllStructGetData($tNMHDR, 'Code')
If $hWndFrom = $hWndTreeview And $iCode = $NM_CLICK Then
ToolTip('Please wait...', Default, Default, 'Read Directory', 1)
_GUICtrlTreeView_FileExplorer($hGui, $hTreeview)
ToolTip('')
EndIf
GUIRegisterMsg($WM_NOTIFY, '_WM_NOTIFY')
Return $GUI_RUNDEFMSG
EndFunc ;==>_WM_NOTIFYFunc _GUICtrlTreeView_FileExplorer($hGui, $hTreeview)
[/autoit] [autoit][/autoit] [autoit]
Local $aTVPos, $aPos, $hItem, $hChild, $sTree
$aTVPos = ControlGetPos($hGui, '', $hTreeview)
$aPos = GUIGetCursorInfo($hGui)
$hItem = _GUICtrlTreeView_HitTestItem($hTreeview, $aPos[0], $aPos[1] - $aTVPos[1])
If _GUICtrlTreeView_GetExpanded($hTreeview, $hItem) Then Return
$hChild = _GUICtrlTreeView_GetFirstChild($hTreeview, $hItem)
If $hChild <> 0 Then
_GUICtrlTreeView_BeginUpdate($hTreeview)
$sTree = StringReplace(_GUICtrlTreeView_GetTree($hTreeview, $hChild), '|', '\')
_GUICtrlTreeView_DeleteChildren($hTreeview, $hChild)
_GUICtrlTreeView_FileExplorerRecursive($hTreeview, $hChild, $sTree, 1)
Do
$hChild = _GUICtrlTreeView_GetNextChild($hTreeview, $hChild)
If $hChild <> 0 Then
$sTree = StringReplace(_GUICtrlTreeView_GetTree($hTreeview, $hChild), '|', '\')
_GUICtrlTreeView_DeleteChildren($hTreeview, $hChild)
$iTimer = TimerInit()
_GUICtrlTreeView_FileExplorerRecursive($hTreeview, $hChild, $sTree, 1)
EndIf
Until $hChild = 0
_GUICtrlTreeView_EndUpdate($hTreeview)
EndIf
EndFunc ;==>_GUICtrlTreeView_FileExplorerFunc _GUICtrlTreeView_FileExplorerRecursive($hTreeview, $hItem, $sPath, $iRec)
[/autoit] [autoit][/autoit] [autoit]
Local $aDirList, $aFileList, $tmp
If StringRight($sPath, 1) <> '\' Then $sPath &= '\'
$iRec -= 1
$aDirList = _MyFileListToArray($sPath, 2)
If IsArray($aDirList) Then
For $sDir In $aDirList
$tmp = _GUICtrlTreeView_AddChild($hTreeview, $hItem, $sDir, 0, 1)
If $iRec > 0 Then _GUICtrlTreeView_FileExplorerRecursive($hTreeview, $tmp, $sPath & $sDir, $iRec)
Next
EndIf
$aFileList = _MyFileListToArray($sPath, 1)
If IsArray($aFileList) Then
For $sFile In $aFileList
$tmp = _GUICtrlTreeView_AddChild($hTreeview, $hItem, $sFile, 2, 2)
Next
EndIf
EndFunc ;==>_GUICtrlTreeView_FileExplorerRecursiveFunc _MyFileListToArray($sPath, $iFlag)
[/autoit] [autoit][/autoit] [autoit][/autoit]
Local $sFileList = '', $hSearch, $sFile
$hSearch = FileFindFirstFile($sPath & '*')
If @error Then Return
While True
$sFile = FileFindNextFile($hSearch)
If @error Then ExitLoop
If ($iFlag + @extended = 2) Then ContinueLoop
$sFileList &= $sFile & '|'
WEnd
FileClose($hSearch)
If $sFileList = '' Then Return
Return StringSplit(StringTrimRight($sFileList, 1), '|', 2)
EndFunc ;==>__FileListToArrayEDIT : Hab schon Hilfe bekommen !!!!
Lag an der deklarierung meiner label variablen -
*g* mir brauchst das nicht sagen, ich kann einigermaßen mit regex umgehn

neh war ja auch nicht an dich gerichtet sondern eher an den ersteller der threads
-
Wo bricht das was ab. Bei deinem Beispiel bricht doch nix ab und gehts extrem schnell
-
ja ich würde auch jedem empfehlen RegEx zu verwenden.
Problem ist nur dass die meisten damit nicht zurecht kommen.Und da der vorschlag schon gebracht wurde wollte ichs nicht nochmal schreiben^^
Ach Seubo hat doch ein super TuT geschrieben^^
-
Das Problem liegt daran das die Lösung hässlich und langsam ist. (Glaube ich). RegExp würde hier in 2 Zeilen alles klarmachen.
mein reden -
Alles anzeigen
ich kapier nicht wo da das problem liegt
pseudocode
1. quelltext in variable $source einlesen
2. source zuschneiden und in tmp speichern (source nicht überschreiben)
3. tmp mit stringbetween bearbeiten
4. ermittelte daten verarbeiten
5. source zuschneiden und in tmp speichern (source nicht überschreiben)
6. tmp mit stringbetween bearbeiten
7. ermittelte daten verarbeiten
.......Seubo würde hier sagen : Ne da nimmt man ganz klar Regexp()

-
ich empfehle dir RegExp()
-
Du solltest nich alles für einen bot halten

Genau ihr immer un eure Bot geschicht. Was ist daran eig. sooo schlimm wenn einer ne Bot schreibt. Bots schreiben ist nicht verboten. Sie zu verkaufe auch nur nur bei einigen Spielen ist es verboten AUtomatisierte Programme zu verwenden.
Und wenn man da kleinlich ist und bei den Spielen eine Gamermaus mit Makros benutzt ist es schon verboten -
ähm das bringt mir doch nicht viel .. den html code habe ich ja^^
das langsame ist halt dass die datei mit dem html code zeile für zeile ausgelesen wird und ich weiß nicht wie ich das über den memory machen kann
Bei meinem Beispiel wird nix von Zeile für Zeile ausgelsen sondern du erhältst den Kopletten HTML Cod in einer Variable
-
noch etwas erweitert...
[autoit]#include <Date.au3>
[/autoit] [autoit][/autoit] [autoit]
Dim $Y, $M, $D, $DateDim $dateadd = 4; Tag des Jahres
[/autoit] [autoit][/autoit] [autoit]
Dim $dateyear = 2010; Jahr_DayValueToDate(_DateToDayValue($dateyear, 1, 1) -1 + $dateadd, $Y, $M, $D)
[/autoit]
MsgBox(4096, "", "Datum: " & $D & "." & $M & "." & $Y)man da war ich wieder zu langsam
aber ich hatte fast das gleiche -
schau dir mal das an:
Spoiler anzeigen
[autoit]; WINHTTP Object example
[/autoit] [autoit][/autoit] [autoit]
;
; Retrieve the HTML source from a given URL
;
; Derived from a KiXtart script BBCodeParser.kix by Lonkero
;
; See also: http://www.gwspikval.com/jooel/scripts/…CodeParser2.kix
; and
; http://msdn.microsoft.com/library/en-us/…httprequest.asp$URL="http://www.AutoItScript.com"
[/autoit] [autoit][/autoit] [autoit]#include "GUIConstants.au3"
[/autoit] [autoit][/autoit] [autoit]; Create a simple GUI for our output
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUICreate ( "Event Test", 640, 480 )
$GUIEdit=GUICtrlCreateEdit ( "HTTP Source Test:" & @CRLF, 10, 10 , 600 , 400 )
GUISetState () ;Show GUI$httpObj = ObjCreate("winhttp.winhttprequest.5.1")
[/autoit] [autoit][/autoit] [autoit]
$httpObj.open("GET",$URL)
$httpObj.send()$HTMLSource = $httpObj.Responsetext
[/autoit] [autoit][/autoit] [autoit]GUICtrlSetData ( $GUIEdit, "The HTML source of " & $URL & " is:" & @CRLF & @CRLF & StringAddCR($HTMLSource) , "append" )
[/autoit] [autoit][/autoit] [autoit]; Waiting for user to close the window
[/autoit] [autoit][/autoit] [autoit]
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WendGUIDelete ()
[/autoit] [autoit][/autoit] [autoit]exit
[/autoit] -
beschreibt dein problem doch noch etwas genauer was willst du machen ich hab es nicht ganz verstanden?
das akuelle datum erhältst du mit makros die autoit schon bereitstellt
Edit: achso du willst einfach eine zahl eingeben z.b 110 und wissen was das für ein datum des jeweiligen jahres war bzw. ist ??
-
ich versteh nicht ganz was du meinst aber benutz doch bitte immer bei längeren cods einen
Spoiler anzeigen
-
bitte
Spoiler anzeigen
[autoit]$file=FileOpen(@ScriptDir & "\config.txt",0)
[/autoit] [autoit][/autoit] [autoit]
$drive=FileReadLine(@ScriptDir & "\config.txt",4)
$Comport=FileReadLine(@ScriptDir & "\config.txt",6)
$Anzahl=FileReadLine(@ScriptDir & "\config.txt",8)
$Version=('V:X:30:2:E');Robotic Version Info Command
$Calibration=('C:X:30:2:E');Calibration Command
$Load=('I:X:30:2:E');Get Input (load) Command
$Unload=('A:X:30:2:E');Unload the Drive Command
HotKeySet("{ESC}","_exit")
Global $iCount = 1if $file=-1 Then
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
MsgBox(0,"Error","Unable to open the config.txt")
Exit
EndIfRunWait('load.exe --comport='&$comport&' --drive='&$drive&' --command='&$Version&'')
[/autoit] -
Danke für die vielen und netten Antworten ich habs hinbekommen thx an alle
-
und noch was anderes, wenn ihr viel bilder in einem Programm benutzt ist es da sinnvoll, diese Bilder in einem Sripkt als Binäri zu speichern und pracktisch das Das Bild direkt aus dem Skript laden
-
Also ich habe
2 exe dateien eine haupt exe und eine Update exe
dan habe ich ein unterverzeichniss mit mehreren Bildern
und dann hab ich eben auch noch dll´sall diese daten sollen in form einer einzigen installations exe gedownloadet werden und dann sollen diese eben in ein vom User angegebenes problem geschrieben werden und dann halt auch noch ein paar reigis geschrieben werden
Edit: ach und mit fileinstall kann ich diese gazen dateien aus der intall exe wieder raushlen oder?