AGB  ·  Datenschutz  ·  Impressum  







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

Deklaration ändern ?

Ein Thema von HolgerCW · begonnen am 17. Jul 2007 · letzter Beitrag vom 18. Jul 2007
Antwort Antwort
Seite 1 von 2  1 2      
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#1

Deklaration ändern ?

  Alt 17. Jul 2007, 15:43
Hallo,

wie kann ich in einer Procedure eine Deklaration ändern.

Möchte in meiner Procedure Comboboxen oder TTabControls füllen.

Wenn man ein TTabControl füllen will, soll Die Variable Box als TTabControl.Tabs deklariert werden, ansonsten als TComboBox.

Gruss

Holger
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Deklaration ändern ?

  Alt 17. Jul 2007, 15:46
Zitat:
Wenn man ein TTabControl füllen will, soll Die Variable Box als TTabControl.Tabs deklariert werden, ansonsten als TComboBox.
also soll die Variable Box sowohl von dem einen Typ als auch vom anderen Typ sein?! Dann müsste man einen gemeinsamen Vorfahren finden. Wenn du TTabControl und TComboBox hättest wäre das TWinControl etc.
du schreibst allerdings etwas von einem Typ TTabControl.Tabs wobei Tabs ja dann ein Member wäre aber kein Typ
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Deklaration ändern ?

  Alt 17. Jul 2007, 15:52
a) Entweder Du findest einen gemeinsamen Vorfahren der Typen, die Du übergeben willst (wie schon geschrieben wurde)
oder
b) Du überlädst (overload) die Funktion
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#4

Re: Deklaration ändern ?

  Alt 17. Jul 2007, 15:56
Ohh, da habe ich mich vertan.

Es geht um die Deklaration von TTabControl und TComboBox

ComboBox1.items.Add('') oder

TTabControl.Tabs.Add(''); Ich könnte der Procedure z.B. mit einer 1 = TTabControl und 2 = TComboBox mitgeben.

Wie kann ich nun in der procedure TTabControl oder TComboBox füllen ?

Vorher hatte ich in der Procedure fest = Box: TComboBox

Gruss

Holger


P.S.:
Hier die derzeitige Procedure ohe TTabControl:

ComboBox_fuellen (Box:TComboBox; Query:TQuery; Spalten:String; Anzahl:Integer; SQL: String);
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#5

Re: Deklaration ändern ?

  Alt 17. Jul 2007, 15:58
TWinControl hat kein .Clear;

Gruss

Holger
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Deklaration ändern ?

  Alt 17. Jul 2007, 15:58
Das Property items und Tabs sind beide vom Typ TStrings. Also benötigst du eine Funktion die als Übergabeparameter ein TStrings besitzt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Deklaration ändern ?

  Alt 17. Jul 2007, 15:59
Also hier würde ich den von mir erwähnten Punkt b) bevorzugen.
Sonst musst Du innerhalb der procedure noch entscheiden, um welchen Typ Box es sich handelt.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Deklaration ändern ?

  Alt 17. Jul 2007, 16:01
@Klaus: muss er nicht
Delphi-Quellcode:
DieProcedure(Combobox1.Items);
DieProcedure(TabControl1.Tabs);
[...]
procedure TYourClass.DieProcedure(Items: TStrings);
begin
  Items.Add('');
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#9

Re: Deklaration ändern ?

  Alt 17. Jul 2007, 16:03
müsste es nicht heissen:
procedure TYourClass.DieProcedure(var Items: TStrings);
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: Deklaration ändern ?

  Alt 17. Jul 2007, 16:06
Zitat von RavenIV:
müsste es nicht heissen:
procedure TYourClass.DieProcedure(var Items: TStrings);
Nö. Nur wenn du die Items in der Funktion erzeugen willst. Nicht wenn es schon vorhanden ist.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 12:33 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