Guest User

Untitled

a guest
Aug 14th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 3.01 KB | None | 0 0
  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs, StdCtrls, ExtCtrls;
  8.  
  9. //Deklaration einer Konstante am Anfang des Quellcodes
  10. const max=100;
  11.  
  12. type
  13.   feld=array[1..max] of string;
  14.   //statt variable:array of string kann nun variable:feld verwendet werden um ein array zu deklarieren
  15.   //Deklaration eines Arrays normalerweise: array[*Anfangswert*..*Endwert*] of *Dateityp*
  16.   //Die vorher deklarierte Konstante wird hier als Maximalwert für den Index verwendet
  17.  
  18.   TForm1 = class(TForm)
  19.     EdName: TLabeledEdit;
  20.     MmAusgabe: TMemo;
  21.     Label1: TLabel;
  22.     BtEnde: TButton;
  23.     MmAusgabe2: TMemo;
  24.     BtTauschen: TButton;
  25.     procedure BtEndeClick(Sender: TObject);
  26.     procedure EdNameKeyPress(Sender: TObject; var Key: Char);
  27.     procedure FormActivate(Sender: TObject);
  28.     procedure BtTauschenClick(Sender: TObject);
  29.  
  30.   private
  31.     { Private-Deklarationen }
  32.   public
  33.     { Public-Deklarationen }
  34.   end;
  35.  
  36. var //globale Variablen
  37.   Form1: TForm1;
  38.   anzahl:integer;   //eine Zählvariable vom typ Integer(ganze Zahl)
  39.   namen:feld;       //ein feld - also nach oben stehender definition ein array von string(Zeichenkette) werten
  40.  
  41. implementation
  42.  
  43. {$R *.dfm}
  44.  
  45. procedure TForm1.BtEndeClick(Sender: TObject);
  46. begin
  47.   form1.Close;
  48. end;
  49.  
  50. procedure TForm1.EdNameKeyPress(Sender: TObject; var Key: Char);
  51. var i:integer;      //Laufvariable für eine "for"-Schleife
  52. begin
  53.   if key=#13 then   //Falls die Taste die gedrückt wurde eine Enter Taste war wird nachstehender Block ausgeführt
  54.   begin
  55.     anzahl:=anzahl+1;   //Die globale Variable Anzahl wird um eins erhöht sprich sie zählt mit wie oft diese funktion ausgeführt wird
  56.     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
  57.     Edname.Clear;       //das editfeld wird wieder geleert
  58.     MmAusgabe.Clear;        //das Memo wird wieder geleert, damit die werte dort nicht nach jedem mal enter drücken doppelt, dreifach etc stehen
  59.     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)
  60.       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
  61.   end;
  62. end;
  63.  
  64. procedure TForm1.FormActivate(Sender: TObject); //funktion wenn das programm gestartet wird über doppelklick auf die blanke formularfläche zu generieren
  65. begin
  66.   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
  67. end;
Add Comment
Please, Sign In to add comment