Einzelnen Beitrag anzeigen

Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Problem mit eigener Procedure

  Alt 16. Mai 2008, 08:55
Ich würde die Prozedur so umbauen.
In der Parameterliste all die Sachen
die man von aussen in der Prozedure benötigt.
Wie das StringGrid, die FTP Session und den Dateinamen.

Der MemoryStream und die StringList werden nur
intern in der Prozedur benutzt und es reicht auch dann
sie nur intern als Variablen zu führen.

Delphi-Quellcode:
Procedure Save(Grid:TStringGrid; ftpSession:TidFTP; FileName:String);
var
  I : Integer;
  GridMem : TMemoryStream;
  CSV : TStringList;
Begin
  // Vorbereitung zum speichern der Datenbanken
  GridMem := TMemoryStream.Create;
  CSV := TStringList.Create;
  //Speichern der Grids in Streams
  For I:=0 To Grid.RowCount -1 Do
    Begin
      Grid.Rows[i].Delimiter:=';';
      CSV.Add(StringReplace(Grid.Rows[i].DelimitedText,'',';',[rfReplaceAll]));
    End;
  // Speichern der Streams als Datei auf einem FTP Server
  CSV.SaveToStream(GridMem);
 
  ftpSession.Put(GridMem,FileName);
 
  CSV.Free;
  GridMem.Free;
End;
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat