TOpenDialog, Filter

TOpenDialog, Filter

Beitragvon Mathias » 31. Dez 2015, 16:46 TOpenDialog, Filter

Bei folgenden Code werden alle Text-Dateien aufgelistet.
Code: Alles auswählen
  OpenDialog1.InitialDir:='test';
  OpenDialog1.DefaultExt:='txt';
  OpenDialog1.Execute;


Egal ob *.txt; *.Txt, *.TXT .

Weise ich aber einen Filter zu, wird nur noch *.txt aufgelistet.
Code: Alles auswählen
OpenDialog1.Filter:='Text-Dateien|*.txt';


Gut, ich könnte es so machen:
Code: Alles auswählen
OpenDialog1.Filter:='Text-Dateien|*.TXT;*.txt'


Aber dann müsste ich 8 verschiedene Schlüssel berücksichtigen.

Gibt es dafür etwas einfacheres ?

ZB.
Code: Alles auswählen
FindAllFiles('.'*.TXT'); 
listet auch alle auf, egal wie geschrieben.

Das Problem ist natürlich nur unter Linux vorhanden, da Windows keine Unterschied zwischen gross und klein macht.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4250
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon theo » 31. Dez 2015, 18:14 Re: TOpenDialog, Filter

Mathias hat geschrieben:Gibt es dafür etwas einfacheres ?

Nicht dass ich wüsste.
Unter Unix sind die Dateinamenserweiterungen sowieso alle klein afaics.
theo
 
Beiträge: 8054
Registriert: 11. Sep 2006, 18:01

Beitragvon Mathias » 1. Jan 2016, 19:56 Re: TOpenDialog, Filter

Unter Unix sind die Dateinamenserweiterungen sowieso alle klein afaics.

In der Regel schon. aber leider halten sich nicht alle daran.


Mit FileExists stehe ich auch an.
Ich versuche es jetzt so zum umgehen, ist aber sicher auch keine saubere Lösung. :?

Code: Alles auswählen
function MyFileExists(s: UnicodeString): boolean;
var
  SL: TStringList;
begin
  SL := FindAllFiles('.',s, False);
  Result := (SL.Count > 0);
  SL.Free;
end;
 
procedure TForm1.Button3Click(Sender: TObject);
begin
  if MyFileExists('PrOjEcT1.lPi') then begin
    ShowMessage('Datei vorhanden');
  end else begin
    ShowMessage('Datei nicht vorhanden');
  end;
end


Ich bin an einem Konverter von Windows umzuschreiben, welcher CD-Coverdateien kopiert/konvertiert.
Dabei werden 'Front.jpg' gesucht, geladen, konvertiert und in 'folder.jpg' gespeichert.
Nur ist 'front.jpg' nicht immer gleich geschrieben.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4250
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

• Themenende •

Zurück zu Linux



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried