AGB  ·  Datenschutz  ·  Impressum  







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

ändern des ComponentCount???

Ein Thema von Barret · begonnen am 1. Feb 2005 · letzter Beitrag vom 1. Feb 2005
Antwort Antwort
Benutzerbild von Barret
Barret

Registriert seit: 27. Mai 2004
53 Beiträge
 
#1

ändern des ComponentCount???

  Alt 1. Feb 2005, 09:31
Hi!
Also wie schon im Thema zu erkennen wollt ich mal fragen, ob man den "ComponentCount" von Objekten verändern kann. Ich meine jetz nich die TabOrder.
Fals das möglich sein sollte würd ich mich über eine kleine Anregung freuen.

mfg Barret
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: ändern des ComponentCount???

  Alt 1. Feb 2005, 09:33
Hallo Barret,

die Frage ist, WARUM du das ändern möchstest? Sobald du eine Kompo auf ein Objekt setzt, wird dessen ComponentCount automatisch aktualisiert.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Barret
Barret

Registriert seit: 27. Mai 2004
53 Beiträge
 
#3

Re: ändern des ComponentCount???

  Alt 1. Feb 2005, 09:46
Ja und genau da ligt mein Problem. Ich hab eine Procedure die die Componenten duchgeht und die Eigenschaften dieser verändert. Wenn ich dan die Eingaben speichern will überprüft er diese erst (ob ein Eintrag vorgenommen wird oder nicht). Soweit so gut. Wenn die Componente keinen Eintrag besitzt gibt das Programm eine Hinweis-Meldung aus und setzt dan den Focus auf diese Componente. Das gilt für mehrere Componenten. Wenn ich den ComponentCount nicht verändern kann muss ich die Objekte umschreiben oder ich muss es in kauf nehmen, dass der User keine lineare Reihenfolge der Meldungen erhält.
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#4

Re: ändern des ComponentCount???

  Alt 1. Feb 2005, 09:53
Hallo Barret,

dann musst du nicht ComponentCount, sondern die Reihenfolge der Komponenten ändern. Wie man das aber am Besten macht, weiß ich jetzt auch nicht.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
urs.liska

Registriert seit: 6. Aug 2003
Ort: Freiburg
195 Beiträge
 
Delphi 6 Professional
 
#5

Re: ändern des ComponentCount???

  Alt 1. Feb 2005, 11:02
Hallo Barret,

Jede Komponente verfügt über die Eigenschaft ComponentIndex, die die Reihenfolge der Komponente innerhalb der übergeordneten Komponente angibt (von 0 bis ComponentCount-1).
Laut Hilfe ist ComponentIndex keine Nur-Lesen-Eigenschaft, kann also von Hand geändert werden.

Du müsstest aber sicher aufpassen, was Du tust, wenn Du da eingreifst. Ich weiß z.B. nicht, was die übergeordnete Komponente sagt, wenn während des Sortierens zwei Komponenten den gleichen ComponentIndex hätten.

Ich würde einmal probieren, einen Sortieralgorithmus für ComponentIndex zu entwickeln - und das ganze schön in einen try..except-Block verpacken (vielleicht zuerst einmal den Ausgangszustand zwischenspeichern und im Exceptblock wieder zuweisen).

Wie gesagt: Ich weiß nicht, welche Risiken das birgt.

Viel Glück
Urs
  Mit Zitat antworten Zitat
IngoD7

Registriert seit: 16. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: ändern des ComponentCount???

  Alt 1. Feb 2005, 12:44
Zitat von urs.liska:
Ich weiß z.B. nicht, was die übergeordnete Komponente sagt, wenn während des Sortierens zwei Komponenten den gleichen ComponentIndex hätten.
Das passiert nicht.

Zitat von urs.liska:
Wie gesagt: Ich weiß nicht, welche Risiken das birgt.
Meines Erachtens keine. Die Komponenten werden in einer TList geführt, in eben der Liste Components[]. Eine Zuweisung auf ComponentIndex hat zur Folge, dass die Komponente mittels einem TList.Delete an alter Stelle gelöscht und mittels einem TList.Insert an zugewiesener Stelle eingefügt wird. Dahinter liegende Komponenten werden also entsprechend verschoben.
  Mit Zitat antworten Zitat
urs.liska

Registriert seit: 6. Aug 2003
Ort: Freiburg
195 Beiträge
 
Delphi 6 Professional
 
#7

Re: ändern des ComponentCount???

  Alt 1. Feb 2005, 13:13
@IngoD7:
Danke für die Aufklärung

@Barret:
Dann kannst Du einfach Folgendes machen:
Delphi-Quellcode:
NameDerErstenKomponente.ComponentIndex := 0;
NameDerZweitenKomponente.ComponentIndex := 1;
//usw.
Viel Erfolg
Urs
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:19 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