AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Eigener Dateimanager, Bei Klick oder Tastenbewegung Datei auswählen, wie?
Thema durchsuchen
Ansicht
Themen-Optionen

Eigener Dateimanager, Bei Klick oder Tastenbewegung Datei auswählen, wie?

Ein Thema von DualCoreCpu · begonnen am 29. Mär 2019 · letzter Beitrag vom 30. Mär 2019
Antwort Antwort
DualCoreCpu
(Gast)

n/a Beiträge
 
#1

Eigener Dateimanager, Bei Klick oder Tastenbewegung Datei auswählen, wie?

  Alt 29. Mär 2019, 22:05
Delphi-Version: 2006
Hallo,

Ich habe folgenden Code:

Delphi-Quellcode:
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) = '.rtfthen
    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.
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.

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?
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#2

AW: Eigener Dateimanager, Bei Klick oder Tastenbewegung Datei auswählen, wie?

  Alt 29. Mär 2019, 22:10
Nur ins Blaue geraten. Versuch mal KeyUp statt KeyPress.
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
969 Beiträge
 
Delphi 6 Professional
 
#3

AW: Eigener Dateimanager, Bei Klick oder Tastenbewegung Datei auswählen, wie?

  Alt 30. Mär 2019, 00:24
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)) = '.EXEthen begin
    ShowMessage('Dies ist eine EXE und ich hole jetzt die Textdatei...');
  end;
end;
  Mit Zitat antworten Zitat
DualCoreCpu
(Gast)

n/a Beiträge
 
#4

AW: Eigener Dateimanager, Bei Klick oder Tastenbewegung Datei auswählen, wie?

  Alt 30. Mär 2019, 11:58
Danke Euch beiden, Sowohl das Change Ereignis als auch das KeyUp Ereignis funktionieren.

Ich mach das aber nun mit dem Change Ereignis.
  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 06:30 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