Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit Unit1;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls, ExtCtrls;
- //Deklaration einer Konstante am Anfang des Quellcodes
- const max=100;
- type
- feld=array[1..max] of string;
- //statt variable:array of string kann nun variable:feld verwendet werden um ein array zu deklarieren
- //Deklaration eines Arrays normalerweise: array[*Anfangswert*..*Endwert*] of *Dateityp*
- //Die vorher deklarierte Konstante wird hier als Maximalwert für den Index verwendet
- TForm1 = class(TForm)
- EdName: TLabeledEdit;
- MmAusgabe: TMemo;
- Label1: TLabel;
- BtEnde: TButton;
- MmAusgabe2: TMemo;
- BtTauschen: TButton;
- procedure BtEndeClick(Sender: TObject);
- procedure EdNameKeyPress(Sender: TObject; var Key: Char);
- procedure FormActivate(Sender: TObject);
- procedure BtTauschenClick(Sender: TObject);
- private
- { Private-Deklarationen }
- public
- { Public-Deklarationen }
- end;
- var //globale Variablen
- Form1: TForm1;
- anzahl:integer; //eine Zählvariable vom typ Integer(ganze Zahl)
- namen:feld; //ein feld - also nach oben stehender definition ein array von string(Zeichenkette) werten
- implementation
- {$R *.dfm}
- procedure TForm1.BtEndeClick(Sender: TObject);
- begin
- form1.Close;
- end;
- procedure TForm1.EdNameKeyPress(Sender: TObject; var Key: Char);
- var i:integer; //Laufvariable für eine "for"-Schleife
- begin
- if key=#13 then //Falls die Taste die gedrückt wurde eine Enter Taste war wird nachstehender Block ausgeführt
- begin
- anzahl:=anzahl+1; //Die globale Variable Anzahl wird um eins erhöht sprich sie zählt mit wie oft diese funktion ausgeführt wird
- namen[anzahl]:=EdName.Text; //Dem globalen Feld Namen wird an der Stelle (über Index mit []-Klammern) entsprechend der Anzahl der Elemente (damit das Feld chronologisch gefüllt wird an [1] dann [2] usw...) das nächste Element also der text (ein string!) der im edit feld steht zugewiesen
- Edname.Clear; //das editfeld wird wieder geleert
- MmAusgabe.Clear; //das Memo wird wieder geleert, damit die werte dort nicht nach jedem mal enter drücken doppelt, dreifach etc stehen
- for i:=1 to anzahl do //for schleife, die so oft durchlaufen wird, wie elemente in dem feld sind(von eins bis dem wert von anzahl kann auch über length gemacht werden)
- MmAusgabe.Lines.add(namen[i]); //das Memo wird gefüllt, also im ersten durchlauf der schleife wird das erste element des feldes namen dem memo hinzugefügt dann das 2. usw bis alle elemente angezeigt werden
- end;
- end;
- procedure TForm1.FormActivate(Sender: TObject); //funktion wenn das programm gestartet wird über doppelklick auf die blanke formularfläche zu generieren
- begin
- anzahl:=0; //die Anzahl wird auf 0 gesetzt, da sonst ein zufälliger Wert in die Variable geschrieben wird also unbedingt notwendig!!! kann aber auch in anderen funktionen passieren hier wurde diese funktion genommen, da es sich um eine globale variable bei anzahl handelt
- end;
Add Comment
Please, Sign In to add comment