![]() |
Strings in ein Array speichern
Hallo,
wir müssen ein Programm machen. EIgentlich ganz simpel. WIr haben ein Edit-Feld, wo wir Sachen eingeben und einen Button der die Dinge, die man eingibt, abspeichert. Man gibt etwas ins Edit-Feld ein, klickt auf Speichern, und diese Daten werden in ein Array gesepcihert. Jedesmal muss das Array verlängert werden. Dann wenn man auf einen anderen Button Names "Ausgabe" klickt, soll das ganze in einem MemoFeld ausgegeben werden, was gespeichert wurde. Das ganze habe ich versucht, weiß aber net warum es nicht funktioniert. Kann mir jemand dabei helfen?
Delphi-Quellcode:
Ich weiß, dass ein Fehler mit der procedure anfang zu tun hat. Da steht irgendwo etwas falsches. Da gabs nämlich einen Error.unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Bspeichern: TButton; Bausgabe: TButton; Eeingabe: TEdit; Mausgabe: TMemo; Bende: TButton; procedure BendeClick(Sender: TObject); procedure BspeichernClick(Sender: TObject); procedure BausgabeClick(Sender: TObject); procedure anfang; private { Private declarations } public { Public declarations } end; var Form1: TForm1; i:integer; Feld:array of string; implementation {$R *.dfm} procedure anfang; begin i:=0; setlength(Feld,1); end; procedure TForm1.BendeClick(Sender: TObject); begin halt; end; procedure TForm1.BspeichernClick(Sender: TObject); begin Feld[i]:=Eeingabe.Text; i:=i+1; end; procedure TForm1.BausgabeClick(Sender: TObject); begin For i:=0 to length(Feld)-1 do MAusgabe.Lines.Add:=Feld[i]; end; end. Kann mir bitte jemand helfen? |
Re: Strings in ein Array speichern
Hi.
3 Dinge: 1. Welcher Fehler ist es denn? 2. Wahrscheinlich hast du vergessen, das Array zu vergrößern... ;-) 3. Nimm Close; statt Halt; |
Re: Strings in ein Array speichern
Delphi-Quellcode:
Ansonsten noch eine kleine Anmerkung: Es heißt "beenden" und nicht "benden" :zwinker:
procedure TForm1.BspeichernClick(Sender: TObject);
begin Feld[i]:=Eeingabe.Text; i:=i+1; setlength(Feld, i); end; |
Re: Strings in ein Array speichern
Zitat:
Delphi-Quellcode:
:wink: .
procedure TForm1.Anfang;
PS: Globale Variablen sind böse :zwinker: , ab damit in den private-Teil der Form. |
Re: Strings in ein Array speichern
Zitat:
[Warning] Unit1.pas(54): For loop control variable must be simple local variable [Error] Unit1.pas(55): Not enough actual parameters [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas' |
Re: Strings in ein Array speichern
Hi.
Das Problem lässt sich so lösen:
Delphi-Quellcode:
procedure TForm1.BausgabeClick(Sender: TObject);
var i2 : integer; begin for i2 := 0 to length(Feld)-1 do MAusgabe.Lines.Add(Feld[i2]); end; |
Re: Strings in ein Array speichern
Delphi-Quellcode:
So muss es heißenMAusgabe.Lines.Add(Feld[i]); |
Re: Strings in ein Array speichern
hi,
dann würde ich am besten in die Procedure, in der die Schleife steht, eine lokale Variable (zwischen "procedure ...;" und "begin") namens "i" einfügen ! cu, stefan2005 |
Re: Strings in ein Array speichern
Da sieht man mal wieder, wozu schlechte Namensgebung von Variablen führt.
|
Re: Strings in ein Array speichern
DANKE!!
Es funktioniert. Vielen Dank euch allen. Nur hab ich jetzt oben drüber ne leer Zeile im Memo bevor die ganzen Sachen ausgegeben werden, aber das is egal. Danke. *Happy* |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:14 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 by Thomas Breitkreuz