![]() |
speichern und laden eines stringgrid
ich hab ein problem mit dem speichern und laden eines stringgrids. hier zeigt er die fehler (ungenügende forward- oder external-deklaration:'TForm1.LoadTab') und
(ungenügende forward- oder external-deklaration:'TForm1.LoadTab') an.
Code:
fürs speichern:type TForm1 = class(TForm) procedure LoadTab(Sender: TObject; const FileName: TFileName); procedure OeffnenClick(Sender: TObject); procedure SaveTab(Sender: TObject; const FileName: TFileName); procedure Speichern1Click(Sender: TObject);
Code:
und fürs laden:procedure SaveTab(Tab: TStringGrid; const FileName: TFileName); var f: TextFile; i, k: Integer; begin AssignFile(f, FileName); Rewrite(f); with Tab 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; procedure TForm1.Speichern1Click(Sender: TObject); begin SaveTab(Tab, 'c:\grid.txt'); end;
Code:
was ist da los?procedure LoadTab(Tab: TStringGrid; const FileName: TFileName); var f: TextFile; iTmp, i, k: Integer; strTemp: String; begin AssignFile(f, FileName); with Tab 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; procedure TForm1.OeffnenClick(Sender: TObject); begin LoadTab(Tab, 'c:\grid.txt'); end; danke im voraus. |
Re: speichern und laden eines stringgrid
Hi! Der Header einer Funktion muss so lauten:
Code:
Im Deklarationsteil (also oben in der Datei), stehen sie ohne Klassenname. Deshalb musst du schreiben:
KlassenName.FunktionsName
Delphi-Quellcode:
Dasselbe gilt natürlich für alle anderen Funktionen auch. Beachte allerdings, dass in diesem Fall auch die Parameterlisten unterschiedlich sind, diese müssen aber gleich sein.
type
TForm1 = class(TForm) procedure SaveTab(Sender: TObject; const FileName: TFileName); //... procedure TForm1.SaveTab(Tab: TStringGrid; const FileName: TFileName); Greetz alcaeus |
Re: speichern und laden eines stringgrid
Hai herrentor,
wenn Du eine procedure als Methode deiner TForm deklarierst musst Du den Type-Namen davor setzen. *uff was für ein blöder satz*
Code:
[Edit]Um diese Zeit tippe ich wohl zu langsam :cry: [/Edit]
type
TForm1 = class(TForm) procedure LoadTab(Sender: TObject; const FileName: TFileName); end; implementation procedure [b]TForm1.[/b]LoadTab(Sender: TObject; const FileName: TFileName); |
Re: speichern und laden eines stringgrid
ok, speichert tut er jetzt, aber öffnen nicht. ich denke mal das liegt daran, dass ich diesen teil rausgenommen hab:
Code:
weil er sonst sagt, operator oder semikolon fehlt.Reset(f); |
Re: speichern und laden eines stringgrid
ok, ich hab den fehler gefunden. besten dank.
|
Re: speichern und laden eines stringgrid
Zitat:
ich kann in deinem obigen Code nirgends ein Reset (f); finden. |
Re: speichern und laden eines stringgrid
dann wird ers wohl VOR dem posten hier drinnen gehabt haben :stupid:
von wegen ICH bin müde :mrgreen: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 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