- Offizieller Beitrag
Hi,
also ein letzter Versuch. Welches Zeichen soll zu welchem gemacht werden?
Mega
Hi,
also ein letzter Versuch. Welches Zeichen soll zu welchem gemacht werden?
Mega
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyt123456789[]()_:./\
Zu
·2áz‹UÖ†*T'<—eAªÑ›I|àl§½ðdhÌÝ퇴$Ÿ]¸ÊF™¹4¾Ê¶˜ºò9a¨ó‚¥»r-Ô•(Da sind auch unsichtbare zeichen dabei) (Z ist eins glabe ich dan e und a)
und enter muss auch umgewandelt werde in äG
das prob is man kann die zeichen zu denen das werden soll nit ganz übernehmen weil (der buchstabe G) zu nem zeichen wird der wenn man ihn so in autoit hernimmt bewirkt das autoit in der nächsten zeile weitermacht
HI,
das wird dann so nicht gehen. Da musst du über die Hexwerte ausweichen.
Mega
und was sind hex werte ?
P.s. hilft es dir wenn ich dir die .exe gebe die crypten kann ? sie ist nicht in autoit gechrieben aber vielleicht kannste was mit anfangen ?
Hi WoW,
nur mal eine kleine Anmerkung. Wie Du selbst bemerkst hast du Probleme mit den Sonderzeichen, weil sie sich nicht darstellen lassen usw.
Deshalb verwendet man in so einem Fall gerne den ASCII Code eines Zeichens. Der ASCII Code ist genormt, und jede Programmier- oder Scriptsprache kann damit umgehen.
Bei AutoIt kannst Du die Funktion Asc("x") verwenden um den Ascii Code von "x" zu erhalten, das ergibt dann 120. Der umgekehrte Weg funktioniert mit der Funktion Chr(120"), die dann den String "x" zurückgibt.
Ich würde Dir empfehlen, ohne Dir zu nahe treten zu wollen, Dir ein Buch über Grundlagen der Datenverarbeitung oder Programmierung zu besorgen und mal zu lesen, dann werden Dir die Zusammenhänge etwas klarer, und am Ende brauchst Du zum Schreiben eines Skripts nur noch den Bruchteil der Zeit.
Zu Deinem Problem, wenn eine Funktion nicht macht was sie soll, muß man sie debuggen, wie man so schön sagt. Dazu gibt es meist einen Debugger, der einem zur Laufzeit anzeigt, welchen Wert bestimmte Variablen haben, und der das Script unter bestimmten Bedingungen anhält. Leider habe ich in AutoIt sowas nicht gefunden, aber man kann sich auch anders behelfen.
Als wichtigstes gibt es den Befehl ConsoleWrite, mit dem Du alles was Du wissen willst in das Consolenfenster in SciTe schreiben kannst. Natürlich mußt Du dann nachschauen ob das was dort geschrieben steht, auch das ist was Du erwartest. Also, deutlicher gesagt, wenn Du nicht verstehst, wie Dein Script funktioniert, wirst Du es auch niemals debuggen können.
Gruß,
TrueMu
Hi danke für den tipp
eine frage ist es möglich einfach nur den inhalt einer txt auszulesen in asci II code umzuwandeln und dann mit der original textdatei zu ersetzen ?
weil so wies aussieht wandelt der nur in asci II code um oder ?
P.s. was ist ein consolen fenster in scite ?
Wenn Du F5 zum Ausführen Deines Scripts drückst, wird im unteren Bereich ein Fenster mit blauem und grünem, evtl. auch ein paar orangen Zeilen angezeigt. Und wenn Dein Script einen Fehler hat, steht das auch da.
DAS nennt man Consolewindow, habe gerade nachgeschaut, SciTe nennt es das Output window.
aso kk das kenne ich aber ich habe alle meine scripte dami getestet die geben null fehler aus
Ja, aber such mal die ASCII Werte deiner Sonderzeichen raus. Dann geht der Rest auch wieder.
Genau. Und mit ConsoleWrite kann man sich quasi Zwischenergebnisse anzeigen lassen und damit eingrenzen wo der Fehler auftritt.
Du könntest z.B. nach jedem Replace mal den ganzen String per ConsoleWrite ausgeben und dann schauen ob alles so läuft wie gedacht.
Aber ein Tipp noch, ConsoleWrite macht keinen Zeilenumbruch, den mußt Du selber anhängen. Es könnte also so aussehen:
ConsoleWrite ("Der String nach dem 1. Replace: " & $MyString & @CR)
Und das fügst Du dann überall ein wo Du den Verdacht hast, es könnte was schiefgehen. Nach dem Ausführen des Scripts kannst Du dann in der Console scrollen und die Meldungen anschauen. Wenn ich einen Bereich in meinem Script überprüft habe, kommentiere ich die ConsoleWrite wieder aus, damit ich nicht so viel Text in der Console stehen habe, und falls ich sie wieder brauche, entferne ich einfach nur das Semikolon, voila.
Gruß,
TrueMu
@All Sry aber es wird mir echt zu hoch ich bin kein Informatiker sry
Ich muss offen gestehen das ich das nicht auf die reihe kriege auch mit eurer Tollen Unterstützung nicht
also macht euch keine mühe mehr wir lassen es einfach habe ich halt pech gehabt schade
Egal Trotzdem Vielen Dank An alle helfer ihr seid super Danke
Tut Mir leid das ich eure wertvolle Zeit Verschwendet habe
Nimm es nicht so schwer, bei manchen Sachen kommt man einfach nicht weiter. Aber falls Du doch noch weiter machen möchtest, hier die HEX und ASCII Werte von deinen Sonderzeichen:
·2áz‹UÖ†*T'<—eAªÑ›I|àl§½ðdhÌÝ퇴$Ÿ]¸ÊF™¹4¾Ê¶˜ºò9a¨ó‚¥»r-Ô•
Hex = ASCII
B7 = 183
32 = 50
E1 = 225
7A = 122
8B = 139
55 = 85
1A = 26
D6 = 214
86 = 134
2A = 42
54 = 84
27 = 39
3C = 60
97 = 151
65 = 101
41 = 65
AA = 170
D1 = 209
9B = 155
49 = 73
7C = 124
E0 = 224
11 = 17
6C = 108
A7 = 167
81 = 129
8F = 143
BD = 189
F0 = 240
64 = 100
1E = 30
68 = 104
1B = 27
CC = 204
DD = 221
ED = 237
12 = 18
87 = 135
B4 = 180
24 = 36
0E = 14
9F = 159
5D = 93
02 = 2
B8 = 184
CA = 202
46 = 70
99 = 153
B9 = 185
34 = 52
BE = 190
CA = 202
B6 = 182
10 = 16
98 = 152
BA = 186
F2 = 242
39 = 57
61 = 97
A8 = 168
F3 = 243
82 = 130
A5 = 165
BB = 187
03 = 3
72 = 114
2D = 45
15 = 21
D4 = 212
95 = 149
Ich möchte ja gerne wieter machen aber ich habe in den letzten 3 tagen 50 Stunden in die versucherei investiert und jetzt hängts an den Grossbuchstaben
ich bin down ich habe keinen bock mehr mich von autoit verarschen zu lassen bei satzzeichen und kleinbuschstaben gehen meine ersten versuche perfect
(sind im anhang)
mich regt einfach auf das es jetzt nur an den grossbuchstaben hängt
Mmmhh, wenn man so viel Zeit da rein gesteckt hat ist es wirklich ärgerlich, das Problem ist eigentlich nur das nicht alle Zeichen so dargestellt werden. Daher kam auch der Kommentar, das man sich die ASCII Zeichen nehmen solle, da hier jedes Zeichen als Zahl dargestellt wird.
Nun ja, vielleicht haste ja doch noch mal lusten weiter zu machen, bin schon auf dein nächstes Vorhaben gespannt, hast immer interesante Ideen
P.S. Du bist ja auch schon Fortgeschrittener, ich werde wohl immer im Status Lernender bleiben
Ich hänge mal das tool an mit dem es geht vielleicht kann mir einer damit weiterhelfen ich bin echt am ende meiner (beschränkten) Weisheit
McPoldy hey Dein Status Is Lernender jedoch Du bist Weiser
mein Status ist Fortgeschrittener aber ich bin Noob
Mach doch einfach
[autoit]StringLower("Der Text")
[/autoit]
Das ist zwar alles kleingeschrieben, aber temporär wäre es schon mal eine Lösung.
Edit: Eben, weil dein Script ja , wie du sagst,mit Kleinbuchstaben geht(habs mir aber noch nicht mal angschaut).
$file = @ScriptDir&"\bla.txt"
$data = Asc(FileRead($file))
MsgBox(0, "", $data)
@2Fast
Danke aber das nutzt nit viel für kleinbuchstaben geht mein script ja
@leviathan
Danke Geht aber nicht gibt nur den wert von einem buchstaben
Probier mal folgendes
#include <array.au3>
Dim $arrASCII[1]
Dim $oFile = FileOpen('Testdatei.txt',0)
While 1
$Zeichen = FileRead($oFile,1)
If @error = -1 Then ExitLoop
_Txt2ASCII($Zeichen)
WEnd
FileClose($oFile)
_ArrayDelete($arrASCII,0)
_ArrayDisplay($arrASCII)
Func _Txt2ASCII($Zeichen)
$Zeichen = Asc($Zeichen)
_ArrayAdd($arrASCII,$Zeichen)
EndFunc
Das sollte dir eine Datei in ein Array schreiben, jedes Feld ist ein Zeichen in ASCII, auch CR und Sonderzeichen.