Delphi-PRAXiS
Seite 8 von 12   « Erste     678 910     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Grafik Programmierung (https://www.delphipraxis.net/198304-grafik-programmierung.html)

mkinzler 26. Okt 2018 13:59

AW: Grafik Programmierung
 
Die CE ist eine vollständige Pro Version. FMX sollte auch ohne iOS, macOS und Android mitinstalliert werden.

Contace 26. Okt 2018 19:29

AW: Grafik Programmierung
 
Hallo Harry Stahl,

habe alles installiert, funktioniert super Danke für den tollen Support :thumb:

Der Kreis hat 24 felder in der die Zahlen stehen.
Hast Du das bewusst angelegt oder hat sich das so ergeben ?


Markus: Nein es haben einige sachen noch gefehlt, durch die komplette installation hab ich jetzt denke alles.


Grüße

Harry Stahl 26. Okt 2018 22:28

AW: Grafik Programmierung
 
Zitat:

Zitat von Contace (Beitrag 1416834)

Der Kreis hat 24 felder in der die Zahlen stehen.
Hast Du das bewusst angelegt oder hat sich das so ergeben ?
Grüße

Ja klar, ich habe ich an Deinem Screenshot orientiert.

Wenn Du mehr Abschnitte / Zahlen im Kreis unterbringen willst (oder weniger), musst Du die Werte für Rotationange bzw. den Endwert der For -Schleife ändern.

Aktuell wird die Funktion 24 mal aufgerufen, bei einer Erhöhung des Rotationangles um 15 Grad, so dass am Ende 360 Grad rauskommen, also eine Kreisumrundung.

Contace 27. Okt 2018 17:55

AW: Grafik Programmierung
 
Hallo,

super vielen Dank für den Support.


Ich habe zum teil schon den code verstanden, hab auch vieles getestet und so daraus gelernt.

Auch habe ich wie Du gesagt hast mich mal mehr mit dem Visual/Designer beschäftigt.

Habe einen Quader auf den Kreis gelegt, transparent gemacht, alles super, rotation geändert.

Jetzt wollte ich anfangen und diese Einstellung die ich ausprobiert habe in einer Codeform schreiben.

Ich wollte programmieren wie sich der Quader um seine Axe dreht. Ich habe dein Code mit 15 grad übernommen.

Jedoch gibt mir der Compiler fehler an, die prozedur oder die funktion stimmt nicht.

Ich finde dazu auch nichts zum nachschlagen. Ich wollte dort weiter machen aber ich hänge fest.

Mir is bewusst das das alles mit lernen zusammenhängt, aber ich finde keine Informationen um dort weiter zu machen.

Würde mir gerne mehr Informationen dazu anschauen und daraus lernen.


Grüße

Luckie 27. Okt 2018 19:17

AW: Grafik Programmierung
 
Zitat:

Jedoch gibt mir der Compiler fehler an, die prozedur oder die funktion stimmt nicht.
Ohne Quellcode wird dir hier niemand helfen können.

Contace 27. Okt 2018 20:12

AW: Grafik Programmierung
 
Sorry den hatte ich ganz vergessen.

Ich habe ein Quadrat im VisualDesigner erstellt und wollte es per code drehen.

Hier der Code:

Delphi-Quellcode:
unit FMain;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  System.DateUtils,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Objects,
  FMX.Layouts, FMX.Controls.Presentation, FMX.StdCtrls;

type
  TFormCircles = class(TForm)
    CircleTemplate: TCircle;
    LayoutZiffer: TLayout;
    Text1: TText;
    Layout1: TLayout;
    CircleInner: TCircle;
    Rectangle1: TRectangle;
    procedure FormCreate(Sender: TObject);
    procedure LayoutZifferClick(Sender: TObject);
    procedure Rectangle1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  FormCircles: TFormCircles;

implementation

{$R *.fmx}

procedure TFormCircles.FormCreate(Sender: TObject);
const
  Gap = 50;
var
  C, X: Integer; LA : TLayout; T: TText;
  aw: extended; NewCircle, PrevCircle: TCircle;

  procedure CreateCircleNumbers (StartNr: Integer; Circle: TCircle);
  var
    L: integer;
  begin
     for L := StartNr to 23 do begin
    // Eine Kopie des Layouts incl. Kindobjekte erstellen
      LA := TLayOut (circleTemplate.FindStyleResource('number', true));
      if LA <> NIL then begin
        LA.Parent := circle;
        LA.height := Circle.Height;
        LA.RotationAngle := L * 15;

        // Nur ein Child vorhanden, ist die TText-Komponente
        T := TText (LA.Children[0]);
        if T <> NIL then begin
          inc (c);
          T.Text := (c).ToString;
        end;
      end;
     end;
  end;

begin
  c := 1; aw := CircleTemplate.width;

  // create first inner circle
  CreateCircleNumbers (1, CircleTemplate);
  PrevCircle := CircleTemplate;

  // create next outer circles
  for X := 1 to 9 do begin
    NewCircle := TCircle (Layout1.FindStyleResource('circletemplate', true));
    NewCircle.parent := LayOut1;
    NewCircle.SendToBack;

    aw := aw + Gap;
    NewCircle.Width := aw;
    NewCircle.Height := aw;

    CreateCircleNumbers (0, NewCircle);
    PrevCircle := NewCircle;
  end;

  //Layout1.RotationAngle := -90;
end;

procedure TFormCircles.LayoutZifferClick(Sender: TObject);
begin

end;

procedure TFormCircles.Rectangle1Click(Sender: TObject);
begin

RotationAngle := L * 15;

end;

end.

Luckie 27. Okt 2018 20:53

AW: Grafik Programmierung
 
Und an welcher Stelle kommt jetzt welche Fehlermeldung? :roll:

Contace 27. Okt 2018 21:08

AW: Grafik Programmierung
 
Bei der Stelle ist der code falsch.

Ich wollte den Quader um seine Axe drehen.

Delphi-Quellcode:
RotationAngle := L * 15;

EWeiss 27. Okt 2018 21:12

AW: Grafik Programmierung
 
Zitat:

Zitat von Contace (Beitrag 1416922)
Bei der Stelle ist der code falsch.

Ich wollte den Quader um seine Axe drehen.

Delphi-Quellcode:
RotationAngle := L * 15;

Ja nu schau doch einfach mal welchen wert L nun hat.
Ich denke keinen denn L ist nicht definiert.

gruss

Luckie 27. Okt 2018 21:34

AW: Grafik Programmierung
 
L hat keinen Wert, weil es erst gar nicht kompiliert, da L nicht deklariert ist. Und ich bin mir ziemlich sicher, es gibt eine aussagekräftige Fehlermeldung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:57 Uhr.
Seite 8 von 12   « Erste     678 910     Letzte »    

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-2025 by Thomas Breitkreuz