Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Delphi XE7: Zoom von Android App -wie? (https://www.delphipraxis.net/182593-xe7-zoom-von-android-app-wie.html)

Kralle 3. Nov 2014 17:54

XE7: Zoom von Android App -wie?
 
Hallo,

ich habe den Gesturenmanger allen sichtbaren Objekten zugewiesen und dem Form selber auch.
Ich habe in allen Objekten "InteractiveGestures" auf Zoom=true, aber weder wird der zoom erkannt noch ausgeführt.
Die OnGesture-Ereignisse alle Objekte verweisen auf die Procedure.
Dort wird einfach nur eine Messagebox mit der erkannten Geste ausgegeben.
Erkannt werden nur "sigLeftRight" und "sigRightLeft".
Wie ist das eigentlich mit der Hierarchie der Gesten?
Wenn bei einem Formular und einem Objekt auf dem Formular die gleichen Gesten definiert sind, wer hat Vorrang? Wie kann man ein AppZoom umsetzen wenn immer irgendein anderes Objekt z.B. ein Layout den Fokus hat?

Gruß
Heiko

RWarnecke 5. Nov 2014 17:00

AW: XE7: Zoom von Android App -wie?
 
Meines Wissens unterstützen nicht alle Komponenten den Zoom. Aber EMBA hat doch ein Beispielprojekt bei Delphi dabei, wo der Zoom mit drin ist. Das ist glaube ich das Kamera-Projekt, womit ein Bild aufgenommen wird und dann in das Bild hineingezoomt werden kann.

Mavarik 5. Nov 2014 17:03

AW: XE7: Zoom von Android App -wie?
 
Zitat:

Zitat von RWarnecke (Beitrag 1278811)
Meines Wissens unterstützen nicht alle Komponenten den Zoom.

Ach... Welche den nicht? Würde gegen das Firemonkey Konzept sprechen...

Mavarik

RWarnecke 5. Nov 2014 19:20

AW: XE7: Zoom von Android App -wie?
 
Zitat:

Zitat von Mavarik (Beitrag 1278813)
Zitat:

Zitat von RWarnecke (Beitrag 1278811)
Meines Wissens unterstützen nicht alle Komponenten den Zoom.

Ach... Welche den nicht? Würde gegen das Firemonkey Konzept sprechen...

Mavarik

Kannst Du etwa über die Gestures den Text in einem Memo größer zoomen ? Gesehen habe ich das bis jetzt noch nicht.

Kralle 5. Nov 2014 20:58

AW: XE7: Zoom von Android App -wie?
 
Moin,
Ich will nicht nut den Inhalt eines Memo oder so vergrößern, sondern das ganze Formular. So als wenn ich im Android Browser eine Seite vergrössere.
Geht so was?
Bis jetzt habe ich noch nicht einmal einen Weg gefunden die Zoom-Geste eindeutig zu erkennen.

Gruß Heiko

Kralle 5. Nov 2014 21:00

AW: XE7: Zoom von Android App -wie?
 
Moin,

Zitat:

Zitat von RWarnecke (Beitrag 1278811)
Das ist glaube ich das Kamera-Projekt, womit ein Bild aufgenommen wird und dann in das Bild hineingezoomt werden kann.

Werde ich mir die Tage mal anschauen.
Gruß Heiko

RWarnecke 6. Nov 2014 04:46

AW: XE7: Zoom von Android App -wie?
 
Zitat:

Zitat von Kralle (Beitrag 1278846)
Ich will nicht nut den Inhalt eines Memo oder so vergrößern, sondern das ganze Formular.

Zu welchem Zweck, soll das ganze Formular vergrößert werden ? Ich sehe darin irgendwie keinen Sinn.

Kralle 6. Nov 2014 05:29

AW: XE7: Zoom von Android App -wie?
 
Moin,

Zitat:

Zitat von RWarnecke (Beitrag 1278857)
Zu welchem Zweck, soll das ganze Formular vergrößert werden ? Ich sehe darin irgendwie keinen Sinn.

das Formular enthält ein StringGrid und zwei Memos und ich möchte nicht das der Anwender jedes Objekt einzeln vergrößern muß, sondern einmal aller Vergrößert und dann dadrin srollen kann.
Wenn so was nicht geht, werde ich wohl versuchen müssen jedes Objekt einzeln sinnvoll zu vergrößern.

Gruß heiko

Daniel 6. Nov 2014 05:50

AW: XE7: Zoom von Android App -wie?
 
Mit einem TScaledLayout kannst Du derlei realisieren. Alles, was in so einer Layout-Komponente liegt, wird dann wunschgemäß skaliiert. Das sollte sich dann auch mit Gesten verbinden lassen.

Mavarik 6. Nov 2014 09:41

AW: XE7: Zoom von Android App -wie?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von RWarnecke (Beitrag 1278834)
Kannst Du etwa über die Gestures den Text in einem Memo größer zoomen ? Gesehen habe ich das bis jetzt noch nicht.

Na dann schau es Dir mal an!

Mavarik 6. Nov 2014 09:45

AW: XE7: Zoom von Android App -wie?
 
Zitat:

Zitat von Kralle (Beitrag 1278860)
Wenn so was nicht geht, werde ich wohl versuchen müssen jedes Objekt einzeln sinnvoll zu vergrößern.
Gruß heiko

Quark sind nur wenigen Zeilen...

Delphi-Quellcode:
procedure TPapier.OnPapierGesture(Sender: TObject;const EventInfo: TGestureEventInfo; var Handled: Boolean);
var
  LScale,
  Direction : Single;
begin
  if EventInfo.GestureID = igiZoom then
    begin
      if not(TInteractiveGestureFlag.gfBegin in EventInfo.Flags) and not(TInteractiveGestureFlag.gfEnd in EventInfo.Flags) then
        begin
          Direction := EventInfo.Distance/FLastDIstance;
          LScale := ZoomPanel.Scale.X * Direction;
          if LScale < 1 then
            LScale := 1;

          ZoomPanel.Scale.X := LScale;
          ZoomPanel.Scale.Y := LScale;

          ZoomPanel.Width := ZoomWidth * LScale;
          ZoomPanel.Height := ZoomHeight * LScale;
        end;
      FLastDIstance := EventInfo.Distance;
    end;
end;
Grüsse Mavarik

Kralle 6. Nov 2014 19:56

AW: XE7: Zoom von Android App -wie?
 
Hallo Mavarik,

Zitat:

Zitat von Mavarik (Beitrag 1278883)
Quark sind nur wenigen Zeilen...

Mit Deinem Code Zooms Du doch auch nur ein Panel - oder habe ich Deinen Code falsch verstanden.
Das heißt, ich müsste Deinen Code für jedes Objekt anwenden.

Gruß HEiko

Daniel 6. Nov 2014 20:23

AW: XE7: Zoom von Android App -wie?
 
Er zoomt ein TStretchPanel, welches dann seinerseits alle in ihm enthaltenen Controls zoomt.

Kralle 6. Nov 2014 23:29

AW: XE7: Zoom von Android App -wie?
 
Moin,
Zitat:

Zitat von Daniel (Beitrag 1278990)
Er zoomt ein TStretchPanel, welches dann seinerseits alle in ihm enthaltenen Controls zoomt.

das ist aber nicht von embarcadero - oder?
Im docwiki habe ich es nicht gefunden.

gruß heiko

Daniel 7. Nov 2014 06:55

AW: XE7: Zoom von Android App -wie?
 
Liste der Anhänge anzeigen (Anzahl: 1)
TStretchPanel? :shock: Das ist doch falsch! Wer hat denn das ... ups .. ich? :oops:
Sorry, ich habe mich vertan.

Es ist natürlich ein TScaledLayout. (Das gibt's tatsächlich.)

Zoomen könntest Du z.B. wie folgt:
Delphi-Quellcode:
  ScaledLayout1.Scale.X := 2;
  ScaledLayout1.Scale.Y := 2;
Das sieht dann in etwa so aus:
Anhang 42113

Mavarik 7. Nov 2014 10:00

AW: XE7: Zoom von Android App -wie?
 
Zitat:

Zitat von Daniel (Beitrag 1279003)
TStretchPanel? :shock: Das ist doch falsch! Wer hat denn das ... ups .. ich? :oops:
Sorry, ich habe mich vertan.

Es ist natürlich ein TScaledLayout. (Das gibt's tatsächlich.)

Welches objekt Du nimmst ist in FM total egal... nen Panel nen Edit whatever.

Alle Childs des Elements übernehmen den Scale...

Mavarik

Darlo 7. Nov 2014 11:19

AW: XE7: Zoom von Android App -wie?
 
Das TScaledLayout macht das ganze nur automatisch. Soll heißen, wenn das Align des TScaledLayout auf Client gesetzt ist, und der Parent (am sinnigsten das Form) vergrößert oder verkleinert wird, werden auch alle Children des TScaledLayout entsprechend verändert. Wichtig ist hier, dass man für die Proportionalität selber sorgen muss, zumindest wenn diese gewünscht ist.

Gruß

Mavarik 7. Nov 2014 11:23

AW: XE7: Zoom von Android App -wie?
 
Zitat:

Zitat von Darlo (Beitrag 1279034)
Das TScaledLayout macht das ganze nur automatisch. Soll heißen, wenn das Align des TScaledLayout auf Client gesetzt ist, und der Parent (am sinnigsten das Form) vergrößert oder verkleinert wird, werden auch alle Children des TScaledLayout entsprechend verändert. Wichtig ist hier, dass man für die Proportionalität selber sorgen muss, zumindest wenn diese gewünscht ist.

Gruß

Da hast Du recht. Auf Windows macht das vielleicht Sinn, aber nicht auf "dem" Device.
Hier wirst Du im seltensten Fall die Anwendung vergrößern. :stupid:

mkinzler 7. Nov 2014 11:26

AW: XE7: Zoom von Android App -wie?
 
Auf einem Handy vielleicht nicht, aber bei einem Tablett könnte das bald möglich sein. Zudem gibt es auch PCs mit Android

Darlo 7. Nov 2014 11:29

AW: XE7: Zoom von Android App -wie?
 
TScaledLayout habe ich mal für iPhone/iPad (1 Form Anwendung) versucht zu "missbrauchen". Seit dem mache ich lieber 2 verschiedene Formulare ;-)

Mavarik 7. Nov 2014 12:36

AW: XE7: Zoom von Android App -wie?
 
Zitat:

Zitat von mkinzler (Beitrag 1279036)
Auf einem Handy vielleicht nicht, aber bei einem Tablett könnte das bald möglich sein. Zudem gibt es auch PCs mit Android

Jo.. dann so:

Delphi-Quellcode:
procedure TMainForm.FormResize(Sender: TObject);
var
  X,Y : Single;
begin
  X := ScaledLayout1.OriginalWidth;
  Y := ScaledLayout1.OriginalHeight;
  if (Self.ClientWidth / ScaledLayout1.OriginalWidth) <
     (Self.ClientHeight / ScaledLayout1.OriginalHeight)
    then begin
           ScaledLayout1.Width := Self.ClientWidth;
           ScaledLayout1.Height := (Self.ClientWidth * ScaledLayout1.OriginalHeight) / ScaledLayout1.OriginalWidth;
           Scaledlayout1.Position.X := 0;
           Scaledlayout1.Position.Y := (Self.ClientHeight - ScaledLayout1.Height) / 2;
         end
    else begin
           ScaledLayout1.Height := Self.ClientHeight;
           ScaledLayout1.Width := (Self.ClientHeight * ScaledLayout1.OriginalWidth) / ScaledLayout1.OriginalHeight;
           Scaledlayout1.Position.Y := 0;
           Scaledlayout1.Position.X := (Self.ClientWidth - ScaledLayout1.Width) / 2;
         end;
end;
Mavarik

Kralle 7. Nov 2014 15:31

AW: XE7: Zoom von Android App -wie?
 
Moin,

also ich glaube ich bin einfach zu blöd dafür.
ich nimm ein neues Projekt für eine Mobil-Anwendung, packe dort ein ScaledLayout und in diese Ein Label und den Gestenmanager. Dann stelle ich beim Form das zoom auf aktiv und es passiert auf dem Android-gerät nichts.

Irgendwas fehlt an Informationen ...

Gruß HEiko

Mavarik 7. Nov 2014 18:55

AW: XE7: Zoom von Android App -wie?
 
Zitat:

Zitat von Kralle (Beitrag 1279077)
ich nimm ein neues Projekt für eine Mobil-Anwendung, packe dort ein ScaledLayout und in diese Ein Label und den Gestenmanager. Dann stelle ich beim Form das zoom auf aktiv und es passiert auf dem Android-gerät nichts.

Irgendwas fehlt an Informationen ...

Gruß HEiko

Ja - Du hast mein Posting nicht gelesen!

Vergiss das ScaledLayout... oder kannst Du das Fenster auf Deinem Handy mit der Maus groß ziehen?

Kralle 7. Nov 2014 19:27

AW: XE7: Zoom von Android App -wie?
 
Moin,

Zitat:

Zitat von Mavarik (Beitrag 1279111)

Ja - Du hast mein Posting nicht gelesen!

Doch, aber erkläre mir wo
Delphi-Quellcode:
FLastDIstance
,
Delphi-Quellcode:
ZoomWidth
und
Delphi-Quellcode:
ZoomHeight
herkommen?

Gruß Heiko

Sir Rufo 7. Nov 2014 21:20

AW: XE7: Zoom von Android App -wie?
 
Warum schaust du dir zu diesem Thema nicht einfach mal die Demo von Emba an? Dafür sind die doch da (oder wofür sonst)? :gruebel:

Und den GestureManager brauchst du nicht, aber du musst schon dem Delphi-Referenz durchsuchenFMX.Types.TTouchManager z.B. der Form Delphi-Referenz durchsuchenFMX.Forms.TCommonCustomForm.Touch sagen, auf welche Gesten du reagieren möchtest :)

Kralle 8. Nov 2014 06:45

AW: XE7: Zoom von Android App -wie?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Guten Morgen,

Zitat:

Zitat von Sir Rufo (Beitrag 1279122)
Warum schaust du dir zu diesem Thema nicht einfach mal die Demo von Emba an? Dafür sind die doch da (oder wofür sonst)? :gruebel:

Weil die Demo keine Android-Demo ist. Weil es z.B. den OpenDialog nicht unter Android gibt.

Wen das alles so einfach ist, dann bräuchte ich doch nur wie angehängten Beispiel vorgehen.
Leeres Form für Mobile Anwendungen, Eigenschaften für Interaktive Gesten aktivieren und alles fein, aber es läuft nicht.
Auch wenn ich aus dem Wiki die Muster-Procedure für das Anzeigen der genutzten Geste einbinde, bekomme ich trotzdem kein verlässliche Information welche Geste genutzt wurde.
Entweder bin ich wirklich zu blöd oder es ist wieder mal in den Tiefen der Delphi Einstellungen etwas zu aktivieren das bei mir nicht aktiviert ist.
Weder auf meinem Trekstor-Tablet noch auf meinem Samsung Galaxy S5 mini bekomme ich eine Gesten-App funktionsfähig zum Laufen.

Gruß Heiko

Sir Rufo 8. Nov 2014 08:15

AW: XE7: Zoom von Android App -wie?
 
Oh, Ja, Mist - nicht für Android weil kein OpenDingsbums, dann schnell wieder weg und bloß nicht weiter anschauen :wall:

Ich dachte es geht dir um die Gesten? Warum schaust du dir nicht an dem Beispielprojekt an, wie das mit den Gesten gemacht werden muss? Das Drumherum kann dir doch egal sein. Wenn die mit einem OpenDialog Bilder öffnen und es das auf der Zielplattform nicht gibt, dann schmeiß den Rotz einfach weg. Ist doch nur Zuckerguß, denn mit den Gesten hat das nichts zu tun.

Zu deinem Testprogramm:

Ja, wo hast du denn der Anwendung gesagt wie auf die Gesten reagiert werden soll? Du hast zwar eingestellt, dass auf (und welche) Gesten reagiert werden soll, aber wie denn bitteschön? Ohne
Delphi-Quellcode:
OnGesture
Event wird das nichts.

Zu dem Beispielcode von Mavarik:
  • Den Ort und die Art der Deklaration von
    Delphi-Quellcode:
    FLastDistance
    hättest du sehr einfach herausfinden können, wenn du dich mit dem von mir genannten Beispiel auseinandergesetzt hättest.
  • Delphi-Quellcode:
    ZoomWidth
    und
    Delphi-Quellcode:
    ZoomHeigth
    ergeben sich aus dem Kontext heraus:
    Delphi-Quellcode:
    ZoomPanel.Width := ZoomWidth * LScale;
    ZoomPanel.Height := ZoomHeight * LScale;
    Da wird also bei so einem ominösen
    Delphi-Quellcode:
    ZoomPanel
    die Breite und Höhe gesetzt und errechnet wird das über einen Skalierungsfaktor
    Delphi-Quellcode:
    LScale
    .
    Jetzt kommt Mathematik:
    Wenn also die Skalierung auf 1 ist (und kleiner wird die nie)
    Delphi-Quellcode:
    if LScale < 1 then LScale := 1;
    , dann nimmt diese ominöse
    Delphi-Quellcode:
    ZoomPanel
    die Werte aus
    Delphi-Quellcode:
    ZoomWidth
    und
    Delphi-Quellcode:
    ZoomHeigth
    . Ich schlussfolgere nun mal, da die Werte für das (immer noch ominöse)
    Delphi-Quellcode:
    ZoomPanel
    überschrieben werden (s.o.), befinden sich in
    Delphi-Quellcode:
    ZoomWidth
    und
    Delphi-Quellcode:
    ZoomHeight
    die originalen Werte für
    Delphi-Quellcode:
    ZoomPanel
    .
    Und weiter vermute ich anhand des Namensgebung, dass wir es hier mit jeweils einer
    Delphi-Quellcode:
    property
    zu tun haben (genau wie
    Delphi-Quellcode:
    ZoomPanel
    ).
Aber bevor du gleich einen Heulkrampf bekommst, hier ein abgespecktes Codebeispiel
Delphi-Quellcode:
unit Form.Main;

interface

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

type
  TMainForm = class( TForm )
    ZoomPanel: TPanel;
    Label1: TLabel;
    procedure FormGesture( Sender: TObject; const EventInfo: TGestureEventInfo; var Handled: Boolean );
  private
    FLastDistance: Integer;
    FZoomWidth, FZoomHeight: Single;
  public
    procedure AfterConstruction; override;

  end;

var
  MainForm: TMainForm;

implementation

{$R *.fmx}

procedure TMainForm.AfterConstruction;
begin
  inherited;

  Label1.Text := 'Ich kann größer werden';

  // ZoomPanel-Werte sichern

  FZoomWidth := ZoomPanel.Width;
  FZoomHeight := ZoomPanel.Height;

  // Gesten-Behandlung

  Self.OnGesture := FormGesture;
  Self.Touch.InteractiveGestures := [TInteractiveGesture.Zoom];
end;

procedure TMainForm.FormGesture( Sender: TObject; const EventInfo: TGestureEventInfo; var Handled: Boolean );
var
  LScale, Direction: Single;
begin
  if EventInfo.GestureID = igiZoom
  then
    begin
      if not( TInteractiveGestureFlag.gfBegin in EventInfo.Flags ) and not( TInteractiveGestureFlag.gfEnd in EventInfo.Flags )
      then
        begin
          Direction := EventInfo.Distance / FLastDistance;
          LScale := ZoomPanel.Scale.X * Direction;
          if LScale < 1
          then
            LScale := 1;

          ZoomPanel.Scale.X := LScale;
          ZoomPanel.Scale.Y := LScale;

          ZoomPanel.Width := FZoomWidth * LScale;
          ZoomPanel.Height := FZoomHeight * LScale;
        end;
      FLastDistance := EventInfo.Distance;
    end;
end;

end.

Kralle 8. Nov 2014 09:00

AW: XE7: Zoom von Android App -wie?
 
Guten Morgen,

QUOTE=Sir Rufo;1279139]Oh, Ja, Mist - nicht für Android weil kein OpenDingsbums, dann schnell wieder weg und bloß nicht weiter anschauen :wall:
[/QUOTE]

Ich habe es mir angeschaut und ich habe den Code sogar von der Windows-App in eine Android-App übertragen. Das Projekt ging dann auch auf aber bei der Zoom-Geste passierte im Gegensatz zu Deinem letzten Beispiel nichts.

Zitat:

Ich dachte es geht dir um die Gesten?
Ja.

Zitat:

Warum schaust du dir nicht an dem Beispielprojekt an, wie das mit den Gesten gemacht werden muss?
Wie bei allen anderen Beispielen die im Laufe dieses Threads kamen habe ich es bei diesem Beispiel gemacht, aber es funktionierte nicht.

Zitat:

Das Drumherum kann dir doch egal sein. Wenn die mit einem OpenDialog Bilder öffnen und es das auf der Zielplattform nicht gibt, dann schmeiß den Rotz einfach weg. Ist doch nur Zuckerguß, denn mit den Gesten hat das nichts zu tun.
Schon klar.

Zitat:

Ja, wo hast du denn der Anwendung gesagt wie auf die Gesten reagiert werden soll?
Gar nicht, da sich die letzen Kommentare so anhörten als wenn ich das eigentlich gar nicht brauche.

Zitat:

Du hast zwar eingestellt, dass auf (und welche) Gesten reagiert werden soll, aber wie denn bitteschön? Ohne
Delphi-Quellcode:
OnGesture
Event wird das nichts.
Da ich bei den anderen Bespielen auch mit den "OnGesture"-Events keine Erfolg hatte, habe ich das offen gelassen.


Zu dem Beispielcode von Mavarik:

Zitat:

Den Ort und die Art der Deklaration von
Delphi-Quellcode:
FLastDistance
hättest du sehr einfach herausfinden können, wenn du dich mit dem von mir genannten Beispiel auseinandergesetzt hättest.
Aber die Deklaration fehlt.

Zitat:

Delphi-Quellcode:
ZoomWidth
und
Delphi-Quellcode:
ZoomHeigth
ergeben sich aus dem Kontext heraus:
Delphi-Quellcode:
ZoomPanel.Width := ZoomWidth * LScale;
ZoomPanel.Height := ZoomHeight * LScale;

Auch bei den beiden fehlt die Deklaration.


Zitat:

Aber bevor du gleich einen Heulkrampf bekommst, hier ein abgespecktes Codebeispiel
Das funktioniert. Jetzt muß ich nur noch das verschieben des vergrößerten Inhaltes in 4 Richtungen einbetten.
(Was Delphi ja auch nicht automatisch macht).

MfG
Heiko

Sir Rufo 8. Nov 2014 09:38

AW: XE7: Zoom von Android App -wie?
 
Zitat:

Zitat von Kralle (Beitrag 1279146)
Zu dem Beispielcode von Mavarik:

Zitat:

Den Ort und die Art der Deklaration von
Delphi-Quellcode:
FLastDistance
hättest du sehr einfach herausfinden können, wenn du dich mit dem von mir genannten Beispiel auseinandergesetzt hättest.
Aber die Deklaration fehlt.

Darum solltest du dir doch auch das Beispiel von Emba anschauen. Da steht das!
  • Klick Mich
  • Klick auf: Unit1.pas
  • Augen auf: Zeile 22, 126-129, 133 (wo mag der Mavarik sich wohl seine Anregung geholt haben :gruebel:)
Zitat:

Zitat von Kralle (Beitrag 1279146)
Zitat:

Delphi-Quellcode:
ZoomWidth
und
Delphi-Quellcode:
ZoomHeigth
ergeben sich aus dem Kontext heraus:
Delphi-Quellcode:
ZoomPanel.Width := ZoomWidth * LScale;
ZoomPanel.Height := ZoomHeight * LScale;

Auch bei den beiden fehlt die Deklaration.

Ja und, brauchst du immer alles vorgekaut? Das die vom Typ
Delphi-Quellcode:
Single
sein müssen, sollte klar sein und in dem Beispiel-Code von mir (der ja funtkioniert) habe ich die einfach ganz lapidar als Felder
Delphi-Quellcode:
FZoomHeight, FZoomWidth : Single
eingeführt und auch so benutzt. Mir doch egal wie und wo der Mavarik (nix für ungut) die da deklariert hat. Ich brauche das was, als mache ich da was. Punkt. Was dort für Werte rein müssen, habe ich ja schon erklärt.

Ein bisserl Mitdenken sollte man doch verlangen können :roll:

Und das Delphi da nix von selber macht - das ist gut so, denn dann kann man auch aus der Zoom-Geste ein Rotieren machen. So wie es einem beliebt. Ob das sinnvoll ist, steht auf einem anderen Blatt, aber ich habe die Freiheit das so umzusetzen wie ich möchte und muss nicht umständlich irgendeinen Automatismus den ich nicht will wieder korrigieren, nur um das zu machen was ich will.

Ach ja, Delphi ist zum programmieren -> aktiv Code schreiben gedacht :)

Kralle 8. Nov 2014 10:19

AW: XE7: Zoom von Android App -wie?
 
Moin,

Zitat:

Zitat von Sir Rufo (Beitrag 1279149)
Ja und, brauchst du immer alles vorgekaut?

Nein, aber wenn ich ein Beispiel bekomme wie etwas funktionieren soll und ich es nicht mal compilieren kann, dann entsteht leicht Frust.

Zitat:

Das die vom Typ
Delphi-Quellcode:
Single
sein müssen, sollte klar sein
So habe ich sie dann deklariert. Da das compilierbare Programm dann trotzdem nicht das machte was man erwartet hat, dachte ich mir das die Variablen vielleicht irgendwo Global definiert werden oder mir vielleicht eine nicht angegebene Procedure fehlt die die Werte liefert.

Zitat:

Ein bisserl Mitdenken sollte man doch verlangen können :roll:
Wir hatten in einer Umschulung mal einen Lehrer der direkt aus der Uni kam und seinen Unterricht so durchgeführt hat, als ob vor Ihm Studenten mit dem gleichen Wissensstand sitzen und nicht Bäcker, Tischler und Verkäuferinnen.

Zitat:

Und das Delphi da nix von selber macht - das ist gut so, denn dann kann man auch aus der Zoom-Geste ein Rotieren machen. So wie es einem beliebt. Ob das sinnvoll ist, steht auf einem anderen Blatt, aber ich habe die Freiheit das so umzusetzen wie ich möchte und muss nicht umständlich irgendeinen Automatismus den ich nicht will wieder korrigieren, nur um das zu machen was ich will.
Aber, ein Verkaufsargument ist doch das Du eigentlich ganz einfach Anwendungen mit einer Codebasis für alle Unterstützten System erstellen kannst.
Aber im Endeffekt muss Du nicht nur auf den Zielsystemen vorhandene Standards selber programmieren, sondern auch noch für die unterschiedlichen Systeme unterschiedliche Lösungen bereit stellen z.B. der
Delphi-Quellcode:
OpenDialog
.
Auch kannst Du nicht einfach im Masterlayout alles so platzieren wie Du es brauchst und es passt auf allen System, sondern Du musst z.B. für Android die Komponenten dann wieder anders anordnen.

Zitat:

Ach ja, Delphi ist zum programmieren -> aktiv Code schreiben gedacht :)
Aber, über jedes Stück Code das man nicht selber schreiben muss (aber überschreiben kann) ist man doch eigentlich froh.
Wenn ich eine Komponente auf ein Form platziere, dann wird alles dafür nötig von Delphi automatisch ins Programm geschrieben.
Warum nicht auch die Rudimentären Gestenbehandlungen wenn man eine Geste im Objektinspektor aktiviert?

Danke. Für Deine Hilfe.

MfG
Heiko

Sir Rufo 8. Nov 2014 10:23

AW: XE7: Zoom von Android App -wie?
 
Zu deinem Lehrer-Beispiel:

Ich (bis dato noch nix mit Gesten gemacht) bin genau so vorgegangen wie beschrieben um den Schnipsel von Mavarik in ein komplettes Beispiel umzusetzen.

Darum passt mir der Schuh leider nicht (hab eh schon genug) ;)

Mavarik 8. Nov 2014 10:28

AW: XE7: Zoom von Android App -wie?
 
Zitat:

Zitat von Kralle (Beitrag 1279146)
Aber die Deklaration fehlt.

hmm. lass mich nachdenken... Ich bekommen eine fertige Routine, die genau das machen soll, was ich brauche...

Der böse böse Sourcecode-Geber hab aber nicht seine ganze Unit gepostet, sondern "nur" das wichtige...

Der komischen variablen wird immer wieder ein Single zugewiesen...

Könnte man nicht darauf kommen diese Variable mit VAR zu deklarieren? :wall:

Wir helfen hier alle gerne, aber Auftragsprogrammierung kostet ab 75,- € netto + MwSt.

Mavarik

PS: Außer Sir Rufo, der wird von Daniel bezahlt... :-D

Kralle 8. Nov 2014 10:38

AW: XE7: Zoom von Android App -wie?
 
Hallo Sir Rufo,

Zitat:

Zitat von Sir Rufo (Beitrag 1279154)
Ich (bis dato noch nix mit Gesten gemacht) bin genau so vorgegangen wie beschrieben um den Schnipsel von Mavarik in ein komplettes Beispiel umzusetzen.

Ja, dann kannst Du Dir vielleicht aber auch meinen Frust vorstellen, wenn ich Beispiele bekomme und Links zu Beispielen, diese bei mir ausprobiere und es läuft nicht.
Hinzu kommt, das ich nicht in meinem Computerraum sitze sondern im Wohnzimmer. Da merkt man ständig die "bösen Blicke" der Frau weil man schon wieder an dem Computer hängt und die Kinder interessiert es nicht ob man einen Text liest und zu verstehen versucht.
Aber, wenigstens hast Du ein wenig wissen in meinen Kopf stopfen können :-D

Jetzt werde ich noch den Gesturen-Manager einbinden und die vier Richtungsgesten und mir das ganze dann als Vorlage speichern.
Danach muss dann noch die Sache mit dem Scrollen bei Eingabefelder (die funktioniert) mit rein und irgendwann habe ich eine Vorlage für Android mit der ich was anfangen kann.

Sag mal, gab es nicht in XE6 diesen Style-Designer mit dem man "schnell" mal ein anderes Design erreichen konnte? Oder täuscht mich meine Erinnerung?

Gruß Heiko

Kralle 8. Nov 2014 10:43

AW: XE7: Zoom von Android App -wie?
 
Hallo Mavarik,

Zitat:

Zitat von Mavarik (Beitrag 1279155)
Zitat:

Zitat von Kralle (Beitrag 1279146)
Aber die Deklaration fehlt.

hmm. lass mich nachdenken... Ich bekommen eine fertige Routine, die genau das machen soll, was ich brauche...

Der böse böse Sourcecode-Geber hab aber nicht seine ganze Unit gepostet, sondern "nur" das wichtige...

Der komischen variablen wird immer wieder ein Single zugewiesen...

Könnte man nicht darauf kommen diese Variable mit VAR zu deklarieren? :wall:

Ich habe Sie entsprechend deklariert. Da die Deklaration aber nicht in der Procedure war, dachte ich halt das die Variablen irgendwo außerhalb global deklariert und mit Inhalt gefüllt werden. Und da der Code nicht das Ergebnis brachte das ich erwartet hatte, sah ich mich in meinem Verdacht bestätigt.
Ich mache Dir ja keine Vorwürfe, war nur enttäusch das ich es nicht zum Laufen bekomme obwohl es ja bei Dir wohl lief.

Gruß Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:38 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-2025 by Thomas Breitkreuz