TOpenPictureDialog und "Filter" unter Linux [gelöst]
-
- Beiträge: 1581
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
- CPU-Target: 32/64Bit
TOpenPictureDialog und "Filter" unter Linux [gelöst]
Hallo,
Im TOpenPictureDialog habe ich Filter für Grafikdateien eingestellt, z.B.:
Joint Picture Expert Group (*.jpeg;*.jpg;*.jpe;*.jfif) | *.jpeg;*.jpg;*.jpe;*.jfif
Wenn die Datei so heißt:
Bild.jpg
dann wird dieses in der Auswahlliste gezeigt.
Hingegen die Bilder mit dem Dateiname:
Bild2.JPG, Bild3.Jpg
werden nicht gezeigt.
Kann man den Dialog so einstellen, das alle Dateien unabhängig von der Groß-/Kleinschreibung immer angezeigt werden, so wie es Windows auch macht?
Dankeschön für die Hilfe, Viele Grüße Markus.
Im TOpenPictureDialog habe ich Filter für Grafikdateien eingestellt, z.B.:
Joint Picture Expert Group (*.jpeg;*.jpg;*.jpe;*.jfif) | *.jpeg;*.jpg;*.jpe;*.jfif
Wenn die Datei so heißt:
Bild.jpg
dann wird dieses in der Auswahlliste gezeigt.
Hingegen die Bilder mit dem Dateiname:
Bild2.JPG, Bild3.Jpg
werden nicht gezeigt.
Kann man den Dialog so einstellen, das alle Dateien unabhängig von der Groß-/Kleinschreibung immer angezeigt werden, so wie es Windows auch macht?
Dankeschön für die Hilfe, Viele Grüße Markus.
Zuletzt geändert von MmVisual am Do 27. Aug 2020, 11:06, insgesamt 1-mal geändert.
EleLa - Elektronik Lagerverwaltung - www.elela.de
- Roland Chastain
- Beiträge: 168
- Registriert: Sa 7. Jul 2012, 21:50
- Wohnort: Saargemünd
- Kontaktdaten:
Re: TOpenPictureDialog und "Filter" unter Linux
Hallo!
Jemand hat hier eine Lösung angeboten.
https://forum.lazarus.freepascal.org/in ... #msg288408
Ich habe es nicht versucht. Ich weiß nicht, ob das bei Ihnen funktioniert.
Jemand hat hier eine Lösung angeboten.
https://forum.lazarus.freepascal.org/in ... #msg288408
Ich habe es nicht versucht. Ich weiß nicht, ob das bei Ihnen funktioniert.
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.
Pourvu que Dieu lui prête vie.
- kralle
- Lazarusforum e. V.
- Beiträge: 1196
- Registriert: Mi 17. Mär 2010, 14:50
- OS, Lazarus, FPC: Manjaro Linux, Mint und Windows 10 ,Lazarus 3.99, FPC-Version: 3.3.1
- CPU-Target: 64Bit
- Wohnort: Bremerhaven
- Kontaktdaten:
Re: TOpenPictureDialog und "Filter" unter Linux
Moin,
aus Neugier habe ich das gerade mal aus probiert.
Ergebnis: Nur Dateiendungen in Kleinbuchstaben werden angezeigt.
OS: Linux Mint 20 Cinnamon 64-Bit
Gruß HEiko
aus Neugier habe ich das gerade mal aus probiert.
Ergebnis: Nur Dateiendungen in Kleinbuchstaben werden angezeigt.

OS: Linux Mint 20 Cinnamon 64-Bit
Gruß HEiko
OS: Manjaro Linux, Linux Mint und Windows 10
FPC-Version: 3.3.1 , Lazarus 3.99
+ Delphi XE7SP1
FPC-Version: 3.3.1 , Lazarus 3.99
+ Delphi XE7SP1
-
- Beiträge: 1581
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: TOpenPictureDialog und "Filter" unter Linux
Vielen Dank für den Tipp, hier mein Code daraus
Beim FormCreate kann man automatisch alle Komponenten durchlaufen und alle TFileDialog wandeln.

Code: Alles auswählen
// Für z.B. TFileNameEdit:
Function ChangeFileNameFilter(sFilter: String): String; // Filter-String für Linux die Groß/Kleinschreibung als Filter setzen
{$ifdef UNIX}
Var sl: TStringList;
s, s2: String;
i, k: Integer;
{$endif}
Begin
{$ifdef UNIX}
// macht aus "*.jpg" ein "*.[jJ][pP][gG]"
sl := TStringList.Create;
sl.Delimiter := '|';
sl.StrictDelimiter := True;
sl.DelimitedText := sFilter;
For i := 0 To sl.Count - 1 Do
Begin
If (i Mod 2) = 1 Then
Begin
s := sl[i];
For k := Length(s) DownTo 1 Do
Begin
s2 := LowerCase(Copy(s, k, 1));
If s2[1] In ['a'..'z'] Then
Begin
s2 := '[' + s2 + UpperCase(s2) + ']';
Delete(s, k, 1);
Insert(s2, s, k);
End;
End;
sl[i] := s;
End;
End;
Result := sl.DelimitedText;
sl.Free;
{$else} // Windows
Result := sFilter;
{$endif}
End;
Procedure ChangeTDialogFilter(dlg: TFileDialog); // TDialogXXX.Filter für Linux die Groß/Kleinschreibung als Filter setzen
Begin
{$ifdef UNIX}
dlg.Filter := ChangeFileNameFilter(dlg.Filter);
{$endif}
End;
EleLa - Elektronik Lagerverwaltung - www.elela.de
-
- Beiträge: 6918
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: TOpenPictureDialog und "Filter" unter Linux [gelöst]
Interessanter Trick mit den [].
Kommt dies vom OS ?
In der Unit "Dialogs" kann ich keine [] finden.
Kommt dies vom OS ?
In der Unit "Dialogs" kann ich keine [] finden.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: TOpenPictureDialog und "Filter" unter Linux [gelöst]
Das kommt vom Widgetset, wird aber von vielen Entwicklern in verschiedenen Programmen umgesetzt. Die Bash kann das z.B. auch. Stichwort: glob bzw. globbingMathias hat geschrieben: Do 27. Aug 2020, 16:05 Interessanter Trick mit den [].
Kommt dies vom OS ?
In der Unit "Dialogs" kann ich keine [] finden.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
- Roland Chastain
- Beiträge: 168
- Registriert: Sa 7. Jul 2012, 21:50
- Wohnort: Saargemünd
- Kontaktdaten:
Re: TOpenPictureDialog und "Filter" unter Linux
Sehr gut gemacht. Ich hätte es nicht so einfach machen können.

Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.
Pourvu que Dieu lui prête vie.