AGB  ·  Datenschutz  ·  Impressum  







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

Anfängerfrage: Combobox-Text vergleichen

Ein Thema von Aley123 · begonnen am 1. Feb 2008 · letzter Beitrag vom 1. Feb 2008
Antwort Antwort
Aley123
(Gast)

n/a Beiträge
 
#1

Anfängerfrage: Combobox-Text vergleichen

  Alt 1. Feb 2008, 05:33
Hallo!

Ich habe sechs Comboboxen erstellt die alle mit Buchstaben gefüllt sind:


E
F
G
H
I
J
K
X

Jetzt möchte ich, dass, wenn in einer der Comboboxen ein Buchstabe ausgewählt wird, der ausgewählte Buchstabe in den anderen Comboboxen verschwindet.

Also wenn Combobox1.Text = A ist soll in den 5 anderen Comboboxen A verschwinden, sobald aber in Combobox1 ein anderer Buchstabe ausgewählt wird soll A in den anderen Boxen wieder verfügbar sein. Das ganze soll mit allen Comboboxen so funktionieren...

Wie lässt sich das lösen?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Anfängerfrage: Combobox-Text vergleichen

  Alt 1. Feb 2008, 06:35
mit .IndexOf Eintrag in den anderen ComboBoxen suchen und mit .Delete löschen.
Markus Kinzler
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#3

Re: Anfängerfrage: Combobox-Text vergleichen

  Alt 1. Feb 2008, 06:44
Och, nu hab ich schon soviel geschrieben und du schaffts immer, dass auch in einer Zeile auszudrücken, @mk.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#4

Re: Anfängerfrage: Combobox-Text vergleichen

  Alt 1. Feb 2008, 08:25
[OT]
Zitat von Nuclear-Ping:
Och, nu hab ich schon soviel geschrieben und du schaffts immer, dass auch in einer Zeile auszudrücken, @mk.
Das kenn ich [/OT]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Aley123
(Gast)

n/a Beiträge
 
#5

Re: Anfängerfrage: Combobox-Text vergleichen

  Alt 1. Feb 2008, 08:33
Wenn ich den Buchstaben in den anderen Boxen mit .Delete lösche, ist der dann auch wieder da, sobald ich in der Combobox1 einen anderen Buchstaben auswähle?
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Anfängerfrage: Combobox-Text vergleichen

  Alt 1. Feb 2008, 08:35
Nein, der ist dann nicht mehr da. Du kannst, bevor du den Buchstaben entfernt, die ComboBox einfach mit dem Inhalt der 1. ComboBox füllen (meines Wissens kannst du direkt die Items zuweisen oder du hast intern eine Liste, die du zuweisen kannst).
  Mit Zitat antworten Zitat
Aley123
(Gast)

n/a Beiträge
 
#7

Re: Anfängerfrage: Combobox-Text vergleichen

  Alt 1. Feb 2008, 08:51
Also die Buchstaben sind freie Laufwerksbuchstaben, die beim Programmstart in die Comboboxen eingelesen werden. Es geht darum mehrere verschlüsselte Archive als Laufwerke einzubinden. Aber zwei Archive können nicht mit dem selben Laufwerksbuchstaben eingebunden werden. Deshalb möchte ich, dass ein Buchstabe, sobald einer in der Combobox schon ausgewählt ist in den anderen Boxen verschwindet...

Gibt es keinen Befehl der bestimmte Items nur ausblendet, und sobald ein anderes Item angewählt wird, wieder einblendet? Mit löschen und neu einlesen wird das glaub ich nichts... zumindest wüsste ich nich wie ich das genau anstellen soll...
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Anfängerfrage: Combobox-Text vergleichen

  Alt 1. Feb 2008, 08:58
Na einfach so:

Delphi-Quellcode:
procedure TForm1.ComboBox1Select(Sender: TObject);
begin
  ComboBox2.Items := ComboBox1.Items;
  ComboBox2.Items.Delete(ComboBox2.Items.IndexOf(ComboBox1.Text));
end;
Die Demo ist im Anhang.
Angehängte Dateien
Dateityp: zip combobox-demo_139.zip (4,5 KB, 3x aufgerufen)
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: Anfängerfrage: Combobox-Text vergleichen

  Alt 1. Feb 2008, 09:02
Herzlich willkommen in der Delphi-PRAXiS, Aley123.

Du hattest das Problem ursprünglich sehr abstrakt formuliert. Eine Lösung dafür habe ich dir angehängt. Da es aber konkret um Laufwerksbuchstaben geht, würde ich wahrscheinlich ganz anders vorgehen.

Freundliche Grüße
Angehängte Dateien
Dateityp: zip cb-1_141.zip (1,9 KB, 4x aufgerufen)
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#10

Re: Anfängerfrage: Combobox-Text vergleichen

  Alt 1. Feb 2008, 10:49
Wenn es sich um Laufwerksbuchstaben handelt, kannst du ein Array of Record machen.
Delphi-Quellcode:
type
  TDriveAvailable = record
                      Letter: Char;
                      Available: Boolean;
                    end;
  TDriveAvailableArray = Array of TDriveAvailable;

  // ...
  DrivesAvailable: TDriveAvailableArray;
Zu nem von dir bestimmten Zeitpunkt (FormCreate zB) füllst du das Array mit den im System verfügbaren Laufwerksbuchstaben. Wie du das machst überlasse ich dir. Das ist schonwieder ein anderes Thema. Neue Frage -> Neuer Thread.

Wenn in ComboBox1 dann ein Item ausgewählt wird, stellst du den Available-Wert des entsprechenden Eintrags in dem Array auf FALSE/TRUE und baust die restlichen ComboBoxen darauf auf.
  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 17:37 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