Moin moin,
wie bekommt man es hin das man die Gui auf dem Desktop verschieben kann ?
Möchte da auch keinen Rahmen drum haben sondern so beibehalten wie es ist.
Hier mal mein Skript
Spoiler anzeigen
#include <string.au3>
#include <file.au3>
#include <Array.au3>
#include <Constants.au3>
#include <IE.au3>
#include <Excel.au3>
#include <GuiConstantsEx.au3>
#include <Date.au3>
#include <WindowsConstants.au3>
#include <ButtonConstants.au3>
#include <GuiButton.au3>
#Include <Misc.au3>
Global $zminutena = 3, $zminutenb = 2, $minuten = 0, $zeilevorschub1 = 2, $zeilevorschub = 2, $Stunden = 0, $zstundena = 13, $zstundenb = 2
global $fVisible, $datum, $uhrzeit, $sNewDate0, $Zeilenanzahl1, $Zeilenanzahl2, $dateidatum, $blink = True, $msg
Global $Starttimer15 = TimerInit(), $Starttimer30 = TimerInit(), $Starttimer45 = TimerInit(), $Starttimer60 = TimerInit()
$dateidatum = ( _DateTimeFormat( _NowCalc(),2))
GUICreate("", 80, 50, 323, 169, BitOR($WS_BORDER,$WS_POPUP))
GUISetBkColor(0x000000)
$Button3 = GUICtrlCreateButton("Exit", 4, 20, 35, 17)
$Label1 = GUICtrlCreateLabel("Statistik", 6, 5, 77, 17)
GUICtrlSetColor(-1, 0xFFFFFF)
$ico = GUICtrlCreateIcon ("user32.dll",-2, 40, 20, 32, 32)
GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]If Not FileExists(@ScriptDir & "\" & $dateidatum & "." & "xls") Then
$oExcel = _ExcelBookNew(0)
$aSheets = _ExcelSheetList($oExcel)
If $aSheets[0] = 1 Then _ExcelSheetAddNew($oExcel, "Alle Daten")
_ExcelSheetActivate($oExcel, 1)
If _ExcelSheetNameGet($oExcel) <> "Alle Daten" Then _ExcelSheetNameSet($oExcel, "Alle Daten")
_ExcelWriteCell($oExcel, "Datum", 1, 1) ; Schreibt in die Zelle [A1]
_ExcelWriteCell($oExcel, "Tag", 1, 2) ; Schreibt in die Zelle [A2]
_ExcelWriteCell($oExcel, "Monat", 1, 3) ; usw
_ExcelWriteCell($oExcel, "Uhrzeit", 1, 4)
_ExcelWriteCell($oExcel, "Mitglieder", 1, 5)
_ExcelWriteCell($oExcel, "Themen", 1, 6)
_ExcelWriteCell($oExcel, "Beiträge", 1, 7)
_ExcelWriteCell($oExcel, "Durchschitt /Tag", 1,
_ExcelWriteCell($oExcel, "Benutzer Online", 1, 9)
_ExcelWriteCell($oExcel, "Mitglieder Online", 1, 10)
_ExcelWriteCell($oExcel, "Besucher Online", 1, 11)
_ExcelWriteCell($oExcel, "Neue Mitglieder", 1, 12)
_ExcelWriteCell($oExcel, "MAX Besucher ", 1, 13)
_ExcelWriteCell($oExcel, "Neue Mitglieder ges. ", 1, 14)
$oExcel.Range("1:1").Select ; Zeile 1 Komplett makieren
With $oExcel.Selection.Font
.Name = "Arial" ; schrift = Arial
.Size = 12 ; größe = 12
EndWith
$oExcel.Selection.Font.Bold = True ; Fett geschrieben
$oExcel.Selection.EntireColumn.AutoFit ; Alle Zellen in der Zeile werden von der größe her angepasst
$oExcel.Columns("A:A" ).ColumnWidth = 14 ; Wird die Spalte A in der breite getrimmt
$oExcel.Columns("B:B" ).ColumnWidth = 14 ; Wird die Spalte B in der breite getrimmt
$oExcel.Columns("G:G" ).ColumnWidth = 14 ; usw
$oExcel.Columns("H:H" ).ColumnWidth = 21
$oExcel.Columns("I:I" ).ColumnWidth = 21
$oExcel.Columns("J:J" ).ColumnWidth = 21
$oExcel.Columns("K:K" ).ColumnWidth = 25
$oExcel.Columns("L:L" ).ColumnWidth = 21
$oExcel.Columns("N:N" ).ColumnWidth = 25
$oExcel.Range("A:AZ" ).Select ; wird die gesamte tabelle makiert
$oExcel.Selection.HorizontalAlignment = -4108 ;xlCenter in excel wird alles mittig gesetzt
$oExcel.Range("B2").Select
$oExcel.ActiveWindow.FreezePanes = True
_ExcelBookSaveAs($oExcel, (@ScriptDir & "\" & $dateidatum & "." & "xls"))
_ExcelBookClose($oExcel)
EndIf
While 1
AdlibRegister("_blink",500)
If FileExists(@ScriptDir & "\test.txt") Then FileDelete(@ScriptDir & "\test.txt")
If ProcessExists ("EXCEL.EXE") Then ProcessClose ("EXCEL.EXE")
Dim $aRecords, $aArray, $FileList[1]
$file = FileOpen(@ScriptDir & "\test.txt",
;Tagesnamen auf Deusch
$tagesname0 = _DateDayOfWeek(@WDAY)
If $tagesname0 = "Sunday" Then $tagesname1 = "Sonntag"
If $tagesname0 = "Monday" Then $tagesname1 = "Montag"
If $tagesname0 = "Tuesday" Then $tagesname1 = "Dienstag"
If $tagesname0 = "Wednesday" Then $tagesname1 = "Mittwoch"
If $tagesname0 = "Thursday" Then $tagesname1 = "Donnerstag"
If $tagesname0 = "Friday" Then $tagesname1 = "Freitag"
If $tagesname0 = "Saturday" Then $tagesname1 = "Samstag"
;Monatsnamen auf Deutsch
$monatname = _DateToMonth(@MON)
If $monatname = "January" Then $monatname0 = "Januar"
If $monatname = "February" Then $monatname0 = "Februar"
If $monatname = "March" Then $monatname0 = "März"
If $monatname = "April" Then $monatname0 = "April"
If $monatname = "May" Then $monatname0 = "Mai"
If $monatname = "June" Then $monatname0 = "Juni"
If $monatname = "July" Then $monatname0 = "Juli"
If $monatname = "August" Then $monatname0 = "August"
If $monatname = "September" Then $monatname0 = "September"
If $monatname = "October" Then $monatname0 = "Oktober"
If $monatname = "November" Then $monatname0 = "November"
If $monatname = "December" Then $monatname0 = "Dezember"
$datum =( _DateTimeFormat( _NowCalc(),2))
$uhrzeit =( _DateTimeFormat( _NowCalc(),5))
$oIE = _IECreate("http://www.xxx.de", 0, 0)
$oTable = _IETableGetCollection($oIE)
$oTable = _IETableGetCollection($oIE,1)
$aTableData = _IETableWriteToArray($oTable)
If ProcessExists ("iexplore.exe") Then ProcessClose ("iexplore.exe")
$sFilePath1 = @ScriptDir & "\" & $dateidatum & "." & "xls" ; Diese Datei sollte bereits existieren
$oExcel = _ExcelBookOpen($sFilePath1,$fVisible = 1)
$uni = _ArrayUnique($aTableData)
$stri = _ArrayToString($uni)
$file = FileOpen(@ScriptDir & "\test.txt", 1)
FileWrite($file,$stri)
FileClose($file)
$file = FileOpen(@ScriptDir & "\test.txt", 0)
;### Mitgliederzahl ######################################################________________________Mitgliederzahl
$file2 = FileRead($file) ; Wird die Textdatei in einem Sring gelesen
$file3 = StringRegExpReplace($file2, " ", "") ; alle Leerzeichen aus dem Text nehmen; MACHT DAS SUCHEN EINFACHER
$aResult1 = StringRegExp($file3,"Mitglieder:"&"(\d+)",3) ; Wird nach der Mitgliederzahl gesucht
_ExcelSheetActivate($oExcel, "Tabelle1") ; wird die Tabelle 1 aktiviert
$Zeilenanzahl = $oExcel.ActiveSheet.Cells($oExcel.Rows.Count, 1).End(-4162).Row ; -4162 = xlUp Wird die letzte Zelle der Spalte 1 ermittelt
$zeile = $Zeilenanzahl +1
_ExcelWriteCell($oExcel, $datum, $zeile, 1)
_ExcelWriteCell($oExcel, $tagesname1, $zeile, 2)
_ExcelWriteCell($oExcel, $monatname0, $zeile, 3)
_ExcelWriteCell($oExcel, $uhrzeit, $zeile, 4)
_ExcelWriteCell($oExcel, $aResult1, $zeile, 5)
;MsgBox(0,"file",$aResult1)
$zeile = $Zeilenanzahl +1
;## Themen ###########################################################______________________________Themen
$aResult2 = StringRegExp($file3,"Themen:"&"(\d+)",3)
_ExcelWriteCell($oExcel, $aResult2, $zeile, 6)
;## Beiträge #########################################################______________________________Beiträge
$aResult3 = StringRegExp($file3,"Beiträge:"&"(\d+)",3)
;_ArrayDisplay($aResult3)
_ExcelWriteCell($oExcel, $aResult3[0], $zeile, 7)
;## Durchschitt pro Tag ##############################################______________________________Durchschitt pro Tag
$aResult4 = StringRegExp($file3,"(Ø)" & "(\d+)" & "(\,)"& "(\d+)" ,3)
_ExcelWriteCell($oExcel, $aResult4[1] & $aResult4[2] &$aResult4[3] , $zeile,8)
;##Benutzer Online ####################################################_____________________________Benutzer Online
$aResult5 = StringRegExp($file3,"ZurZeitsind"&"(\d+)",3)
_ExcelWriteCell($oExcel, $aResult5, $zeile, 9)
;## Mitglieder Online #################################################_____________________________Mitglieder Online
$aResult6 = StringRegExp($file3,"Benutzeronline:"&"(\d+)",3)
_ExcelWriteCell($oExcel, $aResult6, $zeile, 10)
;## Besucher Online ##################################################_____________________________Besucher Online
$aResult7 = StringRegExp($file3,"Mitgliederund"&"(\d+)",3)
_ExcelWriteCell($oExcel, $aResult7, $zeile, 11)
;## Mitglieder / 5Min. ###############################################_____________________________Mitglieder / 5Min
$zeilea = $zeile -1
$5minwerta = _Excelreadcell($oExcel, $zeilea, 5) ; ließt mir den Aktuellen Wert aus der dritten Spalte " Mitglieder " Zelle ein unter aus
$5minwertb = _Excelreadcell($oExcel, $zeile, 5) ; ließt mir den Aktuellen Wert aus der dritten Spalte Mitglieder " Zelle ein über aus
If $5minwerta = "Mitglieder" Then ; Wenn die Tabelle neu anfängt damit er mir nicht die volle Mitgliederzahl in die erste spalte schreibt
_ExcelWriteCell($oExcel, "0", $zeile, 12)
Else
$5minwertc = ($5minwertb - $5minwerta) ; Rechnet mir den Wert " C3 - C2 "
_ExcelWriteCell($oExcel, $5minwertc, $zeile, 12)
$oExcel.Cells(2, 13).Value = '=MAX(I2:I' & $Zeilenanzahl & ')'
$makierenN = ("N2")
_ExcelWriteCell($oExcel, "=Summe(L2:L"& $Zeilenanzahl +1,$makierenN , 14) ;die neu hinzugekommen mitglieder addieren und in N2 anzeigen
EndIf
$oExcel.Range("A2").Select
FileClose($file)
FileDelete(@ScriptDir & "\test.txt")
_ExcelBookSaveAs($oExcel, @ScriptDir & "\" & $dateidatum & "." & "xls")
_ExcelBookClose($oExcel)
if ProcessExists ("EXCEL.EXE") Then ProcessClose ("EXCEL.EXE")
;###########Tagestabelle anlegen #################
$sNewDate = _DateAdd('d', -1, _NowCalcDate())
Local $a = StringReplace($sNewDate, "/", "")
Local $b = StringLeft($a, 4) ;Jahr
Local $c = StringLeft($a, 6)
Local $d = StringRight($c, 2) ; Monat
Local $e = StringRight($a, 4)
Local $f = StringRight($e, 2); Tag
$datumsvergleich = ($f & "." & $d & "." & $b) ; wird das Datum wieder so zusammengesetzt das es das gleiche Format hat wie in der Tabelle
If FileExists(@ScriptDir & "\" & $datumsvergleich & "." & "xls") Then ; Wird die Tagestabelle neu erstellt wenn das datum einen Tag weiter ist
FileMove(@ScriptDir & "\" & $datumsvergleich & "." & "xls", @ScriptDir & "/Tabellen-Sicherungen" , 9)
$oExcel = _ExcelBookNew(0)
$aSheets = _ExcelSheetList($oExcel)
If $aSheets[0] = 1 Then _ExcelSheetAddNew($oExcel, "Alle Daten")
_ExcelSheetActivate($oExcel, 1)
If _ExcelSheetNameGet($oExcel) <> "Alle Daten" Then _ExcelSheetNameSet($oExcel, "Alle Daten")
_ExcelWriteCell($oExcel, "Datum", 1, 1) ; Schreibt in die Zelle [A1]
_ExcelWriteCell($oExcel, "Tag", 1, 2) ; Schreibt in die Zelle [A2]
_ExcelWriteCell($oExcel, "Monat", 1, 3) ; usw
_ExcelWriteCell($oExcel, "Uhrzeit", 1, 4)
_ExcelWriteCell($oExcel, "Mitglieder", 1, 5)
_ExcelWriteCell($oExcel, "Themen", 1, 6)
_ExcelWriteCell($oExcel, "Beiträge", 1, 7)
_ExcelWriteCell($oExcel, "Durchschitt /Tag", 1,
_ExcelWriteCell($oExcel, "Benutzer Online", 1, 9)
_ExcelWriteCell($oExcel, "Mitglieder Online", 1, 10)
_ExcelWriteCell($oExcel, "Besucher Online", 1, 11)
_ExcelWriteCell($oExcel, "Neue Mitglieder", 1, 12)
_ExcelWriteCell($oExcel, "MAX Besucher ", 1, 13)
_ExcelWriteCell($oExcel, "Neue Mitglieder ges. ", 1, 14)
$oExcel.Range("1:1").Select ; Zeile 1 Komplett makieren
With $oExcel.Selection.Font
.Name = "Arial" ; schrift = Arial
.Size = 12 ; größe = 12
EndWith
$oExcel.Selection.Font.Bold = True ; Fett geschrieben
$oExcel.Selection.EntireColumn.AutoFit ; Alle Zellen in der Zeile werden von der größe her angepasst
$oExcel.Columns("A:A" ).ColumnWidth = 14 ; Wird die Spalte A in der breite getrimmt
$oExcel.Columns("B:B" ).ColumnWidth = 14 ; Wird die Spalte B in der breite getrimmt
$oExcel.Columns("G:G" ).ColumnWidth = 14 ; usw
$oExcel.Columns("H:H" ).ColumnWidth = 21
$oExcel.Columns("I:I" ).ColumnWidth = 21
$oExcel.Columns("J:J" ).ColumnWidth = 21
$oExcel.Columns("K:K" ).ColumnWidth = 25
$oExcel.Columns("L:L" ).ColumnWidth = 21
$oExcel.Columns("N:N" ).ColumnWidth = 25
$oExcel.Range("A:AZ" ).Select ; wird die gesamte tabelle makiert
$oExcel.Selection.HorizontalAlignment = -4108 ;xlCenter in excel wird alles mittig gesetzt
$oExcel.Range("B2").Select
$oExcel.ActiveWindow.FreezePanes = True
_ExcelBookSaveAs($oExcel, (@ScriptDir & "\" & $dateidatum & "." & "xls"))
_ExcelBookClose($oExcel)
EndIf
Do
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
MsgBox(0, "", "Dialog wurde beendet")
Exit
Case $msg = $GUI_EVENT_MINIMIZE
MsgBox(0, "", "Dialog wurde minimiert", 2)
Case $msg = $button3
Ende()
ExitLoop
EndSelect
Until $msg = 0
Sleep(2000)
WEnd
Func _blink() ; Für das zeichen damit es blinkt
$blink = Not $blink
If $blink Then
GUICtrlSetState($ico,16);$GUI_SHOW
Else
GUICtrlSetState($ico,32);$GUI_HIDE
EndIf
EndFunc
Func Ende()
Exit
EndFunc
Habe da so meine Probleme da es innerhalb der Schleife ablaufen muss.
mfg
oh-ha