Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Hilfe fürs schreiben in Dateien (https://www.delphipraxis.net/8829-hilfe-fuers-schreiben-dateien.html)

Sascha 12. Sep 2003 19:12


Hilfe fürs schreiben in Dateien
 
Wie kann ich in eine Datei schreiben

z.B.:
subst G: C:\MyName in Batch.bat
oder
String.Grid(Name,Its) in bat.dat


Gruß Sascha man liest sich :hi: .

Ronny Grabo 12. Sep 2003 19:31

Re: Hilfe fürs schreiben in Dateien
 
Hallo,

ein Vorschlag :
Eine StringList anlegen und die Zeilen des StringGrids per Schleife durchlaufen, den Inhalt der einzelnen Zelle in einer temporären String Variable ablegen anschließend zur StringList adden und nach Durchlauf der Schleife dann StringList abspeichern.
Danach StringListe freigenben.

Gruß Ronny.

edit = habe Fehler versbessert

Alexander 12. Sep 2003 19:37

Re: Hilfe fürs schreiben in Dateien
 
Du willst Daten aus einem Stringgrid in eine Datei eportieren odeR?
Naja das ist relativ einfach, du kannst dir einfach die Textdatei ebenfalls wie eine Tabelle aufbauen. Am besten geht das, indem du zb die spalten nach ein ander in eine DAtei speicherst...
Hier mal ein Beispiel:
Delphi-Quellcode:
procedure SaveStringGrid(StringGrid: TStringGrid; const FileName: TFileName);
var
  f:   TextFile;
  i, k: Integer;
begin
  AssignFile(f, FileName);
  Rewrite(f);
  with StringGrid do
  begin
    // Write number of Columns/Rows
    Writeln(f, ColCount);
    Writeln(f, RowCount);
    // loop through cells
    for i := 0 to ColCount - 1 do
      for k := 0 to RowCount - 1 do
        Writeln(F, Cells[i, k]);
  end;
  CloseFile(F);
end;

// Load a TStringGrid from a file

procedure LoadStringGrid(StringGrid: TStringGrid; const FileName: TFileName);
var
  f:         TextFile;
  iTmp, i, k: Integer;
  strTemp:   String;
begin
  AssignFile(f, FileName);
  Reset(f);
  with StringGrid do
  begin
    // Get number of columns
    Readln(f, iTmp);
    ColCount := iTmp;
    // Get number of rows
    Readln(f, iTmp);
    RowCount := iTmp;
    // loop through cells & fill in values
    for i := 0 to ColCount - 1 do
      for k := 0 to RowCount - 1 do
      begin
        Readln(f, strTemp);
        Cells[i, k] := strTemp;
      end;
  end;
  CloseFile(f);
end;
Ich muss dazu sagen, der Source ist nciht von mir, Autor unbekannt...
(Meinen Source finde ihc nicht mehr...)

Ronny Grabo 12. Sep 2003 20:14

Re: Hilfe fürs schreiben in Dateien
 
StringList Variante als Quellcode ( zum Speichern des StringGrids) :

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i,b:integer;
   strtmp:string;
   strlst:TStringList;
   begin
strlst:=TStringlist.Create;
For i:=1 to StringGrid1.RowCount do
    begin
    for b:=1 to StringGrid1.ColCount do
        begin
        strtmp:=strtmp+';'+StringGrid1.Cells[b,i];
        end;
        strlst.Add(strtmp);
        strtmp:='';
    end;
strlst.SaveToFile('test');
strlst.Free;
end;
Gruß Ronny.

Sascha 13. Sep 2003 12:12

Re: Hilfe fürs schreiben in Dateien
 
Ne ich wollte eigentlich nur etwas in eine Datei schreiben,
ohne das ich das selbst eingeben muss. Er soll etwas einfach in eine Batch-Datei schreiben z.B.

@ctty nul
echo Hallo
echo wie gehts

Grüß Sascha man liest sich :hi:

Ronny Grabo 13. Sep 2003 12:18

Re: Hilfe fürs schreiben in Dateien
 
Zitat:

Ne ich wollte eigentlich nur etwas in eine Datei schreiben,
ohne das ich das selbst eingeben muss. Er soll etwas einfach in eine Batch-Datei schreiben z.B.
So in der Art StringGrid.SaveToFile('meintext.txt') ?
Das geht leider nicht.

Ein bischen tippseln muß man schon noch. :)

Gruß Ronny.

Sascha 13. Sep 2003 12:28

Re: Hilfe fürs schreiben in Dateien
 
Es war so gemeint das man im Programm nichts in eine StringList eingeben muss nur etwas auswählen.

Ronny Grabo 13. Sep 2003 12:30

Re: Hilfe fürs schreiben in Dateien
 
Wenn es nicht unbedingt StringGrid sein muß, kannst Du ja auch ein Memo aufs Formular "schmeißen" dort gibst einfach ein was in der Datei gespeichert werden soll (nach dem compilieren). Anschließend einen Button aufs Formular diesen doppelt klicken und dann schreibst Du folgendes rein :
Delphi-Quellcode:
 Memo1.lines.SaveToFile('meintext.txt')
Jetzt einfach mal starten und ausprobieren.

Gruß Ronny.

Etwas einfacheres fällt mir im Moment nicht ein.

Ronny Grabo 13. Sep 2003 12:39

Re: Hilfe fürs schreiben in Dateien
 
Zitat:

Es war so gemeint das man im Programm nichts in eine StringList eingeben muss nur etwas auswählen.
Dies könnt man mittels einer Combobox erreichen, diese einfach aufs Formular anschließend im Objectinspektor unter Items eine Auswahl pro Zeile eingeben.
Jetzt noch ein Button, den doppelklicken, und folgendes eintragen :
Delphi-Quellcode:
Combobox1.Items.SaveToFile
Gruß Ronny.

PS: Ich meinte das nicht böse, ok ?

Sascha 14. Sep 2003 11:09

Re: Hilfe fürs schreiben in Dateien
 
Habs nicht als böse genommen werde euch das bald erklären wie ich das meinte muss jetzt aber weg.


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