Thema: Delphi Probleme mit ComboBox

Einzelnen Beitrag anzeigen

Benutzerbild von Weazy
Weazy

Registriert seit: 7. Apr 2005
Ort: Bern (Schweiz)
414 Beiträge
 
Delphi 2007 Enterprise
 
#1

Probleme mit ComboBox

  Alt 15. Mai 2009, 17:09
Hallo, ich habe folgendes Problem. Ich habe eine Variable filename und filepath. In einer ComboBox will ich nun den vollen Dateinamen anzeigen, so weit kein Problem. Die Items der Combobox sind nun Pfade. Beim wählen einer dieser Pfade soll nun dieser Pfad gesetzt werden und dann der komplete dateinamen angezeigt werden. Das Problem ist nun dass im folgenden Code anstatt der korrekte Dateinamen der jeweilige Pfad angezeigt wird, woran könnte das liegen?

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    ComboBox1: TComboBox;
    procedure FormCreate(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure Edit2Change(Sender: TObject);
    procedure ComboBox1Select(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  filename:String='test.txt';
  filepath:String='c:\a\b\';

implementation

{$R *.dfm}

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  filename:=ExtractFileName(ComboBox1.Text);
  filepath:=ExtractFileDir(ComboBox1.Text)+'\';
  Edit1.Text:=filename;
  Edit2.Text:=filepath;
  ComboBox1.Text:=filepath+filename;
end;

procedure TForm1.ComboBox1Select(Sender: TObject);
begin
  filePath:=ComboBox1.Text;
  Edit2.Text:=filepath;
  ComboBox1.Text:=filepath+'\'+filename;
  showmessage(ComboBox1.Text);
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
  filename:=Edit1.Text;
  ComboBox1.Text:=filepath+filename;
end;

procedure TForm1.Edit2Change(Sender: TObject);
begin
  filepath:=Edit2.Text;
  ComboBox1.Text:=filepath+filename;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Edit1.Text:=filename;
  Edit2.Text:=filepath;
  ComboBox1.Text:=filepath+filename;
end;

end.
Philippe Wechsler
  Mit Zitat antworten Zitat