Programmierproblem

  • Hi, mal wieder :)

    Schreibe ein total tolles Script ^^
    Nun hab ich aber ein Problem:
    Ich speichere das Passwort und Username in eine Datei.
    sieht so aus:

    [autoit]

    Func _schreiben($user, $passwort)
    FileOpen("C:\nwlw-verbinden.txt", 2)
    $schreibe = $user & ";" $passwort
    $close = FileOpen("C:\nwlw-verbinden.txt", 2)
    Filewrite("C:\nwlw-verbinden.txt", $schreibe)
    FileClose($close)
    EndFunc

    [/autoit]

    Nun will ich aber auch beim lesen wieder das trennen, mein Trennzeichen ist ";"
    soweit bin ich nun gekommen:

    [autoit]

    Func _lesen_user($user)
    FileOpen("C:\nwlw-verbinden.txt", 0)
    $gelesen = FileRead("C:\nwlw-verbinden.txt")

    EndFunc

    [/autoit]


    Wie trenn ich den nun die beiden. Ja ich weiß mir fehlt es einfach an Erfahrung.
    p.s. Kann man das Passwort und den Username auch verschlüsseln in der Datei ablegen?

    gruß Remax

    Einmal editiert, zuletzt von Remax (1. Juli 2008 um 13:51)

  • Mit der funktion StringSplit kannst du Zeichenketten die durch ein Trennzeichen verbunden sind wieder trennen.

    Hier mal ein Beispiel aus der Hilfedatei:

    [autoit]


    $days = StringSplit("Sun,Mon,Tue,Wed,Thu,Fri,Sat", ",")

    [/autoit]

    days[1] ist dann Sun
    days[2] ist Mon
    days[3] ist tue und so weiter.

    Du müsstes dann halt das blos ; als Trennzeichen einfügen

    • Offizieller Beitrag

    Ich habe Dir mal ein Beispiel mit Inidatei und Verschlüsselung geschrieben:

    [autoit]


    #Include <String.au3>
    $User = 'username'
    $Pass = 'password'

    [/autoit][autoit][/autoit][autoit]

    ; Verschlüsseln und abspeichern
    $User = _StringEncrypt(1, $User, 'k6P9TbN8e4')
    $Pass = _StringEncrypt(1, $Pass, 'k6P9TbN8e4')
    IniWrite(@ScriptDir & '\script.ini', 'Account1', 'User', $User)
    IniWrite(@ScriptDir & '\script.ini', 'Account1', 'Pass', $Pass)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    ; Lesen und entschlüsseln
    $User = IniRead(@ScriptDir & '\script.ini', 'Account1', 'User', '')
    $Pass = IniRead(@ScriptDir & '\script.ini', 'Account1', 'Pass', '')
    $User = _StringEncrypt(0, $User, 'k6P9TbN8e4')
    $Pass = _StringEncrypt(0, $Pass, 'k6P9TbN8e4')

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    MsgBox(0, 'Test', 'Username = ' & $User & @CRLF & 'Password = ' & $Pass)

    [/autoit]
  • Ahh, Danke, das mit dem Splitstring hat prima geklappt, danke!

    Oscar, hab mir iniwrite angesehen wusste aber nicht wie ich damit umgehen sollte, nun hast es mir gezeigt, danke auch dir.
    Hast praktisch mir die ganze arbeit übernommen. Jetzt muss ich nur noch ein GUI basteln.