fileread problem

  • hallo habn kleines problem, und zwar wenn ich jetz zum Beispiel in einer txt datei $var&$var2 stehen habe..nun kommt das problem

    habe folgendes skript

    [autoit]

    $read = Fileread($datei)
    $var = "herzlich"
    $var2 = " willkommen"
    msgbox(0, "", $read)

    [/autoit]

    jetzt kommt aber bei msgbox einfach nix, liegt ja daran dass er bei fileread immer "" davormacht, wie kann ich diese aber nun entfernen???

    • Offizieller Beitrag

    Dein Scipt macht rein gar nichts. Wie soll man dir dabei helfen. Stell ein laufffähiges Beispiel ein .
    Meine Glaskugel gibt da einfach nichts her.

  • jo hier ist es:

    Spoiler anzeigen
    [autoit]

    $key = @ScriptDir&"\endkey.txt"
    $chk = 1
    FileDelete($key)
    $input = InputBox("Password", "Type the password you want to encrypt", "", "")

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

    ;$pass = Chr(65) & Chr(66) & Chr(67)
    $len = StringLen($input)
    for $i = 1 to $len
    $var = StringMid($input, $i, 1)

    if $var = "0" Then
    $chr="Chr(48)"
    ElseIf $var = "1" Then
    $chr ="Chr(49)"
    ElseIf $var = "2" Then
    $chr ="Chr(50)"
    ElseIf $var = "3" Then
    $chr ="Chr(51)"
    ElseIf $var = "4" Then
    $chr ="Chr(52)"
    ElseIf $var = "5" Then
    $chr ="Chr(53)"
    ElseIf $var = "6" Then
    $chr ="Chr(54)"
    ElseIf $var = "7" Then
    $chr ="Chr(55)"
    ElseIf $var = "8" Then
    $chr ="Chr(56)"
    ElseIf $var = "9" Then
    $chr ="Chr(57)"
    EndIf
    FileWrite($key, $chr&"&")
    if $chk = $len Then
    ; & zeichen entfernen
    EndIf
    $chk+=1
    Next

    [/autoit]

    vlt kann das problem auch gleich einer lösen ist ziemlich leicht da wo steht ; & zeichen entfernen sollte halt das & zeichen hinter dem letzten wort entfernt werden ;)

    wenn man nun die datei lesen möchte kommt da aber in der msgbox nicht 1234 sondern halt Chr(49)&Chr(50)....

  • Vieeleicht weil du bei chr immer die " hast
    die kannst du aber auch später mit StringTrimRight und StringTrimLeft entfernen

  • wenn ich die "" wegmache vor Chr dann schreibt er ja in die Datei 1&2..ich möchte aber mit Chr(48) weiterarbeiten, würde nämlich das endergebnis dann mit stringencrypt encrypten dann wieder mit chr encrypten, sodass ich ein ziemlich schwer decryptbares passwort habe ;)

  • also das jetz in der datei nicht mehr & am ende steht habe ich jetz, aber wie mache ich das nun wenn ich das ausgelesene der Datei in einer msgbox anzeigen möchte?

    zb wenn ich 1234 eingebe speichert es: Chr(49)&Chr(50)&Chr(51)&Chr(52)
    wenn ich nun mit fileread den wert Chr(49)&Chr(50)&Chr(51)&Chr(52)auslese und mit einer variable in meine msbox setze kommt nicht 1234 sondern Chr(49)&Chr(50)&Chr(51)&Chr(52)

  • Hallo reaker,

    versuchs doch einfach so:

    Spoiler anzeigen
    [autoit]

    $key = @ScriptDir&"\endkey.txt"
    $chk = 1
    FileDelete($key)
    $input = InputBox("Password", "Type the password you want to encrypt", "", "")

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

    ;$pass = Chr(65) & Chr(66) & Chr(67)
    $len = StringLen($input)
    for $i = 1 to $len
    $var = StringMid($input, $i, 1)

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

    if $var = "0" Then
    $chr="Chr(48)"
    ElseIf $var = "1" Then
    $chr ="Chr(49)"
    ElseIf $var = "2" Then
    $chr ="Chr(50)"
    ElseIf $var = "3" Then
    $chr ="Chr(51)"
    ElseIf $var = "4" Then
    $chr ="Chr(52)"
    ElseIf $var = "5" Then
    $chr ="Chr(53)"
    ElseIf $var = "6" Then
    $chr ="Chr(54)"
    ElseIf $var = "7" Then
    $chr ="Chr(55)"
    ElseIf $var = "8" Then
    $chr ="Chr(56)"
    ElseIf $var = "9" Then
    $chr ="Chr(57)"
    EndIf
    if $i < $len Then $chr = $chr & "&"
    FileWrite($key, $chr)
    $chk+=1
    Next

    [/autoit]


    wobei ich allerdings nicht ganz verstehe, dass du nicht die vorhandene Funktion _StringEncrypt() benutzt,

    Edit: sehe du hast das Problem mit "&" am Ende schon gelöst

    mfg (Auto)Bert

  • ja habs mit stringtrimleft gemacht, aber trotzdem danke ;)

    ja ich würde gerne eine ziemlich schweres passwort machen darum erst die zahlen in chr encrypten das wiederum mit string_encrypt das auch wieder mit chr machen, so ist das passwort besser geschützt als nur string_encrypt