Delphi-PRAXiS
Seite 2 von 3     12 3      

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 MDI - Abhängigkeiten? (https://www.delphipraxis.net/126494-mdi-abhaengigkeiten.html)

RedDust 26. Dez 2008 16:50

Re: MDI - Abhängigkeiten?
 
Hallo,

nein das Formular wird erst nach einem Klick auf einen Button erzeugt.dann erscheint erst das Fenster was man auf dem screen sieht und dann ein neues.

Apollonius 26. Dez 2008 16:57

Re: MDI - Abhängigkeiten?
 
Wie erzeugst du es?

Klaus01 26. Dez 2008 17:22

Re: MDI - Abhängigkeiten?
 
Guten Abend,

was Philip wissen will ist, ob Du das Formular
mit dem Buttonclick erzeugst (create) oder nur sichtbar machst (show, showModal)?

Grüße
Klaus

RedDust 26. Dez 2008 17:33

Re: MDI - Abhängigkeiten?
 
Ahh Verzeihung, da ich es oben im 1. Post schon erwähnt hatte, dachte ich, das dies nicht gemeint war.

Ich erzeuge es mit "Create"

Apollonius 26. Dez 2008 17:38

Re: MDI - Abhängigkeiten?
 
Ich sähe gern den Code.

RedDust 26. Dez 2008 17:43

Re: MDI - Abhängigkeiten?
 
Siehe Post #5

Apollonius 26. Dez 2008 17:58

Re: MDI - Abhängigkeiten?
 
Wo finde ich dort die Erzeugung von kunden_suche?

RedDust 26. Dez 2008 19:34

Re: MDI - Abhängigkeiten?
 
Hier :D

Delphi-Quellcode:
unit hauptformular;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ToolWin, Menus, XPMan, Buttons, ExtCtrls, umysqlvio,
  uMysqlCT, uMysqlClient, uMysqlHelpers;

{$I mysqlinc.inc}

type
  Ths_kis = class(TForm)
    MainMenu1: TMainMenu;
    Datei1: TMenuItem;
    Beenden1: TMenuItem;
    ToolBar1: TToolBar;
    StatusBar1: TStatusBar;
    XPManifest1: TXPManifest;
    SpeedButton1: TSpeedButton;
    Timer1: TTimer;
    Timer2: TTimer;
    procedure Timer2Timer(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormResize(Sender: TObject);
    procedure Beenden1Click(Sender: TObject);
  private

  public
    FMysql: TMysqlClient;
    FResult: TMysqlResult;
  end;

var
  hs_kis: Ths_kis;

implementation

uses kunden_suche_form, login_form_form;

{$R *.dfm}

procedure Ths_kis.Beenden1Click(Sender: TObject);
begin
  hs_kis.Close;
end;

procedure Ths_kis.FormResize(Sender: TObject);
begin
  StatusBar1.Panels[0].Width := hs_kis.Width - 140;
end;

procedure Ths_kis.Timer1Timer(Sender: TObject);
begin
  StatusBar1.Panels[1].Text := ' '+DateTimeToStr(Now);
end;

procedure Ths_kis.SpeedButton1Click(Sender: TObject);
begin
  Tkunden_suche.Create(Self);
end;

procedure Ths_kis.FormShow(Sender: TObject);
begin
  // Eigenschaften setzen
  FMysql.Host := 'xxx.de';
  FMysql.port := 3306;
  //FMysql.user :='xxx';
  //FMysql.password := 'xxx';
  FMysql.UnixSocket := '';
  FMysql.Db := 'xxx'; // Datenbank auf dem Server
  FMysql.UseNamedPipe := false;
  FMysql.UseSSL := false;
  FMysql.Compress := true;
  FMysql.TrySockets := false;
  if FMysql.Connect then
  begin
    StatusBar1.Panels[0].Text := 'Status: Verbindung zum Datenbakserver aufgebaut';
    Tkunden_suche.Create(Self);
  end
  else
    begin
      //StatusBar1.Panels[0].Text := 'Fehler beim Verbinden: '+FMysql.LastError;
      //SpeedButton1.Enabled := false;
    end;
end;

procedure Ths_kis.FormCreate(Sender: TObject);
begin
  FMysql := TMysqlClient.create;
end;

procedure Ths_kis.FormDestroy(Sender: TObject);
begin
  FMysql.Free;
  if FResult<>nil then
    FResult.free;
end;

procedure Ths_kis.Timer2Timer(Sender: TObject);
begin
  case login_form.login_count of
    0: ;
    1: ;
    2: ;
    3: ;
    else hs_kis.Close;
  end;
end;

end.

Apollonius 26. Dez 2008 19:36

Re: MDI - Abhängigkeiten?
 
Zitat:

Delphi-Quellcode:
Tkunden_suche.Create(Self);

Und wo setzt du die Variable kunden_suche?

RedDust 26. Dez 2008 19:41

Re: MDI - Abhängigkeiten?
 
In der Kunden suche Unit (Zeile 40)

Delphi-Quellcode:
unit kunden_suche_form;

interface

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

type
  Tkunden_suche = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    edit_kundennummer: TEdit;
    GroupBox2: TGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    user_sheet: TStringGrid;
    Button1: TButton;
    Button2: TButton;
    procedure user_sheetClick(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private-Deklarationen }
  public
    zelle : integer;
  end;

var
  kunden_suche: Tkunden_suche;

implementation

uses hauptformular, kundendaten_view_form;

{$R *.dfm}

procedure Tkunden_suche.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
  hs_kis.StatusBar1.Panels[0].Text := 'Status: Fenster "Kundensuche" erfolgreich geschlossen';
end;

procedure Tkunden_suche.FormShow(Sender: TObject);
begin
  hs_kis.StatusBar1.Panels[0].Text := 'Status: Fenster "Kundensuche" erfolgreich generiert';
  with user_sheet do
  begin
    Cells[0,0] := 'Kundennummer';
    Cells[1,0] := 'Name';
    Cells[2,0] := 'Vorname';
    Cells[3,0] := 'Firma';
    Cells[4,0] := 'Sprache';
  end;
end;

procedure Tkunden_suche.Button1Click(Sender: TObject);
var kundennummer, cr, i, j : integer;
    sql             : string;
    ex              : boolean;
begin
  if edit_kundennummer.Text <> '' then
  begin
    try kundennummer := strtoint(edit_kundennummer.Text) except on EConvertError do
      hs_kis.StatusBar1.Panels[0].Text := 'Status: Fehler - Das ist keine Kundennummer!';
    end;
    hs_kis.FMysql.select_db('syscp');
    sql := 'SELECT customernumber, name, firstname, company, def_language FROM panel_customers WHERE customernumber = "'+inttostr(kundennummer)+'"';
    hs_kis.FResult := hs_kis.FMysql.query(sql, true, ex);
    if assigned(hs_kis.FResult) then
    begin
      cr := hs_kis.FResult.RecNo;
      user_sheet.RowCount := hs_kis.FResult.RowsCount+1;

      for i:=0 to hs_kis.FResult.RowsCount-1 do begin
        for j:=0 to hs_kis.FResult.FieldsCount-1 do
          user_sheet.Cells[j,i+1] := hs_kis.FResult.FieldValue(j);
        hs_kis.FResult.Next;
      end;
      if i = 1 then
        hs_kis.StatusBar1.Panels[0].Text := 'Status: '+inttostr(i)+' Datensatz gefunden'
      else
        hs_kis.StatusBar1.Panels[0].Text := 'Status: '+inttostr(i)+' Datensätze gefunden';
      if i > 0 then
        button2.Enabled := true
      else
      begin
        user_sheet.RowCount := 2;
        user_sheet.FixedRows := 1;
      end;
      if i > 1242900 then
      begin
        user_sheet.RowCount := 2;
        user_sheet.FixedRows := 1;
        button2.Enabled := false;
        hs_kis.StatusBar1.Panels[0].Text := 'Status: 0 Datensätze gefunden';
      end;
    end
    else
    begin
      hs_kis.StatusBar1.Panels[0].Text := 'Status: Query konnte nicht ausgeführt werden';
    end;
  end
  else
  begin
    //Wenn KD Nr nicht ausgefüllt
  end;
end;

procedure Tkunden_suche.Button2Click(Sender: TObject);
begin
  FreeAndNil(hs_kis.FResult);
  Tkundendaten_view.Create(kunden_suche);
end;

procedure Tkunden_suche.user_sheetClick(Sender: TObject);
begin
  zelle := user_sheet.Row;
end;

end.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:19 Uhr.
Seite 2 von 3     12 3      

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