Und bezüglich des G+ Buttons: Jetzt mal ernsthaft, hat schon mal irgendwer gesehen dass da etwas anderes als eine 0 dahinter steht? Ich jedenfalls nicht.
Gruss Shadowigor
Und bezüglich des G+ Buttons: Jetzt mal ernsthaft, hat schon mal irgendwer gesehen dass da etwas anderes als eine 0 dahinter steht? Ich jedenfalls nicht.
Gruss Shadowigor
Nein gibt es nicht. Du siehst ja aber in Scite weshalb das Script gecrashed ist.
Gruss Alain
Also wenn es nur darum geht Datei 1 in Datei 2 zu schreiben wenn diese leer ist, dann sind das ja 1-2 Zeilen Code. Geht es dir nur um das oder suchst du jemanden, der dir das ganze Ding mitsamt GUI und allem programmiert?
Gruss Shadowigor
Also mir ist der Sinn hinter dem Ganzen noch nicht ganz klar. Wenn du ein Array mit einem falschen Index ansprichst, hast du einen Fehler in deinem Programmcode und da bringt es nichts wenn du das Programm automatisch neustartest. Der Fehler wird sich nicht wegzaubern. Und aus welchem Grund sollte ein Array nicht erstellt werden? Habe ich noch nie gesehen und sollte eigentlich auch nicht passieren. Wenn es doch passiert, müsste es ein Fehler in AutoIt selber sein. Du könntest dir höchstens eine Debug-Nachricht anzeigen lassen, aber das macht AutoIt ja schon von alleine. Sollte es aber darum gehen, dass du überprüfen willst ob eine Funktion wirklich ein Array zurückgibt oder ob ein Fehler aufgetreten ist, dann benutze IsArray und @error. Es macht ja auch keinen Sinn gleich das ganze Programm neuzustarten weil eine Funktion einen Fehler zurückgibt. Führe entweder die Funktion noch mal aus oder beende das Programm gleich ganz, denn dann hast du ja sehr wahrscheinlich irgendwo einen Fehler.
Gruss Shadowigor
Du verteilst an deine Kunden einen Schlüssel. Dieser ist selbstverständlich verschlüsselt.
(Sorry aber das musste sein )
Und ja, ich habe damit natürlich schon gemeint, dass diese Verbindung verschlüsselt sein sollte. Auch ein verschlüsseltes "success" wäre relativ einfach zu Umgehen. Da gibts bestimt hunderte Wege, wie man das dann senden könnte. Darüber haben sich aber bestimmt schon viele andere den Kopf zerbrochen.
Nun die Idee an sich ist ja schon nicht schlecht aber wenn man das System kennt ist es doch relativ einfach zu Umgehen. Wenn es kein Problem darstellt, dass bei jedem Programmstart eine Internetverbindung benötigt wir, könntest du die Lizenz aber auch jedes mal an einen Server schicken, welche sie dann prüft. Auch wenn die Lizenz bei jedem Start vom Rechner selber erneut geprüft wird ist das schon etwas sicherer. Aber was hat das ganze eigentlich mit AutoIt zu tun wenn du es in C machen willst?
Gruss Shadowigor
Zitat von Marthog...aber ich bezweifel doch sehr, dass Firmen noch viel nach C-Programmierern suchen...
Das stimmt so nicht. In der Webentwicklung um die es hier vor allem geht, werden sicherlich nicht viele einen C-Programmierer suchen. Haben Sie aber auch noch nie. Sobald es aber z.B. um Embedded Systeme geht kommst du um C nicht mehr herum. Klar sind diese heutzutage sehr leistungsfähig und man kann auch ein Linux (und kommt mir jetzt hier nicht mit Embedded Windows :D) drauf laufen lassen, aber in der Industrie wird das wahrscheinlich (Ich habe zu wenig Erfahrung um mich hier festzulegen) zu Teuer. Ich arbeite selber momentan rein mit C und in Bereichen in denen Gescheindigkeit gesucht wird oder bei denen man auf Stromverbrauch/Kosten achten muss ist C meiner Meinung nach immer noch die erste Wahl. Und vor allem im bereich der Elektronik wird sich das meiner Meinung nach auch so schnell nicht ändern.
EDIT: Ach ja falls du mal in die Forschung willst, sollte man Mathlab nicht vergessen. Das ist dort ein sehr verbreitetes Tool wenn es beispielsweise um den Test von Algorithmen geht.
Gruss Shadowigor
Nun also ich muss sagen, dass mir das Logo, das GtaSpider noch ausgraben konnte bisher am besten gefällt. Sieht etwas moderner aus als das andere aber man kann es doch wiedererkennen. So würde sich auch nicht das ganze Erscheinungsbild ändern. Wenn da jetzt gleich ein komplett anderes Logo hinkommt, sieht die ganze Website gleich ganz anders aus. So wegen Wiedererkennungswert und so. Auch minx's Vorschlag sieht noch nicht schlecht aus, aber auch ich finde es sähe in Blau besser aus Ich fänds noch gut wenn du mal eine Variante in Blau machen könntest. Dann könnte man sich ein wenig besser Vorstellen wies dann wirkt.
Selber einen Beitrag leisten kann ich leider nicht. Wenn ich für etwas kein Talent habe, dann für sowas
Gruss Shadowigor
Da muss ich dir jetzt aber widersprechen. Mit 5V und 1A, sprich 5W, kann man einen Widerstand schon recht ordentlich rauchnen lassen. Häng mal einen 1/4W 5 Ohm Widerstand an deinen USB Port, dann weisst du was ich meine . Und auch das mit der Verlustleistung stimmt nicht ganz. Der Leistungsverlust über dem Widerstand ist zwar so geplant, aber alles andere als gewollt. Schliesslich ist die Leistung, welche über dem Widerstand abfällt, nicht nutzbar und somit Verlustleistung. Die einzige Wirkleistung ist hier die, welche der Ventilator aufnimmt.
Zum eigentlichen Problem, ja das mit dem Motherboardanschluss ist sicher die einfachste Methode. Falls es trotzdem über USB sein muss, würde ich dir empfehlen nicht eine kleine PWM Schaltung zu basteln, wie es auch Oscar schon vorgeschlagen hat. Der Vorteil ist, dass du das dann auch per Software steuern könntest.
Gruss Shadowigor
Nun das umzurechnen ist eigentlich gar nicht so schwierig:
[autoit]$sekunden = 5678 ; Beispiel
[/autoit][autoit][/autoit][autoit]$h = Int($sekunden / 3600)
$s = $sekunden - ($h * 3600)
$m = Int($s / 60)
$s = $s - ($m * 60)
MsgBox(0, $h & ":" & $m & ":" & $s)
[/autoit]Edit: Falls du willst, dass der String immer die gleiche länge hat, sprich z.B. 01:26:07 machst du das am einfachsten mit StringFormat.
Gruss Shadowigor
Super! Da bin ich ja froh wenn es klappt.
Ja, fast. Du musst auch noch in der For schleife den Wert erhöhen. Du kannst dort aber auch ein 'UBound($pid) - 1' reintun, dann ermittelt er die Grösse automatisch.
Hmm... Finde ich seltsam. Habs gerade testen wollen aber mein AutoIt spinnt gerade ein wenig und scheitert schon am FileOpen. Kannst du rausfinden wo genau er stecken bleibt? Mach mal In jeder Schleife z.B. ein ConsoleWrite, sprich vor dem Next, dem Until und dem WEnd. Da kannst du auch noch gleich etwas Debug-Erfahrung sammel
Upps, da hab ich wohl etwas zu viel C programmiert in letzter Zeit . Das While sollte eigentlich ein Until sein. Also so:
Local $pid[10] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Local $Liste, $Ziel, $i, $Fertig
; Öffne die Liste
$Liste = FileOpen("C:\daten\Autoit\Liste.txt", 0)
; Eine Variable, die sagt ob alles abgearbeitet ist
$Fertig = 0
While Not $Fertig
; Die nächste Zeile einlesen
$Ziel = FileReadLine($Liste)
; Wenn die Liste fertig ist, setzten wir die Variable.
If $Ziel = "" Then
$Fertig = 1
EndIf
Do
; Gehe die Liste der Arbeiterprozesse durch
For $i = 0 To 9
; Am anfang oder wenn der zuvor gestartete Prozess fertig ist mit arbeiten,
If $pid[$i] = 0 Or Not ProcessExists($pid[$i]) Then
; wird der nächste Eintrag der Liste gestartet
If $Ziel <> "" Then
; Starte einen neuen Prozess
$pid[$i] = Run("C:\Daten\AutoIt\Olaf.exe " & $Ziel)
; Damit wir wissen, dass dieses Ziel jetzt bearbeitet wird
$Ziel = ""
ExitLoop
EndIf
Else
; Sollte ein Prozess noch laufen, sind wir sicher noch nicht fertig
$Fertig = 0
EndIf
Next
; Damit wir den Prozessor nicht zu arg belasten
Sleep(10)
; Das ganze müssen wir so lange machen bis ein Prozess frei
; geworden ist und wir das nächste Ziel einlesen können
Until $Ziel = ""
WEnd
FileClose($Liste)
[/autoit]Also ich habe jetzt mal ein kleines Beispiel geschrieben. So würde ich es machen. Ich garantiere aber für nichts. Kann es leider nicht testen, da ich gerade kein Windows zur Hand habe.
Local $pid[10] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Local $Liste, $Ziel, $i, $Fertig
; Öffne die Liste
$Liste = FileOpen("C:\daten\Autoit\Liste.txt", 0)
; Eine Variable, die sagt ob alles abgearbeitet ist
$Fertig = 0
While Not $Fertig
; Die nächste Zeile einlesen
$Ziel = FileReadLine($Liste)
; Wenn die Liste fertig ist, setzten wir die Variable.
If $Ziel = "" Then
$Fertig = 1
EndIf
Do
; Gehe die Liste der Arbeiterprozesse durch
For $i = 0 To 9
; Am anfang oder wenn der zuvor gestartete Prozess fertig ist mit arbeiten,
If $pid[$i] = 0 Or Not ProcessExists($pid[$i]) Then
; wird der nächste Eintrag der Liste gestartet
If $Ziel <> "" Then
; Starte einen neuen Prozess
$pid[$i] = Run("C:\Daten\AutoIt\Olaf.exe " & $Ziel)
; Damit wir wissen, dass dieses Ziel jetzt bearbeitet wird
$Ziel = ""
ExitLoop
EndIf
Else
; Sollte ein Prozess noch laufen, sind wir sicher noch nicht fertig
$Fertig = 0
EndIf
Next
; Damit wir den Prozessor nicht zu arg belasten
Sleep(10)
; Das ganze müssen wir so lange machen bis ein Prozess frei
; geworden ist und wir das nächste Ziel einlesen können
While $Ziel <> ""
WEnd
FileClose($Liste)
[/autoit]
Ich hoffe die Kommentare sind einigermassen verständlich
Also so wie ich das sehe liegt dein Problem mit den _FTP..... Funktionen darin, dass diese nicht über mehrere Verbindungen gleichzeitig Daten übertragen können. Anstatt das über die FTP.exe zu lösen, könntest du auch folgendes probieren: Du hast ein "Koordinationsscript". Dieses startet dann 10 mal ein "Übertragungsscript". Diese Scripte können dann miteinander kommunizieren, sprich das Übertragungsscript bekommt vom Koordinationsscript das Ziel und die Daten die es übertragen soll und es kann auch melden sobald es fertig ist. Jedes Übertragungsscript kann dann mit den standard AutoIt UDF's parallel die Daten übertragen. Das ist jetzt so spontan die 'einfachste' Lösung und du kannst auch völlig bei AutoIt bleiben.
Gruss Shadowigor
Am einfachsten ist es wohl wenn du AdLibRegister benutzt um eine Funktion jede Sekunde auszuführen und diese Aktualisiert dann dein Label.
Gruss Shadowigor
Na ja es wäre vielleicht noch interessant zu erfahren was das denn überhaupt für ein Programm werden soll. Denn ich werde weder aus dem Titel, noch aus der Website wirklich schlau.
Gruss Shadowigor
Also einen Grund diese Dll's zusammenzufassen sehe ich beim besten Willen nicht und es ist wahrscheinlich auch nicht einfach so möglich. Ausserdem hast du diese ja sowieso auf jedem PC und die Dll's z.B. von XP nach 7 mitzunehmen wird sehr wahrscheinlich nicht funktionieren.
Dein Script kannst du natürlich genau so wie es ist auch auf einem Win7 PC ausführen, die Fenster werden aber den Win7 Style haben. Das lässt sich mit Standartmitteln aber auch nicht umgehen (so weit ich weis). Brauchst du ja aber eigentlich auch nicht.
Gruss Shadowigor
Hat er doch:
[autoit]If @error = -1 Then ExitLoop
[/autoit]Du musst zuerst mal herausfinden wo er stecken bleibt. Lass dir dazu z.B. einfach nach jedem Befehl eine Ausgabe auf der Konsole anzeigen.
Gruss Shadowigor
Ich befürchte fast, dass du zuerst noch erklären müsstest inwiefern das keinen Keylogger geben sollte...
Gruss Shadowigor