Beiträge von FireFlyer
-
-
vllt so?
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
Func sternzeichen($geburtsdatum)
$section = IniReadSectionNames($file)
for $i = 1 to Ubound($section)-1$data = IniReadSection($file, $section[$i])
[/autoit] [autoit][/autoit] [autoit]
for $x = 1 To Ubound($data)-1;hier die IF abfrage ob das datum in dem Zeitraum liegt mit $geburtsdatum
[/autoit] [autoit][/autoit] [autoit]
;Wenn ja:
return $section[$i]Next
[/autoit] [autoit][/autoit] [autoit]next
[/autoit]
EndFuncAber vllt solltest du auch deine ini etwas umstrukturieren bzw. vllt eine ganz andere methode z.b. datenbank (sqlite) oder so verwenden
-
ich habs auch mit versionsnummer gelöst
auf meinem FTP befindet sich eine ini mit der aktuellen version
Programm prüft am anfang einfach ob die eigene versionsnummer kleiner als die in der ini ist und voila lädt das update runter
als kleiner tipp:ich hab mir schon oft mein script versemmelt indem ich mit scite F5 drückte er die neue version runtergeladen hatte und somit mit der aktuellen datei ersetzt wurde d.h. meine .au3 sah im endeffekt wie eine .exe aus... und somit unbrauchbar deswegen hab ich noch einen schutz eingebaut: die jetztige datei muss eine exe sein und der prozess autoit3 darf nicht laufen
-
hi,
also ich würds vllt mal mit drivemapadd probieren, die flag natürlich auf 0 lassen und wenn die funktion den errorcode 2 zurückgibt weisst du ja was los ist...
-
liegen die alle in einem ordner?
Wenn ja schau dir mal die befehle filefindfirst filefindnext an, alles in ein array laden das array per schleife abarbeiten fertig

-
hmm kill mal den prozess explorer.exe

normalerweise startet er sich ja automatisch wieder ...edit... rechte maustaste aufn desktop --> symbole anordnen nach --> desktopsymbole anzeigen
häkchen entfernen 1-2 sec warten icons weg... wenn du jetzt noch rausfindest was für eine routine da dahintersteckt hast gewonnen
-
kannst du doch testen oder nicht?
Änder den Wert und drück wenn du auf dem Desktop bist F5, wenns klappt kann autoit das ja auch erledigen
... -
-
puhh, alternative für dich wäre einfach das das runterfahren von autoit erledigt wird...
wär natürlich nur sinnig wenn du das programm selbst benutzt also dass du anstatt den rechner runter zu fahren das script öffnest das backup gemacht wird und anschließend der rechner runterfährt...befehl wäre shutdown
//Edit: Mit deinem DriveMapAdd problem, sind alle user die dieses Programm benutzen sollen in der Domäne?
//Edit2: Hab grad noch was gelesen das man unter geplante Tasks auch eine Option hat womit man ein Programm bei runterfahren ausführen kann, ich kann das allerdings jetzt nicht kontrollieren
//Edit3: Noch ein bisschen Delphi code gefunden, leider kann ich Delphi nicht *heul*. Aber das wäre vllt auch noch eine Methode bedeutet allerdings das dein script in einer schleife nach dem shutdown befehl von windoof lauschen muss...
-
kleiner tip noch am rande,
benutze anstatt $split[0] (anzahl der werte des arrays) lieber Ubound($split)-1
[autoit]
Ist zwar eine gewöhnungssache aber es gibt mittlerweile genügend UDFs die im 0-Index nicht mehr die Menge enthalten
UBound hatte ich am anfang zwar auch net verstanden aber es ist im Prinzip recht simpel:Dim $array[9] ;ein array in das genau 9 werte reinpassen, 0 - 8
[/autoit]
$anzahl = Ubound($array) ;$anzahl ist nun 9 da man aber in einer schleife nicht soweit gehen darf zieht man einfach noch 1 abAlso so würde deine Funktion dann aussehen:
[autoit]while 1
[/autoit]
for $i = 1 to UBound($split) -1
ControlSend($windowname1,"","Edit1",$split[$i]
sleep(250)
next
wend -
klar geht das so nicht: Du frägst die mausposition ja auch nur 1mal ab
[autoit]
und an deiner stelle würd ich auch eher nen bereich abfragen... weil 1 px zu treffen is net so leicht
probiers mal so:
[/autoit]
$x = 1
$y = 2
while 1
If MouseGetPos(0) = $x AND MouseGetPos(1) = $y Then
Send("test")
ExitLoop
EndIf
WEnd -
[autoit]
$posx = 3
[/autoit][autoit][/autoit][autoit]
$posy = 4; ODER
[/autoit][autoit][/autoit][autoit]Dim $pos[2]
[/autoit]
$pos[0] = 3 ;für X
$pos[1] = 4 ;für Y -
also wenn dus per "oberfläche" machen willst:
ALT gedrückt halten und doppelklick... ich befürchte aber fast du willst es ohne machen
Hab dazu aber das gefunden
is zwar in C# geschrieben sollte aber eig. kein Problem sein das in AutoIt umzuschreiben:Spoiler anzeigen
Code
Alles anzeigen[StructLayout(LayoutKind.Sequential)] public struct SHELLEXECUTEINFO { public int cbSize; public uint fMask; public IntPtr hwnd; public String lpVerb; public String lpFile; public String lpParameters; public String lpDirectory; public int nShow; public int hInstApp; public int lpIDList; public String lpClass; public int hkeyClass; public uint dwHotKey; public int hIcon; public int hProcess; } .... private const int SW_SHOW = 5; private const uint SEE_MASK_INVOKEIDLIST = 12; [DllImport("shell32.dll")] static extern bool ShellExecuteEx(ref SHELLEXECUTEINFO lpExecInfo); public static void ShowProperties(string path) { FileInfo fi = new FileInfo(path); SHELLEXECUTEINFO info = new SHELLEXECUTEINFO(); info.cbSize = System.Runtime.InteropServices.Marshal.SizeOf(info); info.lpVerb = "properties"; info.lpFile = fi.Name; info.lpDirectory = fi.DirectoryName; info.nShow = SW_SHOW; info.fMask = SEE_MASK_INVOKEIDLIST; ShellExecuteEx(ref info); } // Beispielaufruf: // die Eingenschaften des Verzeichnisses "c:\temp" anzeigen ShowProperties(@"c:\temp"); // die Eingenschaften der Datei "c:\temp\test.bmp" anzeigen ShowProperties(@"c:\temp\test.bmp"); -
Ansonsten darfst du dich wohl mit ObjektOrientiertem Programmieren anfreunden... Das Programm sollte dies halt auch unterstützen... also ich weiss z.b. das es mit dem Windoof Mediaplayer funktioniert... gab hier auch schon ein paar beispiele, leider find ich sie im augenblick nicht

-
Nee das gibt es nicht... Ich? war schneller als Oscar? HAHA ... jetzt wird ersma gefeiert seit 1 1/2 Jahren das erste mal das ich schneller war

-
oder boar ich hoffe das stimmt jetzt ... ich begebe mich aufs glatteis
[autoit]
$file = FileOpen($datei, 16)
[/autoit]
$string = FileRead($file)
;hier fehlt der ganze TCP schrott
TCPSend($socket, $string)
;noch mehr TCP schrott
Und dann beim Empfänger das ganze halt auslesen und per filewrite wieder reinschreiben...
Dauert aber bestimmt länger als alles andere usw und keine ahnung eventuell ist das paket ja auch zu groß um es mit TCP zu senden... kenn mich leider (noch) nicht sehr gut mit sowas aus
Hab bis jetzt nur mal en Netzwerkchat gebaut... das wars auch schon 
Wie macht das ein FTP Transfer??? Arbeitet ja auch im Binary oder?
-
ein klitzekleiner denkfehler für deinen fall braucht man nämlich nur ein 2dimensionales array

$array[0][0] = Zeile 1 Spalte 1
$array[0][1] = Zeile 1 Spalte 2
$array[0][2] = Zeile 1 Spalte 3usw...
und dann halt einfach:
[autoit]for $x = 0 To Ubound($array, 1) -1
[/autoit]
for $y = 0 To Ubound($array, 2)-1
$string &= $array[$x][$y]&"; "
Next
$string &= @LF
Next
ConsoleWrite($string) -
blah ich weiss
hab mir keine mühe gegeben, verwende ich auch nirgendwo hab ich einfach so hingeschrieben...
Chicago Wenn du mehr über MYSQL-Injections erfahren willst:
http://www.online-tutorials.net/security/sql-i…l#gegenmanahmen -
was willst du mit der userverwaltung anfangen? Das ist ersma das wichtigste... User einloggen und registrieren lassen mit informationen ist pillepalle aber eventuell ist das was du mit den daten anfangen willst erst das komplizierte?
hier mal ein minibeispielscript für einen login:Spoiler anzeigen
PHP
Alles anzeigen<? mysql_connect($dbhost, $dbname, $dbpw); mysql_select_db($dbdata); if(isset($_REQUEST['formular'])) { $query = mysql_query("SELECT * FROM users WHERE username='".$_REQUEST['loginname']."' AND userpw = '".md5($_REQUEST['loginpw'])."'"); if(mysql_num_rows($query) > 0) { $result = "EINGELOGGT!"; } else { $result = "FEHLER BEIM LOGIN"; } } ?> <html><head><title>TEST</title></head> <body> <? echo $result ?> <form action="<? echo $_SERVER['PHP_SELF'] ?>" method="post"> <input type="text" name="loginname" value=""> <input type="password" name="loginpw" value=""> <input type="submit" name="formular" value="Einloggen"> </form> </body> </html> -
aber die *.reg datei kannst du ja auch von autoit schreiben lassen

FileOpen FileWrite und FileClose sollten dich weiterbringen
