AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Komplexere Variante Records für Linie, Kreis und Rechteck
Thema durchsuchen
Ansicht
Themen-Optionen

Komplexere Variante Records für Linie, Kreis und Rechteck

Ein Thema von Wasserratte · begonnen am 17. Mai 2004 · letzter Beitrag vom 24. Mai 2004
 
Benutzerbild von Wasserratte
Wasserratte

Registriert seit: 25. Apr 2004
Ort: Hildesheim
6 Beiträge
 
#1

Komplexere Variante Records für Linie, Kreis und Rechteck

  Alt 17. Mai 2004, 18:36
Bonjour!

Unser Klassenlehrer hatte uns folgende Aufgabe gegeben:

Wir sollten eine Linie, einen Kreis und ein Rechteck Zeichnen und diese dann in einem komplexeren Variante Record speichern und wieder abrufen können, dabei sollten wir auch eine case Anweisung benutzen. Aus der Delpi-Hilfe wurde ich dann bei: "Variante Teile in Record-Typen" fündig, aber mir fehlt noch der Zugriff auf den Record, wer kann mir da helfen?

Delphi-Quellcode:
unit Unit1;

{

        Programmname            Variante_Records.exe
        Autor                  Christian S.
        Datei                  Variante_Records.dpr
        Dokumentation          --

        Datum                  2004-05-10
        Stand                  ok!
        Version                1.1.0
        Build                  001

        Modifis                2004-05-17 v1.1.0.1
                                1. Angefangen mit Variante Records.

        Last Mod                2004-05-17

}


interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TMain = class(TForm)
    Btn_Linie: TButton;
    Btn_Rechteck: TButton;
    Btn_Kreis: TButton;
    Btn_Clear: TButton;
    Splitter1: TSplitter;
    L_X: TLabel;
    Ed_X: TEdit;
    L_Y: TLabel;
    Ed_Y: TEdit;
    L_X2: TLabel;
    Ed_X2: TEdit;
    L_Y2: TLabel;
    Ed_Y2: TEdit;
    Btn_Record: TButton;
    
    procedure Btn_LinieClick(Sender: TObject);
    procedure Btn_KreisClick(Sender: TObject);
    procedure Btn_RechteckClick(Sender: TObject);
    procedure Btn_ClearClick(Sender: TObject);
    procedure Btn_RecordClick(Sender: TObject);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Main: TMain;

type
  TShapeList = (Linie, Kreis, Rechteck);
    TFigure = record
      case TShapeList of
        Linie : ( X1, Y1, X2, Y2: Integer); // Linie
        Kreis : ( A1, B1, A2, B2: Integer); // Kreis
        Rechteck : ( P1, Q1, P2, Q2: Integer); // Rechteck
      end;

implementation

{$R *.dfm}

{------------------------------------------------------------------------------}

procedure TMain.Btn_LinieClick(Sender: TObject);
var
  X1, Y1, X2, Y2 : Integer;

begin
  X1 := strtoint( Ed_X.Text);
  Y1 := strtoint( Ed_Y.Text);
  X2 := strtoint( Ed_X2.Text);
  Y2 := strtoint( Ed_Y2.Text);
  Canvas.MoveTo( X1,Y1);
  Canvas.LineTo( X2,Y2);
end;

{------------------------------------------------------------------------------}

procedure TMain.Btn_KreisClick(Sender: TObject);
var
  A1, B1, A2, B2 : Integer;

begin
  A1 := strtoint( Ed_X.Text);
  B1 := strtoint( Ed_Y.Text);
  A2 := strtoint( Ed_X2.Text);
  B2 := strtoint( Ed_Y2.Text);
  Canvas.Brush.Style := bsClear;
  Canvas.Ellipse( A1, B1, A2, B2);
end;

{------------------------------------------------------------------------------}

procedure TMain.Btn_RechteckClick(Sender: TObject);
var
  P1, Q1, P2, Q2 : Integer;

begin
  P1 := strtoint( Ed_X.Text);
  Q1 := strtoint( Ed_Y.Text);
  P2 := strtoint( Ed_X2.Text);
  Q2 := strtoint( Ed_Y2.Text);
  Canvas.Brush.Style := bsClear;
  Canvas.Rectangle( P1, Q1, P2, Q2);
end;

{------------------------------------------------------------------------------}

procedure TMain.Btn_ClearClick(Sender: TObject);
begin
  Refresh;
end;

{------------------------------------------------------------------------------}

procedure TMain.Btn_RecordClick(Sender: TObject);
begin
  //
end;

end.
Gruss Chris
Nur Nixen konnte nach China gehn!
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:59 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