|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 02.08.2005, 20:48 Titel: Frage zum kopieren von dateien in den arbeitsspeicher+... |
|
|
Hallo.
Ich habe von Volta ein Prog bekommen, mit dem man dateien in den Arbeitsspeicher kopieren kann. Damit habe ich jetzt eine datei eingelesen und mit xor verschlüsselt. Bei bmp dateien kommt oft CHR$(0) vor. Wenn ich die anschließend in der datei printe, sind diese nicht da, da es ja auch kein zeichen ist. In der vorigen datei steht es aber. So fehlt immer ein teil der datei. Gibt es einen ersatz für print, z.B. put?? Wenn ja: wie geht das mit put??
Mfg
Michael _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 02.08.2005, 21:01 Titel: |
|
|
Hallo.
Code: | Dim MeineVariable As String
Dim Laenge As Byte
Dim EineZahl As Long
MeineVariable = "Lalala"
Laenge=LEN(MeineVariable)
EineZahl = 543210
Open "BLA.DAT" FOR BINARY ACCESS WRITE AS #1
PUT #1,,Laenge
PUT #1,,MeineVariable
PUT #1,,EineZahl
CLOSE #1
'Nun neu einlesen
OPEN "BLA.DAT" FOR BINARY ACCESS READ AS #1
GET #1,, Laenge
MeineVariable=SPACE$(Laenge)
GET #1,, MeineVariable
GET #1,,EineZahl
CLOSE #1 |
bzw.
Code: | OPEN "Datei.dat" FOR BINARY ACCESS WRITE AS #1
lol$ = CHR$(0)+"LOL"+CHR$(0)
PUT #1,,lol$
CLOSE #1 |
Achtung: Ältere FreeBasic Versionen können nicht richtig mit CHR$(0) umgehen! Daher unbedingt die aktuellste Version, also 0.14 Stable verwenden!
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1875 Wohnort: D59192
|
Verfasst am: 02.08.2005, 21:01 Titel: |
|
|
wenn du die Datei mit dem 2.Beispiel ausgelesen hast geht:
Code: | ff = FreeFile
Open "deine Datei" For Binary As #ff
Put #ff, 1, membuff()
Close #ff |
Behälst du den alte Namen "deine Datei" wird überschrieben, sonst neuer Name - neue Datei. _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
|
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 02.08.2005, 21:13 Titel: |
|
|
Ups. Hab ja den Prog-code vergessen.
Ich meinte das anders. Hab mich vielleicht falsch ausgedrückt:
Code: |
screen 18
Dim x as ubyte Ptr
Dim i As Integer, ff As Integer, flen As Integer, b As Integer, balt as integer
Dim text As String
Locate 2,41: INPUT "Datei eingeben:";pfad$
ff = FreeFile
Open pfad$ For Binary As #ff
flen = lof(ff)
if flen < 1 then PRINT "Sie haben einen ungültigen dateinamen eingegeben.": sleep 10000: end
Dim membuff(flen-1) As UByte
Get #ff, 1, membuff()
Close #ff
kill pfad$
text=""
x=@membuff(0)
open pfad$ for binary as #1
balt=5
For i = 0 To flen-1
b=x[i]
n=b xor balt
balt=b
print #1,CHR$(n);
Next i
close #1
|
Hab den ursprungscode was verändert. Wollte das in nem prog von mir einbauen. _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
|
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1875 Wohnort: D59192
|
Verfasst am: 02.08.2005, 21:22 Titel: |
|
|
Code: | .
.
.
Dim membuff(flen-1) As UByte
Get #ff, 1, membuff()
x=@membuff(0)
balt=5
For i = 0 To flen-1
b=x[i]
x[i]=b xor balt
balt=b
Next i
Put #ff, 1, membuff()
Close #ff
Print "Verdisch..."
sleep
|
EDIT:
n habe ich gestrichen, war auch nicht Dimensioniert!
2.Edit
nochmal etwas einfacher. _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Zuletzt bearbeitet von volta am 02.08.2005, 21:48, insgesamt 3-mal bearbeitet |
|
Nach oben |
|
|
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 02.08.2005, 21:25 Titel: |
|
|
Danke. Ich wusste nicht das das so einfach ist.
Mfg
Michael _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|