Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
Delphi 10 Seattle Enterprise
|
AW: Hilfe mit Delphi [idhttp.get error]
1. Apr 2015, 10:51
Generell sollte man sowas etwas mehr trennen:
Delphi-Quellcode:
procedure TDatMod.DoStoreBlobToFile(Feld: TField; Datei: String);
Var
S : TStream;
FileS : TFileStream;
begin
If Not Feld.IsBlob Then
raise Exception.Create( ' Das angegebene Feld ist kein Blobfeld.' );
If Feld.IsNull Then
raise Exception.Create( ' Im angegebenen Blobfeld des aktuellen Records befinden sich keine Daten.' );
S := nil;
FileS := nil;
Try
S := Feld.DataSet.CreateBlobStream(Feld, bmRead);
FileS := TFileStream.Create(Datei, fmCreate);
FileS.CopyFrom(S, S.Size );
Finally
S.Free;
FileS.Free;
End;
if not FileExists( Datei ) then
raise Exception.CreateFmt( ' Eigentlich sollte die Datei "%s" jetzt vorhanden sein?', [Datei] );
end;
Function TDatMod.BlobFeldInDatei(Feld: TField; Datei: String): Boolean;
begin
Result := True;
try
DoStoreBlobToFile( Feld, Datei );
except
on E: Exception do
begin
GLD.FehlerText := E. Message;
Result := False;
end;
end;
end;
Schon wird es kürzer und knackiger, obwohl es jetzt zwei Methoden sind
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
Geändert von Sir Rufo ( 1. Apr 2015 um 10:53 Uhr)
|