AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Problem: Procedure zum speichern eines grids auf FTP server
Thema durchsuchen
Ansicht
Themen-Optionen

Problem: Procedure zum speichern eines grids auf FTP server

Ein Thema von 5etH · begonnen am 15. Mai 2008 · letzter Beitrag vom 16. Mai 2008
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von 5etH
5etH

Registriert seit: 4. Mär 2008
Ort: Giessen
217 Beiträge
 
Delphi 2007 Professional
 
#11

Re: Problem mit eigener Procedure

  Alt 16. Mai 2008, 10:46
Also Datenmodul ist in den Uses und es fehlt kein Semikolon
Manuel
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#12

Re: Problem: Procedure zum speichern eines grids auf FTP ser

  Alt 16. Mai 2008, 11:43
Hier mal der vereinfachte Code.
Damit vereinfacht sich auch der Aufruf.
Änderungen:
* "gescheiteter" Prozedurname
* Parameterliste abgespeckt und dafür lokale Variablen verwendet
* Sicherheitsüberprüfungen mit Assert
* try...finally zum Schutz der Resourcen

Delphi-Quellcode:
Procedure SaveStringGrid(Grid : TStringGrid; const FileName : String);
Var
  I : Integer;
  GridMem : TMemoryStream; // lokale Variable, kein Parameter !
  CSV : TStringList; // dito
Begin
  Assert(Assigned(Grid)); // Safety first
  Assert(Assigned(Datenmodul1));

  // Vorbereitung zum speichern der Datenbanken
  GridMem := TMemoryStream.Create;
  CSV := TStringList.Create;
  try
    //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);
  // ganz wichtig: Stream muss zurück auf Anfang
  GridMem.Position := 0;

  Datenmodul1.IdFTP1.Put(GridMem,FileName);
  finally
    CSV.Free;
    GridMem.Free;
  end;
End;
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#13

Re: Problem: Procedure zum speichern eines grids auf FTP ser

  Alt 16. Mai 2008, 12:10
Also mit Assert würde ich hier nicht arbeiten. Assert dient eigentlich nur zum Debuggen und Assertions sollten in der Releaseversion deaktiviert werden. aus der Dephihilfe:
Zitat:
In der Regel werden Assertions nicht in Programmversionen verwendet, die zur Auslieferung vorgesehen sind. Deshalb wurden Compiler-Direktiven implementiert, mit denen die Generierung des zugehörigen Codes deaktiviert werden kann:

$ASSERTIONS ON/OFF
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#14

Re: Problem: Procedure zum speichern eines grids auf FTP ser

  Alt 16. Mai 2008, 12:14
Allerdings haben Assertions den Vorteil, dass sie Datei und Quellcodezeile mit ausgeben. Von daher sind sie bei mir auch z.T. in Release-Versionen enthalten. Spricht etwas dagegegen bzw. kann man die Zusatzinfos (Datei+Zeile) auch anderweitig ermitteln?
Thomas
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#15

Re: Problem: Procedure zum speichern eines grids auf FTP ser

  Alt 16. Mai 2008, 14:06
Zitat von Luckie:
Also mit Assert würde ich hier nicht arbeiten. Assert dient eigentlich nur zum Debuggen und Assertions sollten in der Releaseversion deaktiviert werden.
Genau für den Anwendungszweck, der hier vorliegt, wurden aber Assertions erfunden.
"Eigentlich" darf ja der Parameter Grid niemals = nil sein und er ist es in 99,5 % aller Fälle auch.
Für den Fall, dass der Programmierer gepennt hat, ist die Assertion als Rettungsanker im Code.
Assertion verbleiben im Code und werden nicht auskommentiert.
Alfa- und Betaversion werden mit $ASSERTIONS ON kompiliert und zum Testen ausgeliefert;
Releaseversionen werden mit $ASSERTIONS OFF kompiliert. (damit wird das Programm dann wieder kleiner und schneller)
Andreas
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#16

Re: Problem: Procedure zum speichern eines grids auf FTP ser

  Alt 16. Mai 2008, 14:12
[Doppelposting wegen Netzwerkfehler gelöscht]
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 12:50 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