Euj iedereen...
Misschien weten jullie nog dat ik gister aan de gang ben geweest met het omdraaien van een jpg-file. Dat is toen gelukt dmv een filestream, alleen nu is er een probleem ontstaan.
Als ik een grote jpeg heb (zeg 1 mb) dan duurt het al gauw 10 tot 20 seconden voordat die hele file omgedraaid is. Dus nu heb ik er voor gekozen om alleen de eerste 200 tekens om te draaien. Ik heb wat gespeeld, en het volgende rolde eruit (het werkt dus niet...):
Dit geheel resulteert in een file van 201 bytes (de eerste for-lus dus). Wat doe ik fout? Hij wil gewoon niet dat blok writen!
Misschien weten jullie nog dat ik gister aan de gang ben geweest met het omdraaien van een jpg-file. Dat is toen gelukt dmv een filestream, alleen nu is er een probleem ontstaan.
Als ik een grote jpeg heb (zeg 1 mb) dan duurt het al gauw 10 tot 20 seconden voordat die hele file omgedraaid is. Dus nu heb ik er voor gekozen om alleen de eerste 200 tekens om te draaien. Ik heb wat gespeeld, en het volgende rolde eruit (het werkt dus niet...):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| for charCount := 200 downto 0 do begin bufferData := ' '; instream.Seek(charCount,soFromBeginning); instream.Read(bufferData[1],1); outstream.Write(bufferdata[1],1); end; bufferData := ' '; instream.seek(201, sofrombeginning); buffersize := instream.size - 1 - 201; instream.read(bufferdata,buffersize); instream.write(bufferdata,buffersize); instream.Free; outstream.Free; |
Dit geheel resulteert in een file van 201 bytes (de eerste for-lus dus). Wat doe ik fout? Hij wil gewoon niet dat blok writen!
[ Voor 4% gewijzigd door Verwijderd op 29-01-2003 18:51 ]