Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Leeren TFileStream erzeugen? (https://www.delphipraxis.net/173760-leeren-tfilestream-erzeugen.html)

OrNEC 14. Mär 2013 17:47

Delphi-Version: 2010

Leeren TFileStream erzeugen?
 
Hallo,

kann man einen leeren FileStream erzeugen und wenn ja, wie?

So was wie TFileStream.Create(nil); oder so?

Danke!

Sir Rufo 14. Mär 2013 17:52

AW: Leeren TFileStream erzeugen?
 
Ein Dateiname muss schon sein und als Parameter fmCreate

turboPASCAL 14. Mär 2013 17:52

AW: Leeren TFileStream erzeugen?
 
?

Delphi-Quellcode:
fs := TFileStream.Create('MeineNullByteFile.Dat', fmCreate);
fs.Free

OrNEC 14. Mär 2013 18:02

AW: Leeren TFileStream erzeugen?
 
Also ich lese in ein FileStream ein Bild aus ner DB ein. Wird das Bild vom User gelöscht, muss ich beim Updaten der DB auch das Bild löschen. Ich dachte einfach mit nem leerem FileStream. Aber ich will dafür keine Datei einlesen.... :gruebel:

Delphi-Quellcode:
    // Bild updaten
    if srcpic <> 'empty' then
    begin
      src := srcpic;
      dest := ChangeFileExt(ExtractFilePath(ParamStr(0)), 'temp\temp.jpg');
      ScaleOneImage(src, dest, 200, 200, 92, True); // Seitenverhaeltnis wird beibehalten
      fs := TFileStream.Create(dest, fmOpenRead);
      try
        sSQL2:='UPDATE media SET picture = ? WHERE id_media=' + idinb + ';';
        db.UpdateBlob(sSQL2, fs);
      finally
        FreeAndNil(fs);
      end;
    end else
        begin
          // Bild loeschen (hier kracht es)
          fs := TFileStream.Create('MeineNullByteFile.Dat???', fmCreate); // geht vllt irgendwie anders
          try
            sSQL2:='UPDATE media SET picture = ? WHERE id_media=' + idinb + ';';
            db.UpdateBlob(sSQL2, fs);
          finally
            FreeAndNil(fs);
          end;
        end;

sx2008 14. Mär 2013 19:09

AW: Leeren TFileStream erzeugen?
 
Warum so umständlich?
Man kann doch einen Blob direkt per SQL löschen
Delphi-Quellcode:
// Bild loeschen
sSQL2:='UPDATE media SET picture = NULL WHERE id_media=' + idinb;
Connection.ExecuteSQL(sSQL2)

OrNEC 14. Mär 2013 19:31

AW: Leeren TFileStream erzeugen?
 
Wow... du bist ein Genie :thumb:

Danke dir! :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:00 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