AGB  ·  Datenschutz  ·  Impressum  







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

Eingabe Dialog

Ein Thema von LoL · begonnen am 30. Aug 2005 · letzter Beitrag vom 30. Aug 2005
Antwort Antwort
LoL
(Gast)

n/a Beiträge
 
#1

Eingabe Dialog

  Alt 30. Aug 2005, 11:48
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?
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Eingabe Dialog

  Alt 30. Aug 2005, 12:21
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
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
LoL
(Gast)

n/a Beiträge
 
#3

Re: Eingabe Dialog

  Alt 30. Aug 2005, 12:40
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.
  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 14:24 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