Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Firemonkey iPad & iPhone in einer App (https://www.delphipraxis.net/170921-firemonkey-ipad-iphone-einer-app.html)

Mavarik 10. Okt 2012 11:18

Firemonkey iPad & iPhone in einer App
 
Hallo Zusammen...

Hab es jetzt endlich geschaft mir ein Mac-Book zu leihen und alles zu installieren um mal mit XE2 eine iOS App zu compilieren.

Wie kann ich erkennen ob ich auf einen iPad oder iPhone gestartet wurde?

Mavarik

Mavarik 11. Okt 2012 11:19

AW: Firemonkey iPad & iPhone in einer App
 
*PUSH* :oops:

user0815 11. Okt 2012 13:38

AW: Firemonkey iPad & iPhone in einer App
 
Xcode [[UIDevice currentDevice] localizedModel];

Soll das beste (deutsche) OS X Forum sein. Ist aber bei weitem nicht so 'nett' wie hier...

Mavarik 11. Okt 2012 21:59

AW: Firemonkey iPad & iPhone in einer App
 
Zitat:

Zitat von user0815 (Beitrag 1186658)
Xcode [[UIDevice currentDevice] localizedModel];

Soll das beste (deutsche) OS X Forum sein. Ist aber bei weitem nicht so 'nett' wie hier...

Danke... Aber in anbetracht der Tatsache, das Mobil-Studio kein XCode mehr braucht, wollte ich micht eigentlich damit nicht mehr beschäftigen...

Trotzdem Danke...

Mavarik

Darlo 12. Okt 2012 08:09

AW: Firemonkey iPad & iPhone in einer App
 
Hi,

ich mache das so:

Mainform mit Layout alClient.
Folgender Code wird im Resize des Layouts und im Create der Form ausgeführt:

Delphi-Quellcode:
procedure TfrmMain.FormResize(Sender: TObject);
begin
    if frmPhoneQuer = nil then exit;
    if frmPadHoch = nil then exit;
    if frmPadQuer = nil then exit;

    loadView(sender);

end;
Delphi-Quellcode:
function TfrmMain.loadView(Sender: TObject): boolean;
begin

  try
    if frmMain.Width+frmMain.Height > 1010 then
      begin
        mydevice := 'iPad';
        laHilfe.Visible := false;
        laInfo.Visible := false;
      end
    else
      mydevice := 'iPhone';

    if frmMain.layoutContent.Width > frmMain.layoutContent.Height then
      format := 'Querformat'
    else
      format := 'Hochformat';


    if myDevice = 'iPhone' then
      if format = 'Hochformat' then
        begin
          frmMain.layoutMain.Parent := frmMain.layoutContent;

          frmMain.layoutMain.Visible := true;
          frmPhoneQuer.layoutPhoneQuer.Visible := false;
          frmPadHoch.layoutPadHoch.Visible := false;
          frmPadQuer.layoutPadQuer.Visible := false;
          laHilfe.Visible := true;
          laInfo.Visible := true;
        end
      else
        begin
          frmPhoneQuer.layoutPhoneQuer.Parent := frmMain.layoutContent;
          laHilfe.Visible := false;
          laInfo.Visible := false;

          frmMain.layoutMain.Visible := false;
          frmPhoneQuer.layoutPhoneQuer.Visible := true;
          frmPadHoch.layoutPadHoch.Visible := false;
          frmPadQuer.layoutPadQuer.Visible := false;
        end;

    if myDevice = 'iPad' then
      if format = 'Hochformat' then
        begin
          frmPadHoch.layoutPadHoch.Parent := frmMain.layoutContent;

          frmMain.layoutMain.Visible := false;
          frmPhoneQuer.layoutPhoneQuer.Visible := false;
          frmPadHoch.layoutPadHoch.Visible := true;
          frmPadQuer.layoutPadQuer.Visible := false;

          frmPadHoch.swSwitch(frmPadHoch.swTarif);
          frmPadHoch.swSwitch(frmPadHoch.swKstPflicht);
          frmPadHoch.swSwitch(frmPadHoch.swKstSatz);
        end
      else
        begin
          frmPadQuer.layoutPadQuer.Parent := frmMain.layoutContent;

          frmMain.layoutMain.Visible := false;
          frmPhoneQuer.layoutPhoneQuer.Visible := false;
          frmPadHoch.layoutPadHoch.Visible := false;
          frmPadQuer.layoutPadQuer.Visible := true;

          frmPadQuer.swSwitch(frmPadQuer.swTarif);
          frmPadQuer.swSwitch(frmPadQuer.swKstPflicht);
          frmPadQuer.swSwitch(frmPadQuer.swKstSatz);
        end;

      frmMain.Height := TRUNC(frmMain.layoutHead.Height+
                        frmMain.layoutContent.Height+
                        frmMain.layoutBottom.Height);
      frmMain.Width := TRUNC(frmMain.layoutHead.Width);
      //Nur für PC
      frmMain.ClientHeight := TRUNC(frmMain.layoutHead.Height+
                        frmMain.layoutContent.Height+
                        frmMain.layoutBottom.Height);
      frmMain.ClientWidth := TRUNC(frmMain.layoutHead.Width);




      result := true;
  except
      result := false;
  end;
end;
Habe es noch nicht mit dem iPhone 5 getestet.

Gruß

Philip

greenmile 12. Okt 2012 16:58

AW: Firemonkey iPad & iPhone in einer App
 
Zitat:

Zitat von Mavarik (Beitrag 1186699)
... Aber in anbetracht der Tatsache, das Mobil-Studio kein XCode mehr braucht...

Habe ich was verpasst?

Hansa 12. Okt 2012 17:28

AW: Firemonkey iPad & iPhone in einer App
 
Jo, die Delphi-Tage. Da wurde das mehrfach gesagt.

greenmile 12. Okt 2012 18:15

AW: Firemonkey iPad & iPhone in einer App
 
Ahhhh, da war ich nicht. Also brauche ich kein XCode mehr? Na das wäre ja endlich mal was geiles!
Allerdings, moment, ohne XCode kommt mein Projekt doch nicht auf den Simulator bzw. auf's Gerät ...

mkinzler 13. Okt 2012 10:49

AW: Firemonkey iPad & iPhone in einer App
 
Die Ausführung im Simulator wurde vorgeführt. Wie EMBT hier technisch vorgeht wurde natürlich nicht gesagt.
DragonFire und OpenPlug ( lider eingestellt) können das ja uach.

Darlo 13. Okt 2012 13:23

AW: Firemonkey iPad & iPhone in einer App
 
Wann soll den die Beta starten? Ist die dann für jeden registrierten XE3 Inhaber zugänglich?


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:24 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz