Junge.. du weißt nicht, was du da tust..
du wandelst irgendwelche Werte vollkommen sinnlos um, speicherst diese ab, und wunderst dich, dass nicht das selbe wieder rauskommt...
Also:
in uebergabe[2] steht die GRÖSSE der Datei.. als STRING, warum auch immer.
Ich bin nun mal so frei und lauf deinen Quellcode mal durch..
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| if SaveDialog1.Execute then begin datei := TFileStream.Create(Savedialog1.FileName, fmCreate);
i2 := StrToInt(uebergabe[2]);
for i := 1 to SizeOf(uebergabe[2]) do begin datei.Write(i2, sizeof(strtoint(uebergabe[2]))); end; |
5: Dateigröße wieder in integer umwandeln, und in i2 schreiben
7: Eine Schleife von 1 bis GrößeVon(DateigrößeAlsString) DateigrößeAlsString ist z.B. '123', also
drei Zeichen, also läuft deine Schleife von 1 bis 3.. da in nem String noch Pointer, Längenbyte und so nen Rotz bei ist, schlagen wir noch ein wenig drauf.. sagen wir von 1 bis 6.
9: Nun schreibst du den Wert aus Zeile 5 in den Stream. 6 Mal den selben Wert, da du diesen ja nicht mehr änderst.. was soll dabei wohl rauskommen? Ganz nebenbei kannst du auch einfach SizeOf(i2) schreiben, hat das selbe Ergebnis wie SizeOf(StrToInt(GrößeAlsString)) da du ja hier am Ende auch nur die Größe eines Integers bestimmst.
PROGRAMMER: A device for converting coffee into software.