![]() |
Eingabe Dialog
Hi,
es geht um folgendes: Ich möchte ein Dialog in dem man einen Dateinamen eingeben kann. Dazu noch ein Ok sowie abbrechen Button. Delphi bietet dazu zb eine Inputbox an. Den Savedialog will ich nicht verwenden da der Benutzer den Pfad nicht aussuchen darf. Mein Problem ist nun das ich einige Zeichen in dem Eingabefeld für den Dateinamen verbieten will, da ja bekanntlicherweis einige Zeichen in einem Dateinamen verboten sind! Gibt es dafür eine einfach Lösung ohne gleich ein Komplett neues Form per Hand zu erstellen? |
Re: Eingabe Dialog
hi,
entweder du nimmst die inputBox und prüfst dann erst, ob ein legaler dateiname eingegeben wurde. oder du machst dir ein neues formular, bastelst alles, wie du es da möchtest und rufst das schließlich per ShowModal() auf. ich würde letzteres bevorzugen ;) aenogym |
Re: Eingabe Dialog
So hab ich mich nun mit Mützes hilfe auch entschieden Vielen dank!
Delphi-Quellcode:
unit savedlg;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; type TSaveDlg = class(TForm) btbtn_ok: TBitBtn; btbtn_cancel: TBitBtn; lbl_filename: TLabel; ed_filename: TEdit; procedure btbtn_okClick(Sender: TObject); procedure ed_filenameKeyPress(Sender: TObject; var Key: Char); private { Private declarations } public { Public declarations } function ShowModal(var AFileName : String): TModalResult; ReIntroduce; end; var frm_SaveDlg: TSaveDlg; implementation {$R *.dfm} function TSaveDlg.ShowModal(Var AFileName: String): TModalResult; begin ed_filename.Text := AFileName; result := inherited ShowModal; if ( Result = mrOk ) then AFileName := ed_filename.Text; end; procedure TSaveDlg.btbtn_okClick(Sender: TObject); begin If ( Length(Trim(ed_filename.Text)) = 0 ) Then // ok, nix eingegeben oder nur leerzeichen Begin MessageDlg('Bitte geben Sie einen Dateinamen an!', mtError, [mbOk], 0); ed_filename.SetFocus; Exit; End; ModalResult := mrOk; end; procedure TSaveDlg.ed_filenameKeyPress(Sender: TObject; var Key: Char); const cValidFileNameKey : set of Char = [#8,#32,#33,#35..#41,#43..#46,#48..#57,#59,#61,#65..#91,#93..#123,#125,#126]; begin if not ((Key in cValidFileNameKey)) then Key := #0; end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:38 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