AGB  ·  Datenschutz  ·  Impressum  







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

Dateinamen aus ComboBox.Items erstellen

Ein Thema von moperswings · begonnen am 26. Mär 2007 · letzter Beitrag vom 26. Mär 2007
Antwort Antwort
moperswings

Registriert seit: 27. Mai 2004
Ort: Bad Sooden-Allendorf
240 Beiträge
 
Delphi 6 Professional
 
#1

Dateinamen aus ComboBox.Items erstellen

  Alt 26. Mär 2007, 15:34
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:
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);
     ...
Bei ganz vielen ComboBoxen und Items wird diese Lösung unpraktisch!
Hoffe, Ihr könnt mir helfen und habt einen besseren Vorschlag!

Viele Grüsse, moperswings
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#2

Re: Dateinamen aus ComboBox.Items erstellen

  Alt 26. Mär 2007, 15:48
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:
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);
gekürzt komm ich auf dieses
Delphi-Quellcode:
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);
und bei 2 Einträgen bleibt nur noch dieses übrig
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?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
moperswings

Registriert seit: 27. Mai 2004
Ort: Bad Sooden-Allendorf
240 Beiträge
 
Delphi 6 Professional
 
#3

Re: Dateinamen aus ComboBox.Items erstellen

  Alt 26. Mär 2007, 15:55
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
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Dateinamen aus ComboBox.Items erstellen

  Alt 26. Mär 2007, 16:10
Dann wird sich das immer so abspielen:
dateiname := combobox1.Text + combobox2.Text + combobox2.Text + '.txt'; Warum also so kompliziert ?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#5

Re: Dateinamen aus ComboBox.Items erstellen

  Alt 26. Mär 2007, 16:12
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
Dateiname := ComboBox1.Text + ComboBox2.Text + ComboBox3.Text + '.txt'; = 'GetreideGersteSorten.txt'

Delphi-Quellcode:
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';
= 'gtrgeso.txt'


Delphi-Quellcode:
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';
= 'gtrgeso.txt'


[edit]
@Jelly: pühhh ... sich einfach einzischleichen ... neeeeee
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Dateinamen aus ComboBox.Items erstellen

  Alt 26. Mär 2007, 16:12
".Text" funktioniert wenn ich mich recht entsinne nicht wenn der Style auf "csDropDownList" steht
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
moperswings

Registriert seit: 27. Mai 2004
Ort: Bad Sooden-Allendorf
240 Beiträge
 
Delphi 6 Professional
 
#7

Re: Dateinamen aus ComboBox.Items erstellen

  Alt 26. Mär 2007, 16:16
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
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#8

Re: Dateinamen aus ComboBox.Items erstellen

  Alt 26. Mär 2007, 16:24
Zitat von SirThornberry:
".Text" funktioniert wenn ich mich recht entsinne nicht wenn der Style auf "csDropDownList" steht
Wieso nicht?

.Text liefert immer den String, welcher grad in der Box angezeigt wird.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Dateinamen aus ComboBox.Items erstellen

  Alt 26. Mär 2007, 16:51
bei Delphi6 oder Delphi7 mein ich mich zu erinnern das es nicht der Fall war.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#10

Re: Dateinamen aus ComboBox.Items erstellen

  Alt 26. Mär 2007, 16:58
Also in D4 und D7 geht es
(mit D7 grad nochma getestet hab)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  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 07:22 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