![]() |
Dateinamen aus ComboBox.Items erstellen
Hallo,
ich habe für mein Problem eine Lösung, jedoch glaube ich, dass es eine bessere gibt und Ihr mir praktikablere Vorschläge liefern könnt. Ich habe 2 ComboBox, aus deren Items ich einen Dateinamen erstellen möchte. Mein Code:
Delphi-Quellcode:
Bei ganz vielen ComboBoxen und Items wird diese Lösung unpraktisch!
var
a,b,c,d,: string; fs: textfile; name1, name2, name3, dateiname: string; begin case ComboBox1.ItemIndex of 0: begin a := Combobox1.Text; end; 1: begin b := ComboBox1.Text; end; end; case ComboBox2.ItemIndex of 0: begin c := combobox2.Text; end; 1: begin d := combobox2.Text; end; end; name1 := a + b; name2 := c + d; name3 := '.txt'; dateiname := name1 + name2 + name3; Assignfile(fs, dateiname); ... Hoffe, Ihr könnt mir helfen und habt einen besseren Vorschlag! Viele Grüsse, moperswings |
Re: Dateinamen aus ComboBox.Items erstellen
Also, wenn ich jetzt davon ausgeh, das die ComboBoxen nur 2, oder mehr Einträge haben, dann komm ich auf dieses:
Strings werden ja mit '' initialisiert
Delphi-Quellcode:
gekürzt komm ich auf dieses
var
a,b,c,d,: string; fs: textfile; name1, name2, name3, dateiname: string; begin a := ''; b := ''; c := ''; d := ''; case ComboBox1.ItemIndex of 0: begin a := Combobox1.Text; end; 1: begin b := ComboBox1.Text; end; end; case ComboBox2.ItemIndex of 0: begin c := combobox2.Text; end; 1: begin d := combobox2.Text; end; end; name1 := a + b; name2 := c + d; name3 := '.txt'; dateiname := name1 + name2 + name3; Assignfile(fs, dateiname);
Delphi-Quellcode:
und bei 2 Einträgen bleibt nur noch dieses übrig
var
a,b,c,d,: string; fs: textfile; name1, name2, name3, dateiname: string; begin if ComboBox1.ItemIndex in [0..1] then a := Combobox1.Text; if ComboBox2.ItemIndex in [0..1} then c := combobox2.Text; //name1 := a; //name2 := c; //name3 := '.txt'; //dateiname := name1 + name2 + name3; dateiname := a + c + '.txt'; Assignfile(fs, dateiname);
Delphi-Quellcode:
var
fs: textfile; dateiname: string; begin dateiname := Combobox1.Text + combobox2.Text + '.txt'; Assignfile(fs, dateiname); Also mal ganz einfach: Was genau möchtest du denn erreichen? |
Re: Dateinamen aus ComboBox.Items erstellen
Ich möchte aus den Items von 3 ComboBoxen eine Datei erstellen!
z.B. Combobox1: Kulturpflanze Items: Gemüse, Getreide, Obst,... ComboBox2: Getreide Items: Weizen, Gerste, Hafer,... comBoxBox3: Thema Items: Einleitung, Sorten,... Der Dateiname soll sich dann so zusammensetzen: Kultur -> gtr + Getreide: Hafer -> ha + Thema: Einleitung -> ei = Dateiname: gtrhaei.txt |
Re: Dateinamen aus ComboBox.Items erstellen
Dann wird sich das immer so abspielen:
Delphi-Quellcode:
Warum also so kompliziert ?
dateiname := combobox1.Text + combobox2.Text + combobox2.Text + '.txt';
|
Re: Dateinamen aus ComboBox.Items erstellen
Möglichkeiten gäbe es mehrere.
Entweder direkt die Strings zusammensetzen, oder falls andere Werte verwendet werden sollen, wie als Item angebegen, dann halt über den Index die gewünschten Werte wo anders herholen.
Code:
ComboxBox1: Kulturpflanze > Items: Gemüse, Getreide, Obst,...
ComboxBox2: Getreide > Items: Weizen, Gerste, Hafer,... ComboxBox3: Thema > Items: Einleitung, Sorten,... ItemIndex jeweils 1
Delphi-Quellcode:
= 'GetreideGersteSorten.txt'
Dateiname := ComboBox1.Text + ComboBox2.Text + ComboBox3.Text + '.txt';
Delphi-Quellcode:
= 'gtrgeso.txt'
Case ComboBox1.ItemIndex of
0: Dateiname := 'gem'; 1: Dateiname := 'gtr'; 2: Dateiname := 'obs'; End; Case ComboBox2.ItemIndex of 0: Dateiname := Dateiname + 'wi'; 1: Dateiname := Dateiname + 'ge'; 2: Dateiname := Dateiname + 'ha'; End; Case ComboBox3.ItemIndex of 0: Dateiname := Dateiname + 'ei'; 1: Dateiname := Dateiname + 'so'; End; Dateiname := Dateiname + '.txt';
Delphi-Quellcode:
= 'gtrgeso.txt'
Const AKulturpflanze: Array[0..2] of String = ('gem', 'gtr', 'obs');
AGetreide: Array[0..2] of String = ('wi', 'ge', 'ha'); AThema: Array[0..1] of String = ('ei', 'so'); Dateiname := AKulturpflanze[ComboBox1.ItemIndex] + AGetreide[ComboBox2.ItemIndex] + AThema[ComboBox3.ItemIndex] + '.txt'; [edit] @Jelly: pühhh ... sich einfach einzischleichen ... neeeeee |
Re: Dateinamen aus ComboBox.Items erstellen
".Text" funktioniert wenn ich mich recht entsinne nicht wenn der Style auf "csDropDownList" steht
|
Re: Dateinamen aus ComboBox.Items erstellen
Vielen Dank,
die letzte Lösung sieht SUPER aus! Ich werde das mal probieren. Das wird mir bestimmt die Arbeit erleichtern und mich inhaltlich weiter bringen. Danke und viele Grüsse, moperswings |
Re: Dateinamen aus ComboBox.Items erstellen
Zitat:
.Text liefert immer den String, welcher grad in der Box angezeigt wird. |
Re: Dateinamen aus ComboBox.Items erstellen
bei Delphi6 oder Delphi7 mein ich mich zu erinnern das es nicht der Fall war.
|
Re: Dateinamen aus ComboBox.Items erstellen
Also in D4 und D7 geht es :angel:
(mit D7 grad nochma getestet hab) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz