Autor Beitrag
erni
Hält's aus hier
Beiträge: 5

Win, Linux

BeitragVerfasst: Do 06.05.04 20:40 
Hallo,

wie man unschwer an der Anzahl meiner bisherigen Beiträge erkennen kann, bin ich neu hier.
Ich hatte heute das erste mal Kontakt mit Delphi 7 und suche schon seit einer Stunde in meinem Buch "Grundlagen und Profiwissen - Borland Delphi 7" von Doberenz nach der
Lösung zu folgendem Problem:

Ich möchte einer eig. Funktion die ich in einer dafür vorgesehenen Unit zusammen mit anderen Funktion geschrieben habe ein Objekt (Combobox) als
Objektvariable übergeben. Unter Visual Basic habe ich die entspr. Variable als Objekt deklariert und dann in der entspr.
Funktion z.B. mit AddItem (Delphi: .Items.Add() ) entsprechend bearbeitet.
z.B. Einlesen einer Textdatei und befüllen von Textfeldern mit den eingelesenen Werten.

Kann mir jemand sagen wie man das in Delphi macht?

Danke
Motzi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2931

XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
BeitragVerfasst: Do 06.05.04 21:02 
Meinst du etwas in dieser Richtung?
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
MyProcedureXYZ(ComboBox1);


procedure MyProcedureXYZ(aComboBox: TComboBox);
begin
  aComboBox.Items.Add('xyz');
  aComboBox.Items.Add('abc');
  aComboBox.Items.Add('123');
end;


Vorraussetzung ist natürlich, dass es eine ComboBox mit namen ComboBox1 gibt..!

_________________
gringo pussy cats - eef i see you i will pull your tail out by eets roots!
erni Threadstarter
Hält's aus hier
Beiträge: 5

Win, Linux

BeitragVerfasst: Fr 07.05.04 06:47 
:D Ja genau das meine ich! KNUTSCH!
Nur eine Frage noch! Ich muss den realen Namen der Combobox aus der entsprechenden Unit verwenden?!
Das habe ich nicht 1000% verstanden. Kannst Du dazu bitte noch etwas sagen?!
Motzi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2931

XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
BeitragVerfasst: Fr 07.05.04 12:51 
Naja, der Name den du den Komponenten im Objektinspektor verpasst wird auch automatisch als Variablenname verwendet.. Wolltest du das wissen?

_________________
gringo pussy cats - eef i see you i will pull your tail out by eets roots!
erni Threadstarter
Hält's aus hier
Beiträge: 5

Win, Linux

BeitragVerfasst: Fr 07.05.04 14:35 
hmm . . .???

Ok ist mir klar.
Aber wo kommt dernn diese Anweisung hin?

MyProcedureXYZ(ComboBox1);

In die unit in der sich auch die Funktion dazu befindet, oder?!
Motzi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2931

XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
BeitragVerfasst: Fr 07.05.04 14:51 
Diese Anweisung kommt dort hin, wo du die Prozedur "MyProcedureXYZ" aufrufen willst...

_________________
gringo pussy cats - eef i see you i will pull your tail out by eets roots!
erni Threadstarter
Hält's aus hier
Beiträge: 5

Win, Linux

BeitragVerfasst: Fr 07.05.04 15:43 
jepp alles klar! Sorry war gerade etwas durcheinander. :(
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Fr 07.05.04 16:06 
Hallo,

dir scheind noch nciht ganz klar zu zu sein, wann du wo was aufrufen kannst. Die Schnellerklährung lautet inetwa so:
Dein Projekt ist in mehrere Teile (Units) unterteilt. In jeder Unit kannst du alles verwenden, was in ihr selbst definiert ist. Willst du in einer Unit Proceduren, Funkionen, constanten, Variablen usw. aus einer anderen Unit aufrufen, so musst du diese per uses Anweisung einbinden.

z.B. so:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
unit Unit1; // Diese soll in Unit 2 Verwendet werden

interface

function Quadreire(X : Integer) : Integer;

implementation

function Quadreire(X : Integer) : Integer;
begin
  Result := X * X;
end;

end.

// ----------------- Ende der Datei -------------------

unit Unit2;

interface

function Hoch3(X : Integer) : Integer;

implementation
  uses
     Unit1; // Dies sogt dafür, das du Quadreiere aus Unit1 verwenden kannst

function Hoch3(X : Integer) : Integer;
begin
  Result := Quadreire(X) * X;
end;

end.


Die sinnigkeit dieser lösung des Mathematischen Problemms sei mal dahingestellt, aber ich glaube das Prinzieb wird deutlich.

Ansonsten kann ich nur die Letkürer einschlägiger Anfänger Tuturials (1, 2) empfehlen.

Gruß
Klabautermann
erni Threadstarter
Hält's aus hier
Beiträge: 5

Win, Linux

BeitragVerfasst: Fr 07.05.04 18:15 
Ja. Danke für die genaue Erklärung mit Bsp.! War äußerts aufschlussreich!