Einzelnen Beitrag anzeigen

twospirit

Registriert seit: 22. Jan 2007
7 Beiträge
 
#1

Stringgrid als CSV datei speichern.

  Alt 22. Jan 2007, 21:27
Hallo,

wir haben in unserer Ausbildung HPS(Höhere Programmier Sprachen) und dort lernen wir immoment mit Delphi ein bischen Programmieren, ich hatte bei einem Geschäfft Praktikum gehabt und sollte mal ihre Kasse nach bauen.
Dafür brauch ich eine art Datenbank, hab mich einfach mal für eine CSV-Datei entschieden und im Hintergrund ist eine Stringgrid was als Lager fungiert.
Ich habe ein bischen im Internet herum geschaut und habe eine Möglichkeit gefunden wie ich ein Stringgrid in eine CSV-Datei speichern kann.

Quellcode:
Delphi-Quellcode:
function TForm1.SaveToCSV:Boolean;
var
  SD : TSaveDialog;
  I : Integer;
  CSV : TStrings;
  FileName : String;
begin
  Try
  // Filedialog erzeugen
  SD := TSaveDialog.Create(Self);
  SD.Filter := 'CSV-Trennzeichen getrennt (*.csv)|*.CSV';
  //Filedialog ausführen
  If SD.Execute = True Then
  Begin
    //Filename zuweisen
    FileName := SD.FileName;
    If Copy(FileName,Pos('.',FileName),Length(FileName)-Pos('.',FileName)+1) <> '.csvThen FileName := FileName + '.csv';
    Screen.Cursor := crHourGlass;
    //Stringliste erzeugen
    CSV := TStringList.Create;
    Try
      //Stringliste füllen
      For I := 0 To Grid.RowCount - 1 Do CSV.Add(Grid.Rows[I].CommaText);
      //CSV speichern
      CSV.SaveToFile(FileName);
      Result := True;
    Finally
      CSV.Free;
    End;
  End;

  Finally
    SD.Free;
    Screen.Cursor := crDefault;
  End;
end;

//SaveToCSV ausführen (sample call)
procedure TForm1.BtnSaveClick(Sender: TObject);
begin
   SaveToCSV;
end;
Das funktioniert ganz gut, doch möchte ich nicht, dass er mich frag wo die Datei gespeichert werden soll, sondern er soll sie eigenständig irgendwo abspeichern.

Kennt sich da jemand aus und weis Rat?


MfG twoSpirit
  Mit Zitat antworten Zitat