Via Button eine neue FrameForm aufrufen

Für Fragen von Einsteigern und Programmieranfängern...
Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Via Button eine neue FrameForm aufrufen

Beitrag von Bauer321 »

Hi

ich habe 2 Frame Formen. Außerdem habe ich Form1. In der Form 1 befindet sich ein Frame und ich möchte durch das klicken eines Buttons statt die erste FrameFOrm die 2te Frameform im Frame sehen

Hier noch einmal ein Bild ich hoffe ihr versteht was ich meine
Bild


Danke schon mal für die antwort ;)
Zuletzt geändert von Bauer321 am Fr 10. Sep 2010, 20:36, insgesamt 1-mal geändert.
www.mcpatcher.net | www.hoeper.me

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: Via Button eine neue FrameForm aufrufen

Beitrag von Teekeks »

Ein AUszug aus den AGB's von S&F nur für dich:
§ 5 Fehler ausnutzen & Scripting / Cheating

Maßnahmen, die übermäßigen Datentransfer auf dem Server verursachen (zum Beispiel Auto-Refresh) oder die dazu geeignet sind, den Spielablauf zu beeinträchtigen, sind zu unterlassen. Nicht gestattet sind insbesondere automatische oder halbautomatische Skripte, die Abfragen auf die Datenbank ausführen oder Spielmechanismen in Gang setzen. Bei einem Verstoß wird der entsprechende Account ohne Vorwarnung gelöscht oder gesperrt. Ersatzforderungen in Höhe des verursachten Schadens und des daraus resultierenden Verwaltungsaufwandes behält sich der Betreiber vor. Jeder Spieler ist dazu verpflichtet, von ihm erkannte Programmfehler (Bugs) unverzüglich an den Betreiber zu melden (siehe Impressum). Wer Programmfehler ausnutzt, um sich oder anderen dadurch einen Vorteil zu verschaffen, muss mit der Sperrung seines Accounts rechnen. Das absichtliche Auslösen eines Programmfehlers ist nur gestattet, wenn der betroffenen Spieler von einem Supportmitarbeiter dazu aufgefordert wird.

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Via Button eine neue FrameForm aufrufen

Beitrag von Bauer321 »

ist alles offline ohne jegliche verbindung lediglich das design ist "kopiert" wenn du mir nicht glauben willst lad ich dir den ansatz gerne hoch.

da gehts kein bisschen um chating lediglich um die berechnung des "besten Quest und evtl später auch noch mehr aber auf keinen fall um das automatische abrufen oder ähnliches.
aso ja und die regel kenn ich
www.mcpatcher.net | www.hoeper.me

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: Via Button eine neue FrameForm aufrufen

Beitrag von Teekeks »

Achso, also willst du S&F als Offline-Version raus bringen? Oder wie?

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Via Button eine neue FrameForm aufrufen

Beitrag von Bauer321 »

nein nur ein tool mit dem man wie schon gesagt den besten wuest ausrechnen kann
also man findet lediglich heraus bei welchem wuest man den größten gewinn macht

PS ich uploade den ansatz gerade mal(dieser ist augrund der grafiken aber mit den projektdateien usw 25mb groß das dauert also eben kurz und nicht wundern da ist auch noch ne menge chaos
so jetzt ist es up... http://www.megaupload.com/?d=PXW1NRS0 aber wie gesagt nicht zu viel erwarten
www.mcpatcher.net | www.hoeper.me

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Re: Via Button eine neue FrameForm aufrufen

Beitrag von Bora4d »

Ich habe noch nie Frame benutz ich mache das immer manuell mit Panels z.B. so:
(Achtung pseudo Code)

Code: Alles auswählen

unit hauptform;
...
...
implementation
uses form1unit, form2unit; //hier sind zwei formulare
 
procedure button1click;
begin
  form2.visible:=false;
  form1.parent:=panelframe; //panelframe ist wo die formulare anzeigt werden sollen;
  form1.visible:=ture;
end;
 
procedure button1click;
begin
  form1.visible:=false;
  form2.parent:=panelframe; //panelframe ist wo die formulare anzeigt werden sollen;
  form2.visible:=ture;
end;


Wenn die 2 Formulare nicht automatisch erstellt werden muß, kannst du es bein Hauptformular-OnCreate selber erstellen etwa so:

Code: Alles auswählen

prozedur hauptformularoncreate;
begin
  Form1:=TForm.Create(self);
  form1.align:=alclient;
  form1.parent:=panelframe;
end;


Ich erstelle die immer bei bedarf manuell etwa so:

Code: Alles auswählen

prozedur hauptformularoncreate;
begin
 form1:=nil;
 form2:=nil;
end;


dann:

Code: Alles auswählen

procedure button1click;
begin
   form2.visible:=false;
   if form1=nil then begin
     Form1:=TForm.Create(self);
     form1.align:=alclient;
     form1.parent:=panelframe;
  end;
  form1.visible:=ture;
end;

und bei button2click ähnlich vorgehen.

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Via Button eine neue FrameForm aufrufen

Beitrag von Bauer321 »

gibt es da keine einfachere lösung?
www.mcpatcher.net | www.hoeper.me

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Via Button eine neue FrameForm aufrufen

Beitrag von Socke »

Bauer321 hat geschrieben:gibt es da keine einfachere lösung?

Die einfachste Möglichkeit, wäre wohl ein TPageControl zu nehmen und die einzelnen Frames auf die Seiten zu packen und entsprechend anzuzeigen (die Tabs kann man ausblenden).
Ansonsten wirst du um das ein-/ausblenden (Visible := true/false; reicht aus, Parent muss nicht immer geändert werden) nicht herumkommen.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Via Button eine neue FrameForm aufrufen

Beitrag von Bauer321 »

okay und was würde ich dann für tpagecontrol eingeben?
www.mcpatcher.net | www.hoeper.me

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Via Button eine neue FrameForm aufrufen

Beitrag von Socke »

TPageControl findest du auf der Seite "Common Controls" der Komponenten-Palette von Lazarus. Das platzierst du auf deinem Formular und fügst über das Kontextmenü (Rechtsklick auf das Control) so viele Seiten ein, wie du haben willst. Auf jeder Seite platzierst du dann ein Frame. Über TPageControl.TabIndex kannst du die einzelnen Seiten anzeigen lassen.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Via Button eine neue FrameForm aufrufen

Beitrag von Bauer321 »

ok.

aber jetzt hab ich da so nen doofen rand bekommt man den weg?
Bild

Der weiße rand ich denke ma den sieht jeder^^ und denn will ich auf keinen fall haben
www.mcpatcher.net | www.hoeper.me

carli
Beiträge: 657
Registriert: Sa 9. Jan 2010, 17:32
OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
CPU-Target: 64Bit

Re: Via Button eine neue FrameForm aufrufen

Beitrag von carli »

wmni ist dafür die Property "BorderStyle" zuständig. Einfach auf bsNone setzen (falls das beim Tab geht)

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Via Button eine neue FrameForm aufrufen

Beitrag von Bauer321 »

das gibt es da nicht
www.mcpatcher.net | www.hoeper.me

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Via Button eine neue FrameForm aufrufen

Beitrag von Socke »

Es wäre möglich, dass dieser Rahmen hardcoded ist. Ich meine vor kurzem entsprechende Zeilen gelesen zu haben, bin mir aber nicht sicher, ob sie GTK-2-spezifisch waren.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Via Button eine neue FrameForm aufrufen

Beitrag von Bauer321 »

dann werde ich das wohl mit dem frame und hide und show machen müssen

ich habs so ausprobiert aber es geht leider nich. was muss ich ändern?

Code: Alles auswählen

unit unit_sf;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
  StdCtrls, Buttons, ExtCtrls, ComCtrls, unit_copyright,
  unitframe_start, unitframe_questhelper;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
    frame: TFrame2;
    Image1: TImage;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    SpeedButton6: TSpeedButton;
    SpeedButton7: TSpeedButton;
    SpeedButton8: TSpeedButton;
    SpeedButton9: TSpeedButton;
    SpeedButton10: TSpeedButton;
    SpeedButton11: TSpeedButton;
    SpeedButton12: TSpeedButton;
    SpeedButton13: TSpeedButton;
    SpeedButton14: TSpeedButton;
    SpeedButton15: TSpeedButton;
    SpeedButton16: TSpeedButton;
    SpeedButton17: TSpeedButton;
    SpeedButton18: TSpeedButton;
    SpeedButton19: TSpeedButton;
    SpeedButton20: TSpeedButton;
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{ TForm1 }
 
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
  Form1.parent := frame;
  TFrame2.visible := true;
end;
 
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
  Form1.parent := frame;
  TFrame1.visible := true;
end
 
initialization
  {$I unit_sf.lrs}
 
end.
www.mcpatcher.net | www.hoeper.me

Antworten