in so einem Moment denk ich mir: Komm her und machs doch einfach besser
Beiträge von x0r
-
-
User.dll => user_id=user_name
Hat den einfachen Sinn, wenn einer der Mitarbeiter seine ID bei anderen Namen einfügt, kann er die Stempelzeiten des jeweiligen sehen. Um da Manipulationen vorzubeugen, nenn ich die ini in dll und setz damit vorraus, dass die Leute zu "doof" sind, um dlls mit Textdateien zu öffnen
-
Hi,
meine inis sind teilweise als *.dll gespeichert, macht gar keinen Unterschied, arbeite einfach so, als wäre es eine normale ini.
Fügst halt einfach jeweils beim ein- und auslesen ein Leerzeichen ein bzw nimmst es weg mit
[autoit]StringTrimLeft()
[/autoit]oder
[autoit]StringTrimRight()
[/autoit].
So würds ich jedenfalls machen
Gruß,
x0r -
Andy:
[autoit]$Meldung[0] = BinaryToString($Meldung[0], 4);UTF8
[/autoit]Hättest du mir das nicht schon vor 3 Jahren mitteilen können?
-
_HTML.au3 ist bei mir INet.au3
z.b.:
[autoit]
[/autoit][autoit][/autoit][autoit]
#include <inet.au3>
#include <String.au3>Local $sHTML = _INetGetSource("http://www.zks-abfall.de/DE/Home/homepage__node.html?__nnn=true")
[/autoit][autoit][/autoit][autoit]Sleep(1000)
[/autoit][autoit][/autoit][autoit]Local $Meldung = _StringBetween($sHTML, '<p class="MsoNormal">', '</p>'); Störmeldung auslesen
[/autoit][autoit][/autoit][autoit]for $i = 0 to UBound($Meldung)-1
[/autoit][autoit][/autoit][autoit]
$Meldung[$i] = StringReplace($Meldung[$i], "ä", "ä")
$Meldung[$i] = StringReplace($Meldung[$i], "ö", "ö")
NextConsoleWrite("Meldung: " & $Meldung[0] & @CRLF)
[/autoit][autoit][/autoit][autoit]MsgBox(64, "ZKS Meldung:", $Meldung[0])
[/autoit][autoit][/autoit][autoit][/autoit] -
Hi,
bissl spät, aber besser als nie
Sowas hab ich mir mal für die Firma hier intern gebaut, hat wunderbar funktioniert:
Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>$Gui = GUICreate("Send E-Mail", 576, 494, 192, 114, -1, $WS_EX_ACCEPTFILES )
[/autoit] [autoit][/autoit] [autoit]
$Label1 = GUICtrlCreateLabel("Von:", 16, 16, 26, 17)
$von = GUICtrlCreateInput(StringReplace(@UserName,"_",".") & "@blubb.com", 48, 8, 433, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$an = GUICtrlCreateInput(StringReplace(@UserName,"_",".") & "@blubb.com", 48, 32, 433, 21)
$Label2 = GUICtrlCreateLabel("An:", 16, 40, 20, 17)
$sub = GUICtrlCreateInput("", 48, 136, 513, 21)
$Label3 = GUICtrlCreateLabel("Betreff:", 8, 144, 38, 17)
$Label4 = GUICtrlCreateLabel("Text:", 8, 208, 28, 17)
$text = GUICtrlCreateEdit("", 48, 208, 513, 273)
$send = GUICtrlCreateButton("Senden", 488, 8, 75, 45, $WS_GROUP)
GUICtrlSetState(-1, $GUI_DISABLE)
$clear = GUICtrlCreateButton("Löschen", 488, 72, 75, 45, $WS_GROUP)
$Label5 = GUICtrlCreateLabel("CC:", 16, 80, 21, 17)
$Label6 = GUICtrlCreateLabel("BCC:", 16, 104, 28, 17)
$cc = GUICtrlCreateInput("", 48, 72, 433, 21)
$bcc = GUICtrlCreateInput("", 48, 96, 433, 21)
$Label7 = GUICtrlCreateLabel("Anhang:", 0, 184, 44, 17)
$anhang = GUICtrlCreateInput("", 48, 176, 513, 21)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
GUISetState(@SW_SHOW)dim $mail, $blubb = 1
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $send
GUICtrlSetState($send,$GUI_DISABLE)
sendit()
Case $clear
GUICtrlSetState($send,$GUI_DISABLE)
GUICtrlSetData($an,"")
;GUICtrlSetData($von,"")
GUICtrlSetData($cc,"")
GUICtrlSetData($bcc,"")
GUICtrlSetData($sub,"")
GUICtrlSetData($text,"")
$blubb = 1
EndSwitchif GUICtrlRead($an) <> "" and GUICtrlRead($von) <> "" and $blubb = 1 Then
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($send,$GUI_ENABLE)
$blubb = 0
EndIf
WEndfunc sendit()
[/autoit] [autoit][/autoit] [autoit]$mail = ObjCreate("CDO.Message")
[/autoit] [autoit][/autoit] [autoit]With $mail
[/autoit] [autoit][/autoit] [autoit]$mail.From = GUICtrlRead($von)
[/autoit] [autoit][/autoit] [autoit]
$mail.To = GUICtrlRead($an)
$mail.Subject = GUICtrlRead($sub)$asdf = GUICtrlRead($text)
[/autoit] [autoit][/autoit] [autoit]$mail.HTMLBody = $asdf
[/autoit] [autoit][/autoit] [autoit];if GUICtrlRead($anhang) <> "" Then $mail.AddAttachment = GUICtrlRead($anhang)
[/autoit] [autoit][/autoit] [autoit]$mail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
[/autoit] [autoit][/autoit] [autoit]
$mail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "192.168.10.232"
$mail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
$mail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 0$mail.Configuration.Fields.Update
[/autoit] [autoit][/autoit] [autoit]$mail.Send
[/autoit] [autoit][/autoit] [autoit]EndWith
[/autoit] [autoit][/autoit] [autoit]MsgBox(64,"Erfolg","Email gesendet.",1)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($send,$GUI_ENABLE)EndFunc
[/autoit] [autoit][/autoit] [autoit][/autoit]Damit konntest du sogar den "Absender" fälschen (nicht im Quelltext der Nachricht!)
-
Ab dem 14.03.2015 verbiete ich es, meinen Player als Basis für einen neuen Player zu verwenden, der dann ohne meine Erlaubnis veröffentlicht wird.
Junge... Dann kompilier das Ding und behalt den Source für dich, so toll kann das Teil gar nicht sein, wenn schon so ein Satz drunter steht. Die Alternative wäre, etwas weniger "Fishing for compliments" zu betreiben und es erst gar nicht zu veröffentlichen.
€dit:
Q.E.D. (siehe Anhang) -
"Cleanup is a command line utility that deletes files older than a given age." < Ach sowas gibts? Ich hatte mir mal selbst sowas gebaut, für das SQL-Backup. "Lösche alle Dateien älter als 21 Tage"..
Jedenfalls habs auch ich mal getestet, aber nicht mit ner echten CmdLine, sondern nur mit Array:
[autoit]
[/autoit][autoit][/autoit][autoit]
dim $CmdLines[3]$CmdLines[0] = 2
[/autoit][autoit][/autoit][autoit]
$CmdLines[1] = "C:\Users\blablabla\AppData\Roaming\HeidiSQL"
$CmdLines[2] = "C:\Users\blablabla\AppData\Roaming\HeidiSQL\12-23-45-1234567890"$mld = "Das bestehende Benutzerverzeichnis wurde umbenannt in:" & @CRLF & _
[/autoit][autoit][/autoit][autoit]
" " & CHR(34) & $CmdLines[1] & CHR(34) & @CRLF & @CRLF & @CRLF & _
"xxx wird jetzt neu gestartet, dabei wird automatisch ein neues xxx-Benutzerverzeichnis:" & @CRLF & @CRLF & _
CHR(34) & $CmdLines[2] & CHR(34) & @CRLF & "erstellt." & @CRLF & _
@CRLF & @CRLF & @CRLF & _
"Hinweis:" & @CRLFMsgbox(64, "xxx wird neu gestartet", $mld)
[/autoit]Aber ich glaube mich zu erinnern, dass ich mal ein ähnliches Problem hatte - ist leider nur schon ein paar Jahre her :pinch:
-
Thinclients, sau lahme Verbindung + Terminal Server mit Windows Server 2008 R2 Enterprise - noch Fragen?
...und ja, ein Loop zerballert mein Profil
-
also wenn ich hier in der Firma das hier verwende:
[autoit]While 1
[/autoit]
WendDann dauerts nicht lang und mein Profil befindet sich in einem nicht beendbaren Loop - und das ist gaaaaaanz schlecht
"Hallo Admin, kannst du mein Profil resetten? Habe mal wieder einen Loop!" - "Du bist doch a Depp!"
-
hm, das einzige, was ich mit solchen kombis benutzt hab, waren **** oder gametrainer
-
da passiert doch gar nix, für was brauchste das denn?
-
Hi,
es ginge auch:
[autoit]send("^!m")
[/autoit]Gruß,
x0r -
Das sieht doch schon mal sehr vielversprechend aus, vielen Dank!
-
Hi ihrs
Ich hab mir ne kleine GUI gebaut mit TreeView und einer InputBox:
Spoiler anzeigen
[autoit]#include <EditConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TreeViewConstants.au3>
#include <WindowsConstants.au3>
#include <GUITreeView.au3>$GUI = GUICreate("GUI", 384, 109, 192, 114)
[/autoit] [autoit][/autoit] [autoit]
$Tree = GUICtrlCreateTreeView(8, 8, 129, 81, BitOR($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS), $WS_EX_CLIENTEDGE)
$last = GUICtrlCreateInput("", 232, 8, 121, 21)
GUISetState(@SW_SHOW)$first = GUICtrlCreateTreeViewItem("test 1-1", $Tree)
[/autoit] [autoit][/autoit] [autoit]
$second = GUICtrlCreateTreeViewItem("test 2-1", $Tree)
$second1 = GUICtrlCreateTreeViewItem("test line 2-2", $second)While 1
[/autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEndJetz möcht ich, dass mir der jeweilige Name (z.b. test 2-1) beim Anklicken (Markieren) in die Inputbox übertragen wird, geht das?
€dit: Hinzufügen sollte ich, dass ich ziemlich viele Items im Treeview hab, die alle mit einem Array eingefügt werden. Habe also keine einfaches $item1, $item2 usw...
Danke & Grüße,
x0r -
hätt ers nicht als geb-datum eingetragen, wärs niemandem aufgefallen
-
in wiefern zeitaufwändig?
kannst dir ja eine eigene funktion bauen, in etwa:
string($str,$cnt)
string("test",2) = eis doch kein problem
-
Hi,
wurd hier zwar schon oft erwähnt, aber ich würds auch mit MySQL lösen.
Der Vorteil: Du hast keine unnötigen Files rumfliegen
Die ID würd ich aber als "autoincrement" (und als "Primary Key") deklarieren , des weiteren könntest du die Daten abfragen und ggf einen Parser dafür basteln, der dir die Daten in ein Web-gängiges Format umwandelt (für Webseiten-Übersicht (dann ggf mit Apache (is nich so schwer wies klingt, hab ich auch schon hinbekommen :D))).
€dit: "Parser" für die, die mit PHP oder sonstigem nix anfangen können (ich z.b. :D)
Ich hätte sogar schon eine Idee dafür, aber ist nicht mein Projekt
Grüße,
x0r -
Hoi!
Son Teil fürs Berichtsheft hatte ich mir auch mal gebaut, konntest variable Infos eintragen und auch "Random" generieren lassen
Pro Seite ca 2 Sekunden (mit korrektem Datum, Unterschrift drunter einfügen und drucken!)
Meine Mit-Azubis haben sich drum geprügelt
Leider find ichs nicht mehr, hat Chefchen vermutlich gelöscht
Gruß,
x0r -
Hi,
hab mir was zusammen gebastelt (größenteils aus fremden Funktionen).
Beim Starten wechselts einmal das Hintergrundbild (z.b. für Autostart) und bei drücken von Strg+Y wechselts ihn ebenfalls (das Windows-eigene Random nervt ).
Im Scriptordner einen Ordner "wallpapers" anlegen und dort alle Bilder einfügen, die man möchte:
Spoiler anzeigen
[autoit]#include <file.au3>
[/autoit] [autoit][/autoit] [autoit]HotKeySet("^y", "dochange")
[/autoit] [autoit][/autoit] [autoit]
HotKeySet("", "rand")Global $img_size, $sz, $rnd, $rand = 0
[/autoit] [autoit][/autoit] [autoit]dochange()
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc dochange()
[/autoit] [autoit][/autoit] [autoit]
Local $path = @ScriptDir & "\wallpapers"
Global $ary = _FileListToArray($path)
Global $oldrnd = IniRead(@ScriptDir & "\wallpapers.ini", "wp", "oldnum", "")donum()
[/autoit] [autoit][/autoit] [autoit]$img_size = _GetJpegSize($path & "" & $ary[$rnd])
[/autoit] [autoit][/autoit] [autoit]
If $img_size[0] < 1600 Or $img_size[1] < 1000 Then
$sz = 2
Else
$sz = 3
EndIf_ChangeWallpaper($path & "" & $ary[$rnd], $sz)
[/autoit] [autoit][/autoit] [autoit]
EndFunc ;==>dochangeFunc donum()
[/autoit] [autoit][/autoit] [autoit]
$rnd = $oldrnd + 1
If $rnd = $ary[0] + 1 Then $rnd = 1IniWrite(@ScriptDir & "\wallpapers.ini", "wp", "oldnum", $rnd)
[/autoit] [autoit][/autoit] [autoit]
EndFunc ;==>donumFunc _ChangeWallpaper($sFile, $iType) ; Changes the wallpaper to $sFile using $iType as:
[/autoit] [autoit][/autoit] [autoit]
Switch $iType
;1 Tiled
Case 1
RegWrite('HKEY_CURRENT_USER\Control Panel\Desktop', 'TileWallpaper', 'reg_sz', '1')
RegWrite('HKEY_CURRENT_USER\Control Panel\Desktop', 'WallpaperStyle', 'reg_sz', '0')
;2 Centered
Case 2
RegWrite('HKEY_CURRENT_USER\Control Panel\Desktop', 'TileWallpaper', 'reg_sz', '0')
RegWrite('HKEY_CURRENT_USER\Control Panel\Desktop', 'WallpaperStyle', 'reg_sz', '0')
;3 Stretched
Case 3
RegWrite('HKEY_CURRENT_USER\Control Panel\Desktop', 'TileWallpaper', 'reg_sz', '0')
RegWrite('HKEY_CURRENT_USER\Control Panel\Desktop', 'WallpaperStyle', 'reg_sz', '2')
EndSwitchRegWrite('HKEY_CURRENT_USER\Control Panel\Desktop', 'Wallpaper', 'reg_sz', $sFile)
[/autoit] [autoit][/autoit] [autoit]DllCall("User32.dll", "int", "SystemParametersInfo", "int", 20, "int", 0, "str", $sFile, "int", 0)
[/autoit] [autoit][/autoit] [autoit]Return 0
[/autoit] [autoit][/autoit] [autoit]
EndFunc ;==>_ChangeWallpaperFunc _GetJpegSize($file)
[/autoit] [autoit][/autoit] [autoit]
Local $size[2]
Local $fs, $pos = 3If Not _FileReadAtOffsetHEX($file, 1, 2) = "FFD8" Then
[/autoit] [autoit][/autoit] [autoit]
SetError(1); Not Jpeg
Return ""
EndIf$fs = FileGetSize($file)
[/autoit] [autoit][/autoit] [autoit]While $pos < $fs
[/autoit] [autoit][/autoit] [autoit]
$data = _FileReadAtOffsetHEX($file, $pos, 4)
If StringLeft($data, 2) = "FF" Then; Valid segment start
If StringInStr("C0 C2 CA C1 C3 C5 C6 C7 C9 CB CD CE CF", StringMid($data, 3, 2)) Then; Segment with size data
$seg = _FileReadAtOffsetHEX($file, $pos + 5, 4)
$size[1] = Dec(StringLeft($seg, 4))
$size[0] = Dec(StringRight($seg, 4))
Return ($size)
Else
$pos += Dec(StringRight($data, 4)) + 2
EndIf
Else
ExitLoop
EndIf
WEnd
SetError(2); Segment not found
Return ("")
EndFunc ;==>_GetJpegSizeFunc _FileReadAtOffsetHEX($file, $offset, $bytes)
[/autoit]
Local $tfile = FileOpen($file, 0)
Local $tstr = ""
FileRead($tfile, $offset - 1)
For $i = $offset To $offset + $bytes - 1
$tstr &= Hex(Asc(FileRead($tfile, 1)), 2)
Next
FileClose($tfile)
Return ($tstr)
EndFunc ;==>_FileReadAtOffsetHEXViel Spass damit,
x0r