Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#1

TSaveDialog, OnTypeChange, FileName zur Laufzeit ändern

  Alt 29. Jul 2009, 11:46
Hallo #,

folgender Code wird dem OnTypeChanged eines TSaveDialog zugewiesen,

Delphi-Quellcode:
{ filter type changed }
procedure TForm1.DoCommonExportToXLS_TypeChange(Sender: TObject);
var
  sFileName : String;
  sFileExt : String;
begin
  try
    Assert(ExcelFileDialog<>NIL, 'ExcelFileDialog=NIL');
    if ExcelFileDialog=NIL then Exit;

   // xlsx
    if ExcelFileDialog.FilterIndex=2 then
    begin
      sFileName := ExcelFileDialog.FileName;
      sFileExt := ExtractFileExt(sFileName);
      if sFileExt<>'.xlsxthen
      begin
        sFileName:= ChangeFileExt(sFileName, '.xlsx');
        ExcelFileDialog.FileName:= sFileName; // klappt nicht
      end;
    end;
  except
  end;
end; { TForm1.DoCommonExportToXLS_TypeChange }
In der Hlfe steht es auch schön drin
Zitat:
Programmbedingte Änderungen von FileName haben keine Auswirkungen auf aktive Dialogfelder.
Wozu soll dann das OnTypeChanged überhaupt gut sein ?
Wie kann ich denn nun den Namen doch noch ändern,
ohne gleich gross mit Hooks (?) rumzubasteln
oder wie bei "CheckBox zu TSaveDialog" hinzufügen rumzufummeln.

Danke


Heiko
Heiko
  Mit Zitat antworten Zitat