Lazarus/Technisches und Test: Unterschied zwischen den Seiten

Aus ZUM-Unterrichten
< Lazarus(Unterschied zwischen Seiten)
main>Peterdauscher
Keine Bearbeitungszusammenfassung
 
(Der Seiteninhalt wurde durch einen anderen Text ersetzt: „{{h5pzum|43}}“)
Markierungen: Ersetzt 2017-Quelltext-Bearbeitung
 
Zeile 1: Zeile 1:
== Installation ==
{{h5pzum|43}}
 
== Ein erstes eigenes Programm ==
 
Wir ziehen eine TButton-Komponente (ein Schaltknopf mit der Beschriftung <tt> OK </tt>) auf das Formular. Diese Komponente heißt dann automatisch <tt>Button1</tt>.
Im Objektinspektor kann man die Beschriftung dieses Knopfes ändern. Man ändert den Inhalt im Feld <tt>Caption</tt> . Nach Beendigung durch die Eingabetaste ändert sich dann auch die Beschriftung des Buttons.
Durch Druck der Taste <tt>F9</tt> wird das Programm in eine ausführbare Datei übersetzt und diese automatisch gestartet. Man sieht den Knopf auf der Oberfläche kann ihn mit der Maus drücken. Aber es tut sich noch nichts, wenn man auf den Knopf drückt. Man kann das Fenster wie jede normale Windows-Anwendung mit den Kreuzchen am oberen rechten Rand schließen.
 
Nun möchten wir natürlich auch, dass unser Programm etwas tut – zunächst etwas ganz einfaches: Die Beschriftung des Knopfes soll sich ändern, wenn man ihn anklickt.
 
Um dies zu programmieren, klickt man doppelt auf den Button. Lazarus fügt selbstständig einen Programmbereich (eine <tt>procedure</tt>) ein, in der das Verhalten beim Klicken des Buttons festgelegt wird. Wirklich hineinschreiben muss man nur die gelb unterlegte Zeile. Diese sorgt dafür, dass sich die Beschriftung ändert und nun lautet "<tt>Du hast mich gedrückt</tt>".
 
 
{{kasten_blau|<source  line highlight="29" lang="pascal">
unit Unit1;
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls;
 
type
  { TForm1 }
 
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
{ TForm1 }
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  Button1.Caption:='Du hast mich gedrückt.'; // Ändere Beschriftung
end;
 
initialization
  {$I unit1.lrs}
 
end.       
</source>}}
 
Die Anweisung
<source lang="pascal">
Button1.Caption:='Du hast mich gedrückt';
</source>
 
bedeutet folgendes:
 
Der Knopf <tt>Button1</tt> hat die Eigenschaft <tt>Caption</tt>. Diese Eigenschaft wird jetzt geändert. Dies wird dem Computer über die Zeichen <tt>:=</tt> angedeutet, die einen Pfeil nach links (←) andeuten  soll.
 
Der Text „<tt>Du hast mich gedrückt.</tt>“  besteht aus einer Folge von Buchstaben. Solche Folgen von Buchstaben, werden als String bezeichnet und durch einfache Anführungszeichen markiert.
 
Alles, was hinter // steht, ist ein Kommentar, der für den Computer „unsichtbar“ ist und nur Anmerkungen für den Programmierer darstellt.
 
Um den Programmtext zu speichern, wählt man <tt>Datei | Speichern unter ...</tt> 
 
Nennen wir den Programmtext <tt>button_main.pas</tt> . Die Endung <tt>.pas</tt> weist auf die Programmiersprache Pascal hin, die nach dem französischen Mathematiker Blaise Pascal benannt ist.
Danach fragt Lazarus noch nach, wie das zugehörige Projekt heißen soll. Wir nennen es <tt>button.lpi</tt>.
Der Grund für diese doppelte Speicherung ist, dass ein Lazarus-Projekt mehrere Programmtexte (so genannte ''units'')  haben kann, was allerdings erst bei komplizierteren Programm nützlich ist.
 
 
Der Programmtext ändert sich beim Speichern. Die erste Zeile heißt jetzt nicht mehr
 
<source lang="pascal">
unit Unit1;
</source>
sondern
<source lang="pascal">
unit Button_main;
</source>
 
 
==Aufgaben==
 
{{kasten_blau|
# Ändere das Programm so ab, dass beim Drücken des Knopfes der Button die Beschriftung heißt: „Das kitzelt!“ und führe es aus!
# Speichere die so geänderte Unit unter einem anderen Dateinamen ab: <br />Datei <nowiki>|</nowiki> Speichern unter ...  (kitzel_main.pas).<br/> Dann speichere das gesamte Projekt ab: Projekt <nowiki>|</nowiki> Projekt speichern unter ...    (kitzel.lpi )
# Füge weitere Buttons hinzu, die beim Drücken ebenfalls ihre Beschriftung ändern.
# Ändere das Programm aus Aufg. 3 so ab, dass das Drücken der Buttons, die Beschriftung anderer Buttons ändern.}}
 
{{Kasten_blau|[http://wiki.zum.de/Benutzer:Peterdauscher/Lazarus-Buch Zur Hauptseite]
}}

Version vom 5. November 2019, 10:46 Uhr