AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

function für mehrere Units?

Ein Thema von Borschti · begonnen am 3. Mär 2008 · letzter Beitrag vom 4. Mär 2008
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Borschti

Registriert seit: 1. Nov 2007
Ort: Marburg Lahn
235 Beiträge
 
Delphi 2007 Professional
 
#1

function für mehrere Units?

  Alt 3. Mär 2008, 15:56
Hallo,

ich bin gerade dabei ein etwas größeres Programm mit vielen Formularen zu erstellen, das klappt auch schonmal soweit

Allerdings bin Ich gerade auf ein kleines Problem gestoßen, und zwar versuche Ich bei einem Klick auf einen Button(z.B. +1 Zeile), 4 StringGrids auf 4 verschiedenen Formularen zu verändern. Also das in jedem StringGrid die gleiche Änderung vorgenommen wird.

Hierzu versuche Ich gerade eine function zu schreiben das Ich nicht den ganzen Quelltext in jedes OnClick Event packen muss.

Problem Nr1.: Wo muss ich die function hinschreiben damit ich sie in einer anderen Unit aufrufen kann?
Problem Nr2.: Wie kann ich die function aufrufen? Vielleicht wär ein gutes und Verständliches Tutorial ganz gut

Schonmal danke für eure Antworten.

mfg
Alex
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#2

Re: function für mehrere Units?

  Alt 3. Mär 2008, 16:00
Zitat von Borschti:
Problem Nr1.: Wo muss ich die function hinschreiben damit ich sie in einer anderen Unit aufrufen kann?
Da wo sie gesehen wird?

Zitat von Borschti:
Problem Nr2.: Wie kann ich die function aufrufen? Vielleicht wär ein gutes und Verständliches Tutorial ganz gut
So wie man eine Funktion aufruft? Unit einbinden, Klasse die die Funktion enthält instanzieren, aufrufen?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: function für mehrere Units?

  Alt 3. Mär 2008, 16:01
1.) Am Besten Klasse in weiterer Unit, welche du in die andere einbindest
2.) einfach die Property des Ereignissen mit der Methode verbinden. Das geklickte Element erhälst du als Referenz im Parameter Sender.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#4

Re: function für mehrere Units?

  Alt 3. Mär 2008, 16:05
Ganz einfach:
du muss im public-Bereich deiner Unit die Function definieren und sie dann im implemantation-Teil erstellen:
Delphi-Quellcode:
unit
...
uses
...
type
...
   private
   public
     function Test() : bool;
...
implementation

function TMeineForm.Test() : bool;
begin
...
end;
Ansprechen tust du die dann außerhalb des Formulars so:
Delphi-Quellcode:
...
  if MeineForm.test then
...
Jonas
  Mit Zitat antworten Zitat
Borschti

Registriert seit: 1. Nov 2007
Ort: Marburg Lahn
235 Beiträge
 
Delphi 2007 Professional
 
#5

Re: function für mehrere Units?

  Alt 3. Mär 2008, 16:16
Hallo zusammen,

der Teamkollege meldet sich auch mal zu Wort . Also unser Problem ist, dass wir einen Abgleich des Layouts der sich verändernden Tabellen erreichen wollen. Per buttonclick werden so Spalten oder Zeilen hinzugefügt was mit den logisch in verbindung stehenden Tabellen auch geschehen soll.
Wir haben 2 verschiedene Anweisung die jeweseils die Spalten um eins erhöhen und sie beschriften das gleiche passiert mit dem Zeilen. In allen Tabellen ist das Layout gleich aber der Inhalt ändert sich (z.B. EK VK).
Da wir nicht in jede Unit alles für die anderen Units schreiben wollen, möchten wir eine Funktion im Mainprogramm schaffen, die dann für alle anderen gültig ist. Quasi ist der Klick auf dem spezifischen Formular, die verarbeitung im Mainprogramm und die Ausgabe bzw. der Abgleich findet mit allen in Verbindung stehen Tabellen statt (Es sind vier tabellen). Da die Anzahl an Anweisungen mit jeder weiteren Tabelle Expotential steigt, könnt ihr euch vorstellen das wir das gerne umgehen würden xD.

so ^^ hoffe das hilft zum Verständnis weiter.

Mit freundlichen Grüßen
Manuel
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: function für mehrere Units?

  Alt 3. Mär 2008, 16:19
Hauptformular ist schlecht! Besser weitere Unit.
Markus Kinzler
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#7

Re: function für mehrere Units?

  Alt 3. Mär 2008, 16:20
Wie wäre es mit einer Funktion, der ihr das StringGrid übergebt?
Delphi-Quellcode:
procedure ProcessGrid (Grid: TStringGrid; ActionId: Integer);
begin
  case ActionId of
    1: AddSomething (Grid);
    2: DeleteSomething (Grid);
    // ...
   end;
end;
  Mit Zitat antworten Zitat
Borschti

Registriert seit: 1. Nov 2007
Ort: Marburg Lahn
235 Beiträge
 
Delphi 2007 Professional
 
#8

Re: function für mehrere Units?

  Alt 3. Mär 2008, 16:22
an Nuclear-Ping

kannst du uns vill genauer erklären wie die Syntax aussieht und wie das von statten geht
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#9

Re: function für mehrere Units?

  Alt 3. Mär 2008, 16:26


Delphi-Quellcode:
unit Irgendwas;

interface

uses ...;

procedure ProcessGrid (Grid: TStringGrid; ActionId: Integer);

implementation

procedure AddSomething (Grid: TStringGrid);
begin
  // ...
end;

procedure ProcessGrid (Grid: TStringGrid; ActionId: Integer);
begin
  case ActionId of
    1: AddSomething (Grid);
    2: DeleteSomething (Grid);
    // ...
   end;
end;

end.
Delphi-Quellcode:
unit Unit1;

interface

uses ...;

type

  TForm1 = class(TForm)
    // ...
    procedure Button1Click (Sender: TObject);
  private
    // ...
  public
    // ...
  end;

var
  // ...

implementation

uses Irgendwas;

{$R *.dfm}

procedure TForm1.Button1Click (Sender: TObject);
begin
  ProcessGrid (StringGrid1, 1);
end;
Wie lange arbeitet ihr schon mit Delphi?
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: function für mehrere Units?

  Alt 3. Mär 2008, 16:26
Nochmal zur Frage. Habe ich das richtig verstanden?
1. Es ändert sich etwas bei StringGrid1 auf irgendeinem Formular (Es wird z.B. irgendwo draufgeklickt)
2. Daraufhin soll sich z.B. das Design mehrere oder aller StringGrids (inkl. StringGrid1) ändern

Wenn das stimmt, dann würde ich mkinzlers Vorschlag hoch halten.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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:17 Uhr.
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