Ich werd das mal ausprobieren, aber nicht mehr heute...
melde mich dann wenn Ichs wieder mal nicht hinbekomme ![]()
Für weitere Tipps stehe ich weiterhin zur verfügung ![]()
evtl. kann man ja anders was beim 1. start starten lassen
MFG: Blacky
Ich werd das mal ausprobieren, aber nicht mehr heute...
melde mich dann wenn Ichs wieder mal nicht hinbekomme ![]()
Für weitere Tipps stehe ich weiterhin zur verfügung ![]()
evtl. kann man ja anders was beim 1. start starten lassen
MFG: Blacky
Also wenn ich auf den Ordner der DVD gehe wo auch die Setup.exe für windows drin liegt habe ich dort den Ordner Addpns erstellt darin liegt direkt die GUI.exe
Diese eine Zeile stand schon vorher da drin und ist anscheinend für Windows um da i was einzustellen...
könnte diese ausshclaggebend sein dafür, dass mein script nicht startet?
Weil wie du auch schon sagtest.. du siehst ja auch nichts ausschlaggebendes....
please help
MFG: Blacky
Also die Ordnerstruktur ist wie folgt:
Addons/GUI.exe
mehr soll er eigentlich nicht machen ...
meine setupcomplete.cmd sieht so aus:
@echo off
%systemroot%\setup\scripts\bie7_inst.exe
for %%x in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%x:\sources\install.wim set SOURCE=%%x:
REM ------------ Hier zu startende Programme eintragen-------------------
start %SOURCE%\Addons\GUI.exe
REM ---------------------------------------------------------------------
del /F %0
Hoffe du kannst mir helfen...
MFG: Blacky
Alles schön und gut... habe beide varienten ausprobiert...
bei der 1. kam ein Error das der die exe nicht gefunden hat obwohl ich alles "richtig" gemacht hatte...
bei der 2. kommt einfach garnix...
ich bin ratlos... was könnte ich falsch gemacht haben?
MFG: Blacky
Hi ...
Ich habe folgende Frage,
Ich habe mir grade mit vLite mir eine Installations CD für nen PC erstellt die soweit auf mienen Virutellen Maschinen auch super läuft...
Nun möchte ich aber nachdem Windows erfolgreich installiert wurde, dass er ein Script von mir startet (das script beinhaltet mehrere autoinstaller etc.)
wie kann ich dies nun in die Windows installation mit reinbringen?
bei vLite habe ich jetzt nichts diesbezüglich gefunden.
Würde mich über eine Hilfe freuen
MFG: Blacky
gab vor langer zeit mal ein RS prog was mit autoit geschrieben wurde was so aussah:
[Blockierte Grafik: http://img337.imageshack.us/img337/4758/1011gl7.jpg]
Sowas ähnliches hab ich mir auch gedacht...
und ich frag mich immernoch wie er es hinbekommen hat das er die Blase da unten angezeigt bekommen hat.... hat er andaurnd refreshed? und sobalt veränderung da war dann aufgeschrieben?
MFG: Blacky911
Nein im Tray soll nur der Punkt dafür sein das man sich die anzeigen lassen kann...
Ich wollte so ein Diagramm erstellen lassen wie in Excelll (liniendiagramm ähnlich)
Wollte dann noch einstellbar haben sozusagen, Statistik Heute | Woche | Monat
aber bis jetzt wüsst ich noch nichtma wie ich dann die daten vorliegen haben müsst bzw. verändern müsste damit ich überhaupt nen ansatz habe
MFG: Blacky
so habs jetzt super hinbekommen läuft 1 A soweit ![]()
jetzt wollt ich noch was dazubauen ![]()
Wolte ne statistik machen können... frage ist geht das überhaupt so wie ich das script aufgebaut hab? wenn ich z.B. im systray nen punkt mache "statistik" und wenn der dann auf die funktion geht trotzdem den sleep weiter ausführt? (oder einfach ne 2. exe machen?)
2. Frage wie könnte ich am besten eine statistik erstellen?
MFG: Blacky
Also soeit geht es ja schonmal er schreibt immerhin die addierten werte am anfang in die TXT Files nur dann wenn er das 2. mal durchgehen will hat er anscheinend einen Fehler denn da kam folgendes:
[autoit]>"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Users\Adminstrator\Desktop\Scripts\rapidshare3.au3"
FreePoints: 0
PremiumPoints: 0
FreePoints: 332063
PremiumPoints: 332063
FreePoints: 429762
1: 429762
PremiumPoints: 429762
1: 429762
C:\Users\Adminstrator\Desktop\Scripts\rapidshare3.au3 (51) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
$quelltext = _INetGetSource("http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=getaccountdetails_v1&login=" & $login[$s] & "&password=" & $pass[$s] & "&type=" & $account[$s])
$quelltext = _INetGetSource("http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=getaccountdetails_v1&login=" & ^ ERROR
>Exit code: 1 Time: 3600.775
Wird da wer draus schlau?
Edit:
Fehler gefunden und weitere Fehler auch noch behoben ![]()
MFG: Blacky
So ich hab da jetzt mal was rumgefummelt...
das kam raus:
#region Includes
#include <Array.au3>
#include <File.au3>
#include <Inet.au3>
#include <String.au3>
#endregion Includes
#region globale variabeln
Global $i = 0
Global $s = 0
Global $a = 0
Global $sum1 = 0
Global $sum2 = 0
Global $12std = 0
Global $12hwert = 0
Global $Wert_alt = 0
Global $anzahl = IniRead ("data.ini", "accounts", "account", "fail")
;Daten aus ini auslesen und in die variabeln einsetzen
Dim $login[$anzahl]
Dim $pass[$anzahl]
Dim $account[$anzahl]
Global $pauseini = Iniread ("data.ini","pause","pause","30")
#endregion globale variabeln
While 1
If $a=$anzahl Then
ExitLoop
EndIf
$login[$a]=Iniread ("data.ini","login","account"&$a,"fail")
$pass[$a]=Iniread ("data.ini","pass","account"&$a,"fail")
$account[$a]=Iniread ("data.ini","art","account"&$a,"fail")
$a=$a+1
Wend
$a=0
While True
;txt dateien öffenen, wenn nicht geöffnet werden können Fehlerbox + exit
$punkte = FileOpen("punktefree.txt", 1)
$punkte2 = FileOpen("punkteprem.txt", 1)
If $punkte = -1 Then
MsgBox(0, "Fehler", "Die Datei konnte nicht geöffnet werden.")
Exit
EndIf
If $punkte2 = -1 Then
MsgBox(0, "Fehler", "Die Datei konnte nicht geöffnet werden.")
Exit
Endif
While 1
;Daten aus der API holen -> Link mit variabeln aus der INI
$quelltext = _INetGetSource("http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=getaccountdetails_v1&login="&$login[$s]&"&password="&$pass[$s]&"&type="&$account[$s])
$s=$s+1
$a=$a+1
;array wird erstellt für die fpoints und ppoints
$array = _StringBetween($quelltext, "fpoints=", "ppoints")
$array2 = _StringBetween($quelltext, "ppoints=", "curfiles")
; Free Points Berechnung:
$Wert = Int($array[0])
ConsoleWrite("FreePoints: " & $Wert & @CRLF)
If IsArray($array) Then
If $i > 0 Then
IF $a=$anzahl Then
ConsoleWrite("1: " & $Wert - $Wert_alt & @CRLF)
FileWrite($punkte, $sum1 - $Wert_alt & " Time: " & @HOUR &":"& @MIN & @CRLF)
Endif
EndIf
$sum1 = $Wert+$sum1
If $a=$anzahl Then
$Wert_alt = $sum1
Endif
; Premium Points Berechnung:
$Wert2 = Int($array2[0])
ConsoleWrite("PremiumPoints:"& @TAB & $Wert2 & @CRLF)
If IsArray($array2) Then
IF $a=$anzahl Then
ConsoleWrite("1: " & $sum2 - $Wert_alt2 & @CRLF)
FileWrite($punkte2, $sum2 - $Wert_alt2 & @TAB & "Time:"& @TAB & @HOUR &":"& @MIN & @CRLF)
EndIf
EndIf
$sum2 = $Wert+$sum2
If $a=$anzahl Then
$Wert_alt2 = $sum2
Endif
If $a=$anzahl Then
ExitLoop
EndIf
WEnd
;geöffnete txt´s wieder schließen das man die Punkteaufschreibung auch einsehen kann
FileClose($punkte)
FileClose($punkte2)
$pause1=$pauseini*60*1000
#region Wartezeit
$begin = TimerInit()
Sleep($pause1)
$dif = TimerDiff($begin)
#endregion Wartezeit
$i=$i+1
WEnd
Was nun aber leider ist, ist das er mir folgenden Fehler ausgibt:
ZitatC:\Users\Adminstrator\Desktop\Scripts\rapidshare3.au3 (89) : ==> "Wend" statement with no matching "While" statement.:
WEnd>Exit code: 1 Time: 0.315
Wo liegt der Fehler? ich sehs einfach nicht...
MFG: Blacky
ja soweit mit der ini bin ich auch... nur wie gesagt mit dem auslesen... man müsste die INI schon mit nem array auslesen wo das array durch eine Variabel variiert wird... also sozusagen
[autoit]$accountanzahl=5
$array[$accountanzahl]
und dann das auslesen i wie in ne schleife schreiben nur wieeee... ich komm auf array nicht wirklich klar
dann hätte man schonmal in arrays die login daten... diese müsste man dann auch in der abfrage angeben nur ich habe keine ahnung, blicke dann selber grade nicht durch wo ich wie anfangen muss und was ändern muss...
EDIT:
Die accountanzahl dann natürlich auch aus der ini auslesen...
MFG Blacky
Dort gibts aber auch nicht die möglichkeit mehrere Accounts einzutragen und das die punkte dann in ne TXT zusammengefasst geschrieben werden oder?
das ist ja das was ich will... und den ganzen schnick schnack mit infos etc. brauch ich nicht da es auf meinem ROOT server im hintergrund laufen soll und "nicht bemerkt" werden soll ![]()
MFG: Blacky
beispielini:
[autoit][login]
account=8834832
[pass]
account=passwort
[art]
account=prem
[pause]
pause=60
name: data.ini
MFG: Blacky911
Also die Funktion greift schonmal ![]()
Nur wie bekomme ich das hin das der jetzt X accounts nimmt und die daten von allen ausliest, addiert und dann aufschreibt?
und dann muss er die Funktion ja wiederholen jeder X Minuten (je nach eingestellte zeit in der .ini
MFG: Blacky911
Hey @ all ![]()
Habe mir mal ein Rapidshare Punktescript gebastelt das sieht im moment wie folgt aus:
#cs
|------------------------------------------------|
| Date: 01.12.2009
| Time: 17:25
| Name: Rapidshare Punktezähler Script
| Scriptet by: Blackdeath911
|
|------------------------------------------------|
#ce
;Script start
#region Includes
#include <Array.au3>
#include <File.au3>
#include <Inet.au3>
#include <String.au3>
#endregion Includes
#region globale variabeln
Global $i = 0
Global $12std = 0
Global $12hwert = 0
Global $Wert_alt
;Daten aus ini auslesen und in die variabeln einsetzen
Global $login = Iniread ("data.ini","login","account","fail")
Global $pass = Iniread ("data.ini","pass","account","fail")
Global $account = Iniread ("data.ini","art","account","fail")
Global $pauseini = Iniread ("data.ini","pause","pause","30")
#endregion globale variabeln
;Falls ini nicht vorhanden bzw. falsche daten drin
;(als falsche daten werden erkannt: keine angaben, falsche angaben vor dem "=" in der ini)
#region fehlerboxen
If $login="fail" Then
MsgBox (1,"FAIL","Accountdaten sind nicht korrekt oder konnten nicht ausgelesen werden Script wird Beendet"& @CRLF &"Bitte die daten.ini checken")
exit
EndIf
If $pass="fail" Then
MsgBox (1,"FAIL","Accountdaten sind nicht korrekt oder konnten nicht ausgelesen werden Script wird Beendet"& @CRLF &"Bitte die daten.ini checken")
exit
EndIf
If $account="fail" Then
MsgBox (1,"FAIL","Accountdaten sind nicht korrekt oder konnten nicht ausgelesen werden Script wird Beendet"& @CRLF &"Bitte die daten.ini checken")
exit
EndIf
#endregion fehlerboxen
;Hier die messagebox zum checken der eingetragenen daten... wenn (IF) msgbox ausgabe = 2 (abbrechen feld) dann beendet das script (exit)
If Msgbox (1,"test","accountnummer=" & $login & @CRLF &"passwort=" & $pass & @CRLF &"Accounttyp=" & $account & @CRLF & "Aktualisierungszeit=" & $pauseini & @CRLF & @CRLF & "Daten Richtig? dann OK Drücken")=2 Then
exit
Endif
;Schleife für die Punkte
While True
;txt dateien öffenen, wenn nicht geöffnet werden können Fehlerbox + exit
$punkte = FileOpen("punktefree.txt", 1)
$punkte2 = FileOpen("punkteprem.txt", 1)
If $punkte = -1 Then
MsgBox(0, "Fehler", "Die Datei konnte nicht geöffnet werden.")
Exit
EndIf
If $punkte2 = -1 Then
MsgBox(0, "Fehler", "Die Datei konnte nicht geöffnet werden.")
Exit
Endif
;Daten aus der API holen -> Link mit variabeln aus der INI
$quelltext = _INetGetSource("http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=getaccountdetails_v1&login="&$login&"&password="&$pass&"&type="&$account)
;array wird erstellt für die fpoints und ppoints
$array = _StringBetween($quelltext, "fpoints=", "ppoints")
$array2 = _StringBetween($quelltext, "ppoints=", "curfiles")
;um die arrays bei jedem durchlauf anzeigen zu lassen einfach das ; davor wegmachen...
;_ArrayDisplay($array)
;_ArrayDisplay($array2)
; Free Points Berechnung:
$Wert = Int($array[0])
ConsoleWrite("FreePoints: " & $Wert & @CRLF)
If IsArray($array) Then
If $i > 0 Then
ConsoleWrite("1: " & $Wert - $Wert_alt & @CRLF)
FileWrite($punkte, $Wert - $Wert_alt & " Time: " & @HOUR &":"& @MIN & @CRLF)
Else
ConsoleWrite("2: " & $Wert & @CRLF)
FileWrite($punkte, $Wert & " TimeStart: " & @HOUR &":"& @MIN & @CRLF)
EndIf
EndIf
$Wert_alt = $Wert
#cs
Erklärung der rechnung:
Es wird der $wert genommen der aus dem Array geholt wird genommen
Dieser wird dann wenn $i größer als 1 ist - den alten wert genommen.
Beim ersten durchlauf ist $wert_alt noch nicht da also wird nur der startwert aufgeschrieben
Weiter unten dann, wird $i höher gesetzt das beim nächsten durchlauf $wert - $wert_alt gerechnet wird
@Hour = stunden @MIN = Minuten @CRLF = zeilenumbruch
Consolwrite interessiert hier nicht hab ich eig nur zum testen hingeschrieben das es hier angezeigt wird ![]()
Gleiches dann Hier unten bei der Premium Punkte Berechnung
nur dort hab ich hinter die Variabeln meißt nur eine "2" geklatscht ![]()
#ce
; Premium Points Berechnung:
$Wert2 = Int($array2[0])
ConsoleWrite("PremiumPoints:"& @TAB & $Wert2 & @CRLF)
If IsArray($array2) Then
If $i > 0 Then
ConsoleWrite("1: " & $Wert2 - $Wert_alt2 & @CRLF)
FileWrite($punkte2, $Wert2 - $Wert_alt2 & @TAB & "Time:"& @TAB & @HOUR &":"& @MIN & @CRLF)
$aktuellerw=$Wert2-$Wert_alt2
$12hwert=$12hwert+$aktuellerw
Else
ConsoleWrite("2: " & $Wert2 & @CRLF)
FileWrite($punkte2, $Wert2 & @TAB & "TimeStart:"& @TAB & @HOUR &":"& @MIN & @CRLF)
EndIf
EndIf
$Wert_alt2 = $Wert2
;geöffnete txt´s wieder schließen das man die Punkteaufschreibung auch einsehen kann
FileClose($punkte)
FileClose($punkte2)
$pause1=$pauseini*60*1000
#region Wartezeit
$begin = TimerInit()
Sleep($pause1)
$dif = TimerDiff($begin)
#endregion Wartezeit
$i += 1
#cs
Bei den 12 Stunden Punkten lasse ich jede halbe stunde die Variabel $12std + 1 Zählen
Wenn diese dann bei 24 Angekommen ist (24 halbe stunden = 12 Stunden)
dann wird die IF erfült und abgearbeitet
Den 12hwert lege ich in der Premium Punkte berechnung fest must du dort nochmal nachschaun wie die zustande kommt
#ce
;12 Stunden Punkte Berechnung
$12std=$12std+1
IF $12std = 24 Then
$punkte12h = FileOpen("punkte12h.txt", 1)
FileWrite($punkte12h, $12hwert & @TAB &"Time:"& @TAB & @HOUR &":"& @MIN & @CRLF)
FileClose($punkte12h)
;Variabeln wieder = 0 Setzen
$12hwerk = 0
$12std = 0
EndIf
WEnd
Es funktioniert einwandfrei !
Es schreibt die Punkte in der angegebenen Zeit schön wie es soll in eine TXT Datei
Nun zu dem was ich eigendlich möchte...
Ich möchte das script jetzt mit mehreren (X) accounts zum laufen bekommen, das er sich aus allen accounts die Punkte holt diese zusammenadiert und dann in die TXT schreibt...
Wie realisier ich das ganze?
denn da steh ich im moment aufn schlauch
MFG: Blacky911
Problem durch logic gelöst
MFG: Blacky911
Der INI eintrag wird ja durch Clipput gemacht...
also ich kann das da nicht hinterschreiben oder wüsst nicht wie...
gibt es sonst keine möglichkeit es so zu amchen das er alle nimmt?
MFG: Blacky911
So habe ein kleines Problem...
ich lasse etwas in eine INI schreiben was MEHRZEILIG ist...
und jetzt wenn ich INIREAD mache, dann nimmt er nur die erste Zeile...
kann man da i was machen? das er den kompletten text nimmt?
MFG: Blacky911
Also muss ich die Variabeln in in eine INI schrieben lassen sobalt sie ausgelesen worden sind und dann muss ich beim anfang der anderen scripts diese Variabeln wieder einlesen?
hm okay... ich versuchs heute nacht mal...
Ich zeige es Ungern
Ich beschreibe mal die Funktionsweise:
Es geht in einen FTP account dort durch tastendrücke in viele andere Ordner und nimmt am ende den Ordnernamen als Variabel fest $variable = Clipget ()
Danach öffnet er noch den ordner und nimmt dort die 1. Datei auch wieder als variabel fest ($variabel2 = Clipget () (natürlich vorher uach clipput gemacht...))
so diese 2 sind eigentlich auch am wichtigsten...
Das sind ordnernamen und dateinamen die ich in 3 anderen stellen des Scripts wieder brauche... (beim automatischen einteragen in eine Eingabe und in einer Console zum checken)
Es geht sich ja nur darum diese Variabeln dann auch (wenn ich das script gespülittet hab) auhc in den anderen schritten verfügbar zu machen..
(bei taste 1 z.B. holt er sich alle daten -> Script beendet -> bei Taste 2 brauch er die Daten aus Script 1 die ausgelesen worden sind wieder aber da es in einem anderen script war kann er sie ja nicht mehr haben?!) das ist mein Problem...
MFG: Blacky911