aber ich weiß nicht wie ich es ins script bekomme...
Hast du dir mal mein Bsp. angeschaut? Das tut genau dieses.
aber ich weiß nicht wie ich es ins script bekomme...
Hast du dir mal mein Bsp. angeschaut? Das tut genau dieses.
Hier mal ein Lösungsvorschlag:
#Include <Date.au3>
Local $INI = @ScriptDir & '\backupRun.ini', $intervall
Local $Batch = 'Pfad der Batch'
If Not FileExists($INI) Then
Do
$intervall = InputBox('Backup-Intervall', 'Bitte Sicherungsintervall angeben (Tage)', 7)
Until $intervall <> ''
IniWrite($INI, 'backup', 'intervall', $intervall)
IniWrite($INI, 'backup', 'last', '2000/01/01')
EndIf
$intervall = IniRead($INI, 'backup', 'intervall', 7)
If _DateDiff('D', IniRead($INI, 'backup', 'last', '2000/01/01'), _NowCalcDate()) < $intervall Then
Exit MsgBox(0, 'Abbruch', 'Neue Sicherung noch nicht erforderlich.')
EndIf
If MsgBox(262180,"Start Batch","Soll die Batchdatei jetzt gestartet werden?") = 7 Then
Exit MsgBox(0, 'Abbruch', 'Verarbeitung abgebrochen!')
EndIf
IniWrite($INI, 'backup', 'last', _NowCalcDate())
ShellExecuteWait($Batch) ; <== evtl. WorkingDir mit angeben
MsgBox(0, 'Fertig', 'Batchverarbeitung abgeschlossen.')
Aus dem Kopf, aber sollte klappen:
[autoit]#cs - eine INI-Sektion
[section]
a=123
b=456
c=789
#ce
$INI = 'der Pfad der INI'
$aSection = IniReadSection($INI, 'section') ; <== liefert 2D-Array mit Schlüssel-Wert-Paaren
; so kannst du einen String mit allen Werten der Sektion für ein Edit erstellen:
$strForEdit = ''
For $i = 1 To UBound($aSection) -1
$strForEdit &= $aSection[$i][0] & '=' & $aSection[$i][1] & @CRLF
Next
; und jetzt ins Edit schreiben
GUICtrlSetData($Edit, $strForEdit)
oder sogar schon nach der auswahl bei der combobox
Ist gar nicht so schwer:
- INI Section Names in Combo laden
- ersten Wert als default setzen (ist somit in der Combo sichtbar)
- mit GUICtrlRead(Combo) wird der aktuelle Sektionsname gelesen
- mit diesem Namen wendest du die Funktion INIReadSection
- die gelesenen Schlüssel-Wert-Paare dieser Sektion gibst du in einem Edit aus
Aber da wir grad dabei sind - hier etwas, was die meisten Taschenrechner nicht können: FloatToBin.
[autoit]Func _FloatToBin($Value, $decimal_places=6)
Local $bin = '', $ret, $count = -1, $n = 50
Do
$n -= 1
$divisor = 2^$n
Until $divisor <= $Value
Do
$ret = Floor($Value/$divisor)
$bin &= $ret
If $ret = 1 Then $Value -= $divisor
$divisor /= 2
If Int($divisor) = 0 Then $count += 1
If $count = 0 Then $bin &= ','
Until $count = $decimal_places
Return $bin
EndFunc
Naja, etwas aufwendig und nur begrenzter Zahlenbereich. ![]()
Mit der Modulo-Methode in einer Schleife reduziert sich das auf ein paar Codezeilen:
Func _IntToBin($Value)
$bin = ''
Do
$bin = Mod($Value, 2) & $bin
$Value = Floor($Value/2)
Until $Value = 0
Return $bin
EndFunc
Du kannst auch gleich zu einem fertigen (und kostenlosen) Konvertierprogramm greifen, das eigentlich keine Wünsche offenläßt: SUPER.
Wäre es nicht sinnfoll einen Lösungsansatz zu liefern ode villeicht die AU3 zu fixen?
Mit deiner Aussagt ist das Thema beendet ohne gelöst zu sein.
Manchmal ist der Verweis darauf, dass man ein Problem nicht weiter verfolgen sollte, genauso wertvoll, wie Lösungswege. Und das trifft bei der Thematik halt zu: Finger weg!
ich selbst merke immer wieder das hier im Forum oft so verfahren wird, das finde ich schade denn das ist ja ein Hilfe und kein Philosophie Forum.
Mit dieser Aussage trittst du vielen von uns freiwilligen Helfern gewaltig auf die Füße.
Wir bemühen uns und suchen selbst aus teilweise recht hilflos gestammelten Problembeschreibungen noch Aussagen heraus, um dem Fragenden Hilfe zu leisten. Das außerdem in einer beachtlich kurzen Reaktionszeit!
Hi,
ist mir vorher nie aufgefallen, da ich NM_RETURN nie in der WM_NOTIFY ausgewertet habe. Aber tatsächlich, das Event wird nicht erkannt. Obwohl z.B. zur Funktion "_GUICtrlListView_SubItemHitTest" in der Hilfe ein Bsp. aufgeführt ist, wo dies eigentlich stattfinden soll. ![]()
Beim Betätigen von Enter im Listview bleibt $iCode leer, absolut kein Wert. Schon seltsam...
Naja, zum Glück kommt man auch über Tibet von Hamburg nach München. ![]()
Im entsprechenden Editor einfach als UTF abspeichern... ?
Oder brauchst du eine automatisierte Lösung?
Ich versteh noch nicht so ganz, was genau du willst. Wie ich schon sagte, ein Browser kann doch alles, was du wünscht. ![]()
Man kann mit Hooks viel machen - aber auch viel Mist bauen. ![]()
Mit Hooks sollte man meiner Meinung dann arbeiten, wenn man wirklich versteht, was man dort tut. Und damit meine ich wirklich ALLES.
Die von mir gezeigten Bsp. sind einfach umzusetzen und weiter möchte ich da eigentlich auch nicht drauf eingehen.
Denn es ist unstrittig, dass man das auch mißbrauchen kann.
Was ist bei Stau und Unterricht gleich?
Ein Volltrottel ist vorn und hält alle anderen von nützlichen Dingen ab. ![]()
Ich hab dir mal eine kleine Grafik gemacht, dann wird es hoffentlich klar. ![]()
Ok, also ehrlich gesagt, versteh ich den code net... wieso kommt keine zahl doppelt vor?
Das Prinzip ist Folgendes:
Es wird ein Array erstellt und gefüllt mit allen Zahlen aus dem Bereich, den du für die Zufallszahlen möchtest.
Per Random wird jetzt aber nicht die Zahl selbst, sondern ein Indexwert für das Array ermittelt.
Bsp. erster Random-Wert (aus 0 bis 39) ist 9 -- an Index 9 steht im Array die 10
Nun wird der letzte Wert aus dem Array an die Indexposition 9 geschrieben (also steht dort jetzt 40).
Im nächsten Durchlauf wird nur noch ein Random aus 0 bis 38 gezogen, da Indexwert 39 ja umgezogen ist auf 'Platz' 9 und somit die 39 'leer' ist.
Und so wird in jeder Runde weiter verfahren. Dadurch kannst du auch alle Zahlen aus dem Array 'ziehen'. Der letzte Durchlauf wäre dann: Random aus 0 bis 0 ==> also Index 0.
Edit:
Ich habs dir mal in eine Funktion gepackt, dann kannst du es universell einsetzen:
#include <array.au3>
[/autoit] [autoit][/autoit] [autoit]; 5 Zahlen aus 1-40 als Array
$ret = _RandomExt(40, 1, 5, 1)
_ArrayDisplay($ret)
; alle aus 1-40 als Array
$ret = _RandomExt(40, 1, -1, 1)
_ArrayDisplay($ret)
; 5 Zahlen aus 1-40 als String
ConsoleWrite(_RandomExt(40, 1, 5) & @CRLF)
; alle Zahlen aus 1-40 als String
ConsoleWrite(_RandomExt(40) & @CRLF)
Func _RandomExt($iBis, $iVon=1, $iAnzahl=-1, $array=0)
Local $count = $iBis -$iVon +1
If $iAnzahl = -1 Then $iAnzahl = $count
Local $aValue[$count], $start = $iVon, $sOut = '', $random
For $i = 0 To $count -1
$aValue[$i] = $start
$start += 1
Next
For $i = 0 To $iAnzahl -1
$random = Random(0, $count -1 -$i, 1)
$sOut &= $aValue[$random] & ','
$aValue[$random] = $aValue[$count -1 -$i]
Next
$sOut = StringTrimRight($sOut, 1)
If $array Then Return StringSplit($sOut, ',', 2)
Return $sOut
EndFunc
Alles was du aufzählst gehört zum Standardmenü eines Webbrowsers. Verstehe nicht was du da noch machen willst.
Oops, sorry mein Fehler.
Vergessen das Splitarray anzugeben:
ConsoleWrite('IP: ' & $i & ' Segment: ' & $split[$j] & @CRLF)
[/autoit]
IP wird jetzt nur durchnummeriert, dazu dann alle 4 Segmente.
Und jedes mal umdenken wenn man in der PM was versenden will immer extra erst in winrar rein gehen und auf zip umstellen
Da könnte ich jetzt genausogut sagen: Es geht doch superschnell, dein Kontextmenü auf ZIP zu erweitern.. ![]()
geht es nicht.
Existiert denn die Datei überhaupt? Ist der Pfad korrekt angegeben? Prüf doch mal mit:
If FileExists(Pfad) Then
MsgBox(0,'','OK')
Else
Exit MsgBox(0,'','Pfad falsch')
Endif
Wieso wendest Du dann schon ein StringSplit an, den Schritt find ich komisch wenn doch eh die ganze Zeile eingelesen wird?
Ich würde nicht splitten, das habe ich nur eingebaut, weil du die Oktetts einzeln haben willst. Also wird dort die komplette IP eingelesen und dann gesplittet.
Es ist schon sinnvoll, wie es ist. In den PN sollen die User durchaus die Möglichkeit haben erweitert zu kommunizieren. Insofern betrachte ich die Vielfalt als völlig OK.
Und das rar dort fehlt sehe ich nicht so dramatisch. Wie du selbst bemerkt hast gibt es ein Limit und in den Bereichen ist es kein großer Unterschied, ob du zip - oder rar komprimierst.