AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Dateien,vor allem Bilder lassen sich nicht komplett auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Dateien,vor allem Bilder lassen sich nicht komplett auslesen

Ein Thema von Lenny-k · begonnen am 8. Mai 2005 · letzter Beitrag vom 8. Mai 2005
Antwort Antwort
Lenny-k

Registriert seit: 9. Sep 2004
29 Beiträge
 
#1

Dateien,vor allem Bilder lassen sich nicht komplett auslesen

  Alt 8. Mai 2005, 17:33
Ich will eine JPG-Datei auslesen, sie dann verändern und unter anderem Namen abspeichern.
Es werden aber nie alle Zeichen ausgelesen... Zum verzweifeln... Ich hoffe ihr wisst rat:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var infile,outfile:textfile;
ch:char;
begin
AssignFile(infile,'c:\elle.jpg');
reset(infile);
AssignFile(outfile,'c:\elle2.jpg');
rewrite(outfile);
while not eof(infile) do begin
read(infile,ch);
write(outfile,ch);
end;
CloseFile(infile);
CloseFile(outfile);
end;
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Dateien,vor allem Bilder lassen sich nicht komplett ausl

  Alt 8. Mai 2005, 17:49
vielleicht liegs an "textfile"?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Lenny-k

Registriert seit: 9. Sep 2004
29 Beiträge
 
#3

Re: Dateien,vor allem Bilder lassen sich nicht komplett ausl

  Alt 8. Mai 2005, 17:54
wie mach ich das dann? :S sorry, steh grad aufm schlauch!
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Dateien,vor allem Bilder lassen sich nicht komplett ausl

  Alt 8. Mai 2005, 17:58
Versuchs doch einfach mit "TFileStream"
Delphi-Quellcode:
var LStream1, LStream2: TStream;
begin
  LStream1 := TFileStream.Create('c:\elle1.jpg', fmOpenRead);
  LStream2 := TFileStream.Create('c:\elle2.jpg', fmCreate);
  LStream2.CopyFrom(LStream1, LStream1.Size);
  //Jetzt noch bischen in LStream2 rumändern
  LStream2.Free;
  LStream1.Free;
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Lenny-k

Registriert seit: 9. Sep 2004
29 Beiträge
 
#5

Re: Dateien,vor allem Bilder lassen sich nicht komplett ausl

  Alt 8. Mai 2005, 18:03
is irgendwie ungünstig, weil die ausgangsdatei praktisch komplett verändert werden muss... also wärs praktisch, wenn ich die einzelnen zeichen direkt verändern könnte... oder geht das mit dem stream auch?
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Dateien,vor allem Bilder lassen sich nicht komplett ausl

  Alt 8. Mai 2005, 18:08
machma ein file of Byte bzw. file of Char.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Dateien,vor allem Bilder lassen sich nicht komplett ausl

  Alt 8. Mai 2005, 18:11
das geht mit stream auch (und ist vor allem objectorientierter als "file of char" etc.
Delphi-Quellcode:
var LStream1, LStream2: TStream;
    LCount: Integer;
    LBuffer: Char;
begin
  LStream1 := TFileStream.Create('c:\elle1.jpg', fmOpenRead);
  LStream2 := TFileStream.Create('c:\elle2.jpg', fmCreate);
  for LCount := 0 to LStream1.Size - 1 do
  begin
    LStream1.Read(LBuffer, 1);
    //jetzt eventuell noch "LBuffer" verändern
    LStream2.Write(LBuffer, 1);
  end;
  LStream2.Free;
  LStream1.Free;
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Lenny-k

Registriert seit: 9. Sep 2004
29 Beiträge
 
#8

Re: Dateien,vor allem Bilder lassen sich nicht komplett ausl

  Alt 8. Mai 2005, 18:13
Zitat von SirThornberry:
das geht mit stream auch (und ist vor allem objectorientierter als "file of char" etc.
Delphi-Quellcode:
var LStream1, LStream2: TStream;
    LCount: Integer;
    LBuffer: Char;
begin
  LStream1 := TFileStream.Create('c:\elle1.jpg', fmOpenRead);
  LStream2 := TFileStream.Create('c:\elle2.jpg', fmCreate);
  for LCount := 0 to LStream1.Size - 1 do
  begin
    LStream1.Read(LBuffer, 1);
    //jetzt eventuell noch "LBuffer" verändern
    LStream2.Write(LBuffer, 2);
  end;
  LStream2.Free;
  LStream1.Free;
end;
hab ich soweit schon verstanden... der haken ist nur, die ausgabedatei ist doppelt so groß wie die eingabedatei und wird nicht angezeigt

[edit] aaaah, es muss LStream2.Write(LBuffer, 1); heißen! Wenn jetzt noch was nicht klappt, meld ich mich nochmal! Aber schonmal vielen Dank an Euch
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz