Beiträge von General Kaboom
-
-
Moin
Also folgendes Problem...wenn ich in meinem Progi die Datei "new.csv" lesen will, gibt die MsgBox die ich hinten ran gemacht habe den Fehler 1 aus.
dieser lautet: Sets @error to 1 if file not opened in read mode or other error.Was mache ich falsch? Mir geht es im moment auch nur um diesen Teil und ja ich weiss das es irgendwie auch einfacher gehen würde .
Das Problem ist in Zeile 63 aufgetreten
Spoiler anzeigen
[autoit]#include <array.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <file.au3>$pwdline = 2
[/autoit] [autoit][/autoit] [autoit]
$sourceline = 1
$ausgabepath = "KWI_AD_LEHRER.CSV"
$sourcepath = "KWI_AD_LEHRER(source).CSV"
$newsourcepath = "new.csv"
$pwdlistpath = "Neuer Ordner/ADConnector_PASSWORDS_23062011_142408l.csv"
If FileExists($newsourcepath) Then
FileDelete($newsourcepath)
EndIf
;~ $pwdlist = FileOpen("Neuer Ordner/ADConnector_PASSWORDS_23062011_142408l.csv", 0);~ $newsource = FileOpen("new.csv", 0)
[/autoit] [autoit][/autoit] [autoit]Unix2Dos($sourcepath, $newsourcepath)
[/autoit] [autoit][/autoit] [autoit]While True
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$newsource = FileOpen("new.csv", 0)
$SourceString = FileReadLine($newsource, $sourceline)
If @error Then ;Bei Fehler
If @error = -1 Then ;Wenn die zu lesende Zeile nicht mehr existiert
ExitLoop ;Aus Schlaufe springen
Else
Exit
EndIf
EndIf
FileClose($newsource)
$SourceArray = StringSplit($SourceString, ";") ;String in Array schreiben
$listline = 1
$linien = _FileCountLines($newsourcepath)
While Not $listline = $linien ;Schlaufe bis das ganze File durchsucht wurde
$pwdlist = FileOpen("Neuer Ordner/ADConnector_PASSWORDS_23062011_142408l.csv", 0)
$ListString = FileReadLine($pwdlist, $listline) ;Zeile einlesen
If @error Then ;Bei Fehler
If @error = -1 Then ;Wenn die zu lesende Zeile nicht mehr existiert
ExitLoop ;Aus Schlaufe springen
Else
Exit
EndIf
EndIf
FileClose($pwdlist)
$ListArray = StringSplit($ListString, ";") ;String in Array schreiben
$suche = $ListArray[2] ;Wert nach dem gefiltert werden sollte
$finde = $SourceArray[3] ;Wenn der Wert existiert, steht er in der 3. Spalte
$left = 4
If $listline = 1 And $left > 0 Then ;Entfernt die Nullen die bei der einen Datei bei der PersNr ausgelesen wurden
$string = StringLeft($finde, 1) = "0" ;Liest das erste Zeichen aus und prüft ob es eine 0 ist
While $string = "True" ;Solange der Vergleich positiv ist
$finde = StringReplace($finde, "0", "", 1) ;entfernt eine 0
$string = StringLeft($finde, 1) = "0" ;führt den Vergleich erneut aus
WEnd
EndIf
If $suche = $finde Then ;Wenn die beiden Werte nun gleich sind
$listline = $listline + 1
ExitLoop ;Aus While-Schlaufe springen
EndIf
$listline = $listline + 1
WEnd
$linie = $listline - 1
$newsource = FileOpen("new.csv", 0)
$writestring = FileReadLine($newsource, $linie) ;Ab hier gehts nicht mehr weiter <== File not opened in read mode OR OTHER ERROR????? <==
If @error Then ;Bei Fehler
MsgBox(0, "", @error, 1) ;Zeigt den Fehlercode an
If @error = -1 Then ;Wenn die zu lesende Zeile nicht mehr existiert
ExitLoop ;Aus Schlaufe springen
Else
Exit
EndIf
EndIf
FileClose($newsource)
$writearray = StringSplit($writestring, ";")
If $linie - 1 = $linien Then
_ArrayAdd($writearray, "Passwort nicht gefunden!") ;Neuen Arraywert in die letzte Spalte des Arrays setzen
Else
$pwdlist = FileOpen("Neuer Ordner/ADConnector_PASSWORDS_23062011_142408l.csv", 0)
$pwstring = FileReadLine($pwdlist, $linie)
FileClose($pwdlist)
$pwarray = StringSplit($ListString, ";")
$passwort = $pwarray[8]
_ArrayAdd($writearray, $passwort)
EndIf
_ArrayDelete($writearray, 0) ;Entfernt die Arrayinformationen die in Spalte 0 stehen
$write = _ArrayToString($writearray, ";") ;Konvertiert das Array zurück in einen mit ; getrennten String
$ausgabe = FileOpen("KWI_AD_LEHRER.CSV", 2)
FileWriteLine($ausgabe, $write) ;Schreibt diesen String in die Ausgabedatei (diese sollte nun alle Informationen aus dem Sourcefile wie namen etc. enthalten und zusätzlich sollte noch das jeweilige Passwort in der letzten Spalte stehen
FileClose($ausgabe)
WEndFunc Unix2Dos(ByRef $in, ByRef $outpath) ;Neue Funktion einleiten
[/autoit]
#include <file.au3>
$line = 1
$lines = _FileCountLines($in)
While True ;Endlosschlaufe
$output = FileOpen($outpath, 1)
$instring = FileReadLine($in, $line) ;Zeile in String lesen
If @error Then ;Bei Fehler Wiederholung beenden
ExitLoop
EndIf
$instring = StringReplace($instring, Chr(32), "") ;Leerschläge entfernen
FileWriteLine($output, $instring) ;Konvertierten Text in Datei schreiben
$lines = $lines - 1
$line = $line + 1
FileClose($output) ;File muss geschlossen werden, da das Unterprogramm anstonsten nicht volständigt ausgeführt wird
WEnd
EndFunc ;==>Unix2Dos -
Shit (sorry fürs fluchen)...habe gerade herausgefunden das so etwas leider bereits existiert (sogar auf Flash-Basis) naja dann hald nicht
Projekt gecanceled!!
Aber ich gebe mich nicht geschlagen...dann gibts halt ein anderes Thema...folgendes: Smileys War wers kennt, bitte nichts verraten...Thread wird erst bei ersten zwischenergebnissen erstellt
-
von wegen "wird lächerlich" spätestens jetzt kann es nicht mehr lächerlich werden
-
Also bitte solche fragen bitte nicht mehr in meinem Thread schickt ihm doch ne pn oder schreibt in seinen eigenen Thread...danke
-
Kommt drauf an ob bei allen der gleiche Administrator (Login und PW) ist würd ich sagen.
-
Bitte Bitte kein act...
Wenns probleme gibt und du nicht posten willst oder keine lösung findest auf der Boardsuche oder sonst noch wo, können wir / oder ich dir auch gerne PM oder sowas helfen... oder wenn du skype hast gehts genauso und ich glaube fast in real time
Unser Profi-schnorrer mal wieder...ich dachte du wärst nur am Morgen so gesprächigJedenfalls auch von mir ein Herzhaftes Willkommen
LG General
-
@Moritz Kennich nicht...die part2-datei der ersten Version ist leider defekt deshalb weiss ich nicht genau was QuickDraw ist. Aber wenn du meinst...danke
-
oookey....danke das wusst ich nicht da muss ich anscheinen noch etwas auf meine Liste ("der Dinge die ich nicht tun darf") setzen
-
Wer den Source braucht kann die .exe einfach wieder zurückkompilieren...das macht doch keinen Sinn dann den source zu verbergen...kommt ja jeder dran -.-
-
Die Maus selbst nicht aber die Treiber...wenn der PC mehr will als die Maus dem Treiber sendet ( "da wünsche dir mal viel spass beim Rechnen :D")
-
hört hier eigentlich niemand auf mich? Die Maus ist mit so vielen Positionsabfragen vom PC her völlig überfordert...kein Wunder das Sie springt, sie ist einfach zu schwach
-
Das liegt aber an der Hardware...er kriegt von deiner maus (ich tippe mal ne standardmaus von hp oder so) einfach zu wenig genaue positionsangaben, da diese trotz laser (oder Kugel, glaub ich aber weniger xD) nicht jede kleinste veschiebung aufnimmt...damit dein Cursor noch schneller wird brauchst du also ne Maus mit mehr dpi...ich schlag dir eine mit etwa 2000 - 4000 vor...ich hab eine mit 4000 brauche aber selbst beim gamen maximal 2000 da es sonst viel zu hecktisch wird. Eindeutig zu viel sin 5000 bis 8000 ausser du hast nen 80" Plasmabildschirm (was ich mir aber auch eher nicht vorstellen kann )
-
Vollkommen ...sorry, ist echt ne nette idee
-
Ich würds ja machen...wenn ich könnte...aber ehrlich gesagt ist das ein ganz schön riskanter job da verstehe ich die admins schon
-
"Warum?" ist hier wohl die Frage...was bezweckst du damit den Benutzern das alles zu verweigern...klingt mir stark nach einem Scherzprogramm ...sorry wenn ich nicht alles gelesen habe aber als ich das ganze überflogen hab, hab ich nichts von einem Zweck gelesen
-
DAS bist nicht zufälligerweise du oder
-
Also hab das ganze nun doch ganz anders gemacht xD...vieleicht wird jemand daraus schlau, braucht ihr aber nicht zu wissen da ihr wohl nie so etwas brauchen werdet. Hab noch ne GUI dazugedichtet was aber nicht nötig gewesen wäre.
Danke an alle
[autoit]#include <array.au3>
[/autoit][autoit][/autoit][autoit]
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>AutoItSetOption("TrayIconHide", 1)
[/autoit][autoit][/autoit][autoit]
$parameter = StringSplit($CmdLineRaw, " ")
If $parameter[0] < 2 Then
$Achtung = GUICreate("Achtung", 304, 105, 274, 187)
GUISetIcon("C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\SetupCache\Client\Graphics\warn.ico", -1)
$Label2 = GUICtrlCreateLabel("Erlaubte Parameter: pruefen.exe 'datei' 'spalte' '(-s)'", 48, 16, 248, 17)
$Ok = GUICtrlCreateButton("Ok", 96, 72, 105, 25)
$Icon1 = GUICtrlCreateIcon("C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\SetupCache\Client\Graphics\warn.ico", -1, 8, 24, 32, 32)
$Label3 = GUICtrlCreateLabel("Beispiel: pruefen.exe datei.csv 1 -s", 48, 48, 168, 17)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
If $nMsg = $Ok Then
Exit
EndIf
WEnd
EndIf
$file = FileOpen($parameter[1], 0)
$spalte = $parameter[2]
$zaehler = 2While True
[/autoit]
$linie = FileReadLine($file, $zaehler)
$array = StringSplit($linie, ";") ;teilt den String und schreibt ihn in ein Array
If $parameter[0] = 2 Then
If Not StringIsDigit($array[$spalte]) Then ;wenn der String keine Zahl ist
MsgBox( 16, "Fehler", "Datei ist korrupt!")
Exit
EndIf
If Not StringLen($array[$spalte]) = 6 Then ;wenn der String nicht 6 Zeichen hat
MsgBox( 16, "Fehler", "Datei ist korrupt!")
Exit
EndIf
EndIf
If $parameter[0] = 3 Then
If $parameter[3] = "-s" Then ;wenn das Programm mit -s aufgerufen wurde
If Not StringIsDigit($array[$spalte]) Then ;wenn der String keine Zahl ist
ProcessClose("notepad.exe")
Exit
EndIf
If Not StringLen($array[$spalte]) = 6 Then ;wenn der String nicht 6 Zeichen hat
ProcessClose("notepad.exe")
Exit
EndIf
EndIf
EndIf
$zaehler = $zaehler + 1
WEnd -
hat irgendwie nicht geklappt ...1 tag später aber dann doch obwohl ich nichts daran verändert habe ...elendes verbuggtes autoit ...scherz
-
Wenn ihr wollt kann ich jede .exe mit ner VM überprüfen bevor ihr sie downloadet...ich denke es wäre aber einfacher den leuten hier zu vertrauen, solche von relativ neuen (oder wenig aktiven) mitgliedern besser nicht zu öffnen und falls ein scherzprogram drunter ist die vom forum auszuschliessen ich denke das sollte reichen xDD