![]() |
Delphi-Version: 2006
Eigener Dateimanager, Bei Klick oder Tastenbewegung Datei auswählen, wie?
Hallo,
Ich habe folgenden Code:
Delphi-Quellcode:
Ich will auf Mausklick und Tastenbewegung mit den Cursortasten derart reagieren, dass bei Auswahl einer xxx.rtf Datei eine gleichnamige xxx.txt Datei in ein Memo geladen wird, die eine Beschreibung der .rtf Datei liefert.
unit UGamedlg;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, FileCtrl; type TForm1 = class(TForm) DirectoryListBox: TDirectoryListBox; DriveComboBox: TDriveComboBox; FileListBox: TFileListBox; FilterComboBox: TFilterComboBox; Label1: TLabel; lblFiletypes: TLabel; lblDescription: TLabel; mDescription: TMemo; btnOk: TBitBtn; btnCancel: TBitBtn; btnHelp: TBitBtn; lblFilename: TLabel; procedure FileListBoxKeyPress(Sender: TObject; var Key: Char); procedure btnOkClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.btnOkClick(Sender: TObject); var Filename: String; Filepart: String; Fileextn: String; ExtSepPos: Integer; begin Fileextn := '.txt'; Filename := FileListBox.FileName; FilePart := Filename; ExtSepPos := POS('.',FileName); if ExtSepPos>0 then System.Delete(Filepart,ExtSepPos,3); {if Key = #13 then} if ExtractFileExt(FileName) = '.rtf' then begin mDescription.Clear; Filename := ChangeFileExt(Filename,'.txt'); mDescription.Lines.LoadFromFile(Filename); end; end; procedure TForm1.FileListBoxKeyPress(Sender: TObject; var Key: Char); begin BtnOkClick(Sender); //funktioniert leider nicht wie gewünscht end; end. Worin besteht der Sinn dafür? Wenn ich eine PC Spielsammlung habe, will ich die .exe Datei davon anklicken und in der in das Memo geladenen .txt Datei soll eine Beschreibung des Spiels erscheinen. Wenn ich mit obigem Code den Ok Butto klicke erhalte ich die Beschreibung, bei Bewegung der Cursortasten nicht. Mausklick habe ich noch nicht codiert. Was muss ich anders machen? |
AW: Eigener Dateimanager, Bei Klick oder Tastenbewegung Datei auswählen, wie?
Nur ins Blaue geraten. Versuch mal KeyUp statt KeyPress.
|
AW: Eigener Dateimanager, Bei Klick oder Tastenbewegung Datei auswählen, wie?
Hmm..
Wieso brauchst Du den MouseClick oder Keyevents? Es geht doch darum, das wenn eine Datei in der FileListBox selektiert wird, egal ob mit CLick oder Key, zu dieser ausgewählten Datei eventuell etwas zusätzliches angezeigt wird.. Somit genügt doch eigentlich das OnChange Event der FileListBox. Nach dem Schema
Delphi-Quellcode:
procedure TForm1.FileListBox1Change(Sender: TObject);
begin if UpperCase(ExtractFileExt(FileListBox1.FileName)) = '.EXE' then begin ShowMessage('Dies ist eine EXE und ich hole jetzt die Textdatei...'); end; end; |
AW: Eigener Dateimanager, Bei Klick oder Tastenbewegung Datei auswählen, wie?
Danke Euch beiden, Sowohl das Change Ereignis als auch das KeyUp Ereignis funktionieren.
Ich mach das aber nun mit dem Change Ereignis. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:33 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