AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Auf die Eigenschaften eines Forms zugreifen

Ein Thema von Stanlay Hanks · begonnen am 5. Jan 2005 · letzter Beitrag vom 13. Jan 2005
Antwort Antwort
Seite 2 von 2     12
Robert_G
(Gast)

n/a Beiträge
 
#11

Re: Auf die Eigenschaften eines Forms zugreifen

  Alt 13. Jan 2005, 13:46
Zitat von HomerGER:
und jetzt möchte ich in meiner DB-Unit darauf zugreifen.
Hängt wohl von der Klasse ab, in der du deine DB-Logik hast.
Wie übergibst du ihr dein Form: Im Constructor? als Property? ,...

Zitat von HomerGER:
ich dachte es geht wie bei VCL
MainForm.sqlConnection.Connectionstring := 'dbirgendwo'
Du willst ihr also nicht dein Form, sondern nur die Connection übergeben...

Wobei ich zugeben muss: Ich weiß jetzt nicht ob ich dich verstehe?

p.s.: Der Code weiter oben war nur als absolut abstraktes Beispiel zum Instanzieren eines Forms gedacht.
  Mit Zitat antworten Zitat
Benutzerbild von HomerGER
HomerGER

Registriert seit: 9. Jun 2003
390 Beiträge
 
Delphi 7 Professional
 
#12

Re: Auf die Eigenschaften eines Forms zugreifen

  Alt 13. Jan 2005, 13:55
Hallo
Hier mal was ich habe


Meine Haupt_Unit HF_Unit
Code:
unit HF_Unit;

interface

uses
  System.Drawing, System.Collections, System.ComponentModel,
  System.Windows.Forms, System.Data, System.Data.SqlClient, System.Configuration,
  DB_Unit;

type
  HF = class(System.Windows.Forms.Form)
  {$REGION 'Vom Designer verwalteter Code'}
  strict private
    /// <summary>
    /// Erforderliche Designervariable.
    /// </summary>
    Components: System.ComponentModel.Container;
    Button1: System.Windows.Forms.Button;
    /// <summary>
    /// Erforderliche Methode zur Unterstützung des Designers -
    /// ändern Sie die Methode nicht mit dem Quelltext-Editor
    /// </summary>
    procedure InitializeComponent;
    procedure Button1_Click(sender: System.Object; e: System.EventArgs);
  {$ENDREGION}
  strict protected
    /// <summary>
    /// Ressourcen nach der Verwendung bereinigen
    /// </summary>
    procedure Dispose(Disposing: Boolean); override;
    { Private-Deklarationen }
  public
    Connection1: System.Data.SqlClient.SqlConnection;
    constructor Create;
  end;

  [assembly: RuntimeRequiredAttribute(TypeOf(HF))]

implementation

{$AUTOBOX ON}

{$REGION 'Vom Windows Form-Designer erzeugter Code'}
/// <summary>
/// Erforderliche Methode zur Unterstützung des Designers --
/// ändern Sie die Methode nicht mit dem Quelltext-Editor
/// </summary>
procedure HF.InitializeComponent;
begin
  Self.Connection1 := System.Data.SqlClient.SqlConnection.Create;
  Self.Button1 := System.Windows.Forms.Button.Create;
  Self.SuspendLayout;
  // 
  // Connection1
  // 
  Self.Connection1.ConnectionString := 'data source="D:\HomersPowerShop\1_Pr' +
  'ojekt\1_Programm\DB\DB.mdb";persist security info=False';
  // 
  // Button1
  // 
  Self.Button1.Location := System.Drawing.Point.Create(248, 240);
  Self.Button1.Name := 'Button1';
  Self.Button1.TabIndex := 0;
  Self.Button1.Text := 'Button1';
  Include(Self.Button1.Click, Self.Button1_Click);
  // 
  // HF
  // 
  Self.AutoScaleBaseSize := System.Drawing.Size.Create(5, 13);
  Self.AutoScroll := True;
  Self.ClientSize := System.Drawing.Size.Create(744, 542);
  Self.Controls.Add(Self.Button1);
  Self.Name := 'HF';
  Self.StartPosition := System.Windows.Forms.FormStartPosition.CenterScreen;
  Self.Text := 'WinForm';
  Self.ResumeLayout(False);
end;
{$ENDREGION}

procedure HF.Dispose(Disposing: Boolean);
begin
  if Disposing then
  begin
    if Components <> nil then
      Components.Dispose();
  end;
  inherited Dispose(Disposing);
end;

constructor HF.Create;
begin
  inherited Create;
  //
  // Erforderlich für die Unterstützung des Windows Forms-Designers
  //
  InitializeComponent;
  //
  // TODO: Fügen Sie nach dem Aufruf von InitializeComponent Konstruktorcode hinzu.
  //
end;

procedure HF.Button1_Click(sender: System.Object; e: System.EventArgs);
begin
  Datenbank_Verbinden_DBU; Hier die Datenbankverbinden
end;

end.

Code:
unit DB_Unit;

interface

uses
  System.Drawing, System.Collections, System.ComponentModel,
  System.Windows.Forms, System.Data, System.IO, System.Data.SqlClient;

//Type (öffentlich)

//Konstante (öffentlich)

//Variabele (öffentlich)

//Proceduren (öffentlich)
Procedure Datenbank_Verbinden_DBU();

//Functionen (öffentlich)

implementation

uses
  HF_Unit;


//##############################################################################
//##############################################################################
//
//Datenbank verbinden
//
//##############################################################################
//##############################################################################
Procedure Datenbank_Verbinden_DBU();
var
db_file_s : String;
verbindungs_string_s : String;
begin
  //Datenbank File
  db_file_s := Application.StartupPath + '\DB\' + 'db.mdb';

  if System.IO.File.Exists(db_file_s) then
  begin
    verbindungs_string_s := 'data source=' + db_file_s + ';persist security info=False';

    HF.Create.Connection1.ConnectionString := verbindungs_string_s;

  end
  else
  begin
    MessageBox.Show(db_file_s);
  end;
end;

end.

ich weiß jetzt aber nicht ob "HF.Create.Connection1.ConnectionString" richtig ist
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#13

Re: Auf die Eigenschaften eines Forms zugreifen

  Alt 13. Jan 2005, 15:57
ähm nunja...
.Net ist eine reine OOP-Umgebung. Delphi.Net lässt zwar solche Dinge wie lose stehende Funktionen zu, mit .Net Programmierung hat das herzlich wenig zu tun. (sowas war auch schon unter Delphi32 unschön )
Aber da du anscheinend nicht viel für OOP übrig hast...

Du brauchst auf jeden Fall kein Formular, genausowenig brauchst du den Name deiner Connection:
Delphi-Quellcode:
procedure DatenbankVerbindenDBU(const aConnection: IDbConnection);
var
   DatabaseFile : string;
begin
   //Datenbank File
   DatabaseFile := Application.StartupPath + '\DB\db.mdb';

   if &File.Exists(DatabaseFile) then
      aConnection.ConnectionString := System.String.Format('data source={0};persist security info=False'
                                                           [DatabaseFile])
   else
      MessageBox.Show(DatabaseFile);
end;
In deinem Form:
   DatenbankVerbindenDBU(DeineConnection);
  Mit Zitat antworten Zitat
Benutzerbild von HomerGER
HomerGER

Registriert seit: 9. Jun 2003
390 Beiträge
 
Delphi 7 Professional
 
#14

Re: Auf die Eigenschaften eines Forms zugreifen

  Alt 13. Jan 2005, 16:17
dank erstmal
aber das löst nicht mein Problem
ich möchte gern aus einer Unit auf die Controls auf einer Form zugreifen
wenn ich zB position für Panel, GroupBoxen usw festlege
wollte ich das gerne in einer eigenen Unit machen und dann über ein Ereignis (z.B onClick)auf der Form zugreifen
gibt es da weg unter net?
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf