![]() |
Frage zu TStringLists
HI,ich habe ein problem bei einem meiner Programme und Würde mich über eine antwort freuen
Delphi-Quellcode:
er sagt mir dann immer wenn ich dan button klicke
procedure Hauptform1.Speichern1Click(Sender: TObject);
var Zeilen, Spalten, i, j: Integer; Tabelle: TStringList; begin savedialog.execute; // Stringliste erzeugen Tabelle := TStringList.Create; Zeilen := stringgrid1.colcount; Spalten := stringgrid1.rowcount; for i := 0 to Zeilen-1 do begin for j := 0 to Spalten-1 do begin Tabelle.Strings[i*Spalten+j] := StringGrid1.Cells[j,i] ; end; end; Tabelle.savetoFile (savedialog.filename+'.tab'); end; "Listenindex überschreitet das Maximum(0)" wie kann ich das Maximum höher setzen :wall: :wall: ,Danke im Vorraus |
Re: Frage zu TStringLists
Hallo, herzlich Willkommen in der DP!
Wenn du eine neue TStringList erzeugst ist diese leer und kannst somit keine einzelnen Zeilen ansprechen. Neue Einträge kannst du so hinzufügen:
Delphi-Quellcode:
Und vergiss nicht, die StringList wieder freizugeben:
Tabelle.Add(StringGrid1.Cells[j,i]);
Delphi-Quellcode:
Und nochwas: Wenn man bei deinem Speicherdialog auf "Abbrechen" klickt, dann knallt's.
Tabelle := TStringList.Create;
try // dein Code ... finally FreeAndNil(Tabelle); end; So ist es richtig:
Delphi-Quellcode:
Grüße, Matze
if SaveDialog.Execute then
// Speichern |
Re: Frage zu TStringLists
Weil ich heute mal meinen sozialen Tag habe:
Delphi-Quellcode:
procedure Hauptform1.Speichern1Click(Sender: TObject);
var Zeilen, Spalten, i, j: Integer; Tabelle: TStringList; begin if savedialog.execute then begin // Stringliste erzeugen Tabelle := TStringList.Create; try Zeilen := stringgrid1.colcount; Spalten := stringgrid1.rowcount; for i := 0 to Zeilen-1 do begin for j := 0 to Spalten-1 do begin Tabelle.Add(StringGrid1.Cells[j,i]); end; end; Tabelle.savetoFile(savedialog.filename+'.tab'); finally Tabelle.Free; end; end; end; |
Re: Frage zu TStringLists
Danke man ,du hast mir echt geholfen :-D :-D
|
Re: Frage zu TStringLists
Und ich erkläre es extra ausführlich. :wall:
*mit Deddy auf Kriegsfuß steh'* :mrgreen: |
Re: Frage zu TStringLists
Nur eine kleine Anmerkung:
Delphi-Quellcode:
Row heißt Zeile
...
Zeilen := stringgrid1.colcount; Spalten := stringgrid1.rowcount; ... Column heißt Spalte Du hast also die Variablen vertauscht |
Re: Frage zu TStringLists
Zitat:
|
DP-Maintenance
Dieses Thema wurde von "Christian Seehase" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.
Ein delphispezifisches Problem |
Re: Frage zu TStringLists
Zitat:
( .DefaultExt = 'tab' und schon wird dieses automatisch angehängt, wenn keine Extention angegeben wurde und .Filter nicht vergessen ) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz