Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Prüfen ob string auf '.exe' endet (https://www.delphipraxis.net/192792-pruefen-ob-string-auf-exe-endet.html)

zobien123 19. Mai 2017 10:04

Prüfen ob string auf '.exe' endet
 
Hi :-D

folgendes Problem:pale:: Ich möchte einen String aus einem Edit-Feld prüfen, ob er auf '.exe' endet, wenn nicht soll '.exe' angehängt werden. Gibt es irgendwie eine Funktion, mit der man von rechts nach links die Zeichen überprüfen kann, ob diese '.exe' sind?

Vielen Dank für eure Antwort

Neutral General 19. Mai 2017 10:10

AW: Prüfen ob string auf '.exe' endet
 
Delphi-Quellcode:
if AnsiLowerCase(ExtractFileExt(str)) = '.exe' then

Poelser 19. Mai 2017 10:18

AW: Prüfen ob string auf '.exe' endet
 
Einfach aus SysUtils ChangeFileExt die Extension ändern. Wenn die bereits auf .exe lautet, bleibt sie so wie sie ist.

HTH, Poelser

Aviator 19. Mai 2017 10:22

AW: Prüfen ob string auf '.exe' endet
 
Zitat:

Zitat von Poelser (Beitrag 1372039)
Einfach aus SysUtils ChangeFileExt die Extension ändern. Wenn die bereits auf .exe lautet, bleibt sie so wie sie ist.

HTH, Poelser

Das ist aber sehr radikal. Welchen Vorteil erhoffst du dir davon? :shock:

zobien123 19. Mai 2017 10:23

AW: Prüfen ob string auf '.exe' endet
 
Zitat:

if AnsiLowerCase(ExtractFileExt(str)) = '.exe' then
Klingt gut, jedoch bekomme ich eine Fehlermeldung:
Zitat:

E2015 Operator ist auf diesen Operandentyp nicht anwendbar
<Edit> Ich kann wohl nicht AnsiLowerCase(ExtractFileExt(s)) = '.exe' vergleichen</Edit>

zobien123 19. Mai 2017 10:32

AW: Prüfen ob string auf '.exe' endet
 
Okay hab es. War ein Dummheitsfehler :oops:

Code:
 
  if AnsiLowerCase(ExtractFileExt(s)) <> '.exe' then
  begin
    s := s + '.exe';
  end;

Danke für die Hilfe :thumb:

hoika 19. Mai 2017 10:52

AW: Prüfen ob string auf '.exe' endet
 
Hallo,
mit Pos oder Copy wäre das auch gegangen

if Pos('.exe',S)=Length(S)-4 (oder -3 ;) )
if Copy(S,Length(S)-4,4)='.exe'

Das Upper darf der TE selber einfügen ...

Delphi-Laie 19. Mai 2017 11:00

AW: Prüfen ob string auf '.exe' endet
 
Ich würde vorher noch mit lowercase "normieren", denn so, wie es hier angeboten wird, wird z.B. ".EXE" nicht erfaßt, obwohl das eine zulässige Executable-Endung ist.

Daniel 19. Mai 2017 11:03

AW: Prüfen ob string auf '.exe' endet
 
Ich nutze für sowas gern "EndsText()" aus der Unit System.StrUtils.
Wobei sich diese Funktion nur um Strings kümmert - ob das nun ein Dateiname ist, interessiert sie nicht.

DeddyH 19. Mai 2017 11:03

AW: Prüfen ob string auf '.exe' endet
 
Delphi-Quellcode:
uses StrUtils;

...

if AnsiEndsText('.exe', s) then
  ...
[edit] @Cheffe :lol: [/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:54 Uhr.
Seite 1 von 2  1 2      

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