| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
Kardiogramm
Anmeldedatum: 13.05.2006 Beiträge: 1
|
Verfasst am: Sa Mai 13, 2006 3:12 pm Titel: MET-Datei vollständig einlesen lassen. |
|
|
Hallo.
Ich habe hier eine .met - Datei, die so aussieht:
à™FcD(ˆEwç›;Æø1z¤+âo
Interpret - Song.ext )B #Ðq Ô ÓÙ 123.part 0
0)B
Wenn ich mit FileRead diese Datei einlesen will, bricht das Script irgendwo vor 'Interpret' ab. Wie kann ich die gesamte Datei in eine Variable lesen lassen ? |
|
| Nach oben |
|
 |
AGU Gast
|
Verfasst am: Sa Mai 13, 2006 3:38 pm Titel: |
|
|
Klingt nach dem beschriebenen Problem in der Doku zu FileRead
| Zitat: | | If the specified file contains any binary zeros (which never occur in proper text files), only the text before the first binary zero will be "seen" by AutoHotkey commands and functions. However, the entire contents are still present in OutputVar and can be accessed by advanced methods such as the address operator (&); for example: *(&OutputVar + 1000) |
Weiß leider auch keine Lösung. Vielleicht hat einer der Profis hier noch eine Idee. Ich vermute mal das hat was mit Binärdateien zu tun, nachdem diese .met Datei offensichtlich kein Textformat ist.
Du kannst vielleicht mal im englischen Forum suchen, ob du was über "binary files" findest. Eine spontane Suche förderte diesen Thread zu Tage:
http://www.autohotkey.com/forum/topic7549.html |
|
| Nach oben |
|
 |
Thalon
Anmeldedatum: 25.10.2005 Beiträge: 1867 Wohnort: Österreich
|
Verfasst am: So Mai 14, 2006 7:04 pm Titel: |
|
|
Man kann die Datei binär lesen (also die Hex-Zahlen) und anschließend umkonvertieren. Funkt super. Fertiges Material findet man dazu im englischen Forum genug
Thalon _________________ Mein Motto: Hilfe zur Selbsthilfe!
Teildeutsche Hilfe (CHM)!! und Deutsche Online-Hilfe |
|
| Nach oben |
|
 |
Stephanwebnet Gast
|
Verfasst am: Mo Mai 15, 2006 9:20 pm Titel: |
|
|
Hallo =),
ich habe mir das ganze mal angesehen.
Das mit den Binärdaten habe ich zum teil verstanden.
Mit dem .bmp welches dort beschrieben ist.
Nur ist mein Englisch nicht ganz so wie es sei sollte. (Ist schon mal erwähnt worden.)
Bitte verbessern wenn ich mich Irre.
Mit #Include melde ich die .ahks mit den neuen Befehlen an.
Dazu muss ich ein kleines Startprogramm schreiben. So etwa oder?
;
#Include, %A_ScriptDir%\BinaryEncodingDecoding.ahk
#Include, %A_ScriptDir%\BinReadWrite.ahk
file =%A_ScriptDir%\testbild.dat
IfExist, %file%
FileDelete, %file%
fh := OpenFileForWrite(file)
l := Hex2Bin(data, ClipboardAll)
WriteInFile(fh,data )
CloseFile(fh)
;
Was ich jetzt aber nicht verstehe, ist der Name dort richtig angegeben,
und wenn nicht wo muss ich ihn angeben.
Wie lese ich die Datei aus. (bei mir lüppt es zwar tut aber nix)
Wieso soll die Datei gelöscht werden (FileDelete) ??
Kann ich eine txt erzeugen die ich bearbeite ??
Um sie anschließend wieder Binär zu speichern ??
Der Grund ist: Ich habe einige Binäre Dateien und muss dort eine Stringkombi suchen und austauschen,
um sie anschließend wieder zurückzuschreiben.
(Laufwerksbuchstaben austauschen, die nur noch im Code zu sehen sind)
Gruß
Stephan (der endlich richtig englisch lernen sollte) |
|
| Nach oben |
|
 |
BoBo Gast
|
Verfasst am: Di Mai 16, 2006 9:03 am Titel: |
|
|
Denke brauchbare antworten kann man dir nur geben wenn einem die von dir includierten funktionen/ahks vorliegen, da ansonsten schwerlich auf die korrekte angabe der parameter geschlossen werden kann.
Zudem bin ich nicht sicher ob man ohne weiteres änderungen an binärdateien vornehmen kann, ohne deren struktur zu zerstören (und damit beim aufruf einen fehler bzgl "korrupter datei" zu provozieren.
JM2C |
|
| Nach oben |
|
 |
Thalon
Anmeldedatum: 25.10.2005 Beiträge: 1867 Wohnort: Österreich
|
Verfasst am: Di Mai 16, 2006 10:33 pm Titel: |
|
|
@Bobo
Es kommt immer drauf an was man ändert. Den Laufwerksbuchstaben auszutauschen sollte meist kein Problem darstellen. Ich habe so sogar bereits Word-Dokumente verändert
Thalon _________________ Mein Motto: Hilfe zur Selbsthilfe!
Teildeutsche Hilfe (CHM)!! und Deutsche Online-Hilfe |
|
| Nach oben |
|
 |
|