AGB  ·  Datenschutz  ·  Impressum  







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

String durchsuchen

Ein Thema von Uncle Cracker · begonnen am 30. Dez 2003 · letzter Beitrag vom 31. Dez 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Uncle Cracker
Uncle Cracker

Registriert seit: 30. Mär 2003
Ort: Freital
694 Beiträge
 
#1

String durchsuchen

  Alt 30. Dez 2003, 19:51
Ich habe mir folgende Funktion gebastelt, um zu überprüfen, ob eine Datei eine DLL-Datei ist:

Code:
procedure TForm1.FormCreate(Sender: TObject);
begin
if(pos('.dll','C:\Test.dll') > 0) then
Label1.Caption:='DLL-Datei' else Label1.Caption:='Keine DLL-Datei'
end;
Klappt auch super, jedoch wenn die Datei Test.DLL heißt, geht es schon wieder nicht

Gibt es vielleicht ein kurze Möglichkeit, dass die Groß- und Kleinbuchstaben egal sind, denn ich möchte nicht alle möglichkeiten durch gehen, also dLL, dlL, DlL usw.


Danke UC
I wish it was legal to marry software because I'm madly in love with Delphi...
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: String durchsuchen

  Alt 30. Dez 2003, 19:53
so:

if (Pos('.DLL',AnsiUpperCase('C:\Test.dll')) > 0) then
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Uncle Cracker
Uncle Cracker

Registriert seit: 30. Mär 2003
Ort: Freital
694 Beiträge
 
#3

Re: String durchsuchen

  Alt 30. Dez 2003, 19:57
Ok, hat sich erledigt, habe selbst eine Lösung gefunden:

Code:
procedure TForm1.FormCreate(Sender: TObject);
begin
if(pos('.dll',lowercase('C:\Test.Dll')) > 0) then
Label1.Caption:='DLL-Datei' else Label1.Caption:='Keine DLL-Datei'
end;
I wish it was legal to marry software because I'm madly in love with Delphi...
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: String durchsuchen

  Alt 30. Dez 2003, 22:16
Moin UC,

Zitat von Uncle Cracker:
habe selbst eine Lösung gefunden:
Jain.
Was machst Du, wenn die Datei .dll im Dateinamen beinhaltet, z.b. Test.dll.exe, oder die Endung länger ist test.dll2?
Schau Dir mal die LastDelimiter an, und nehm dann alles ab dem letzen Punkt im String für den Vergleich.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#5

Re: String durchsuchen

  Alt 30. Dez 2003, 22:23
Also wenn, dann wenigstens so:
Delphi-Quellcode:
If AnsiUpperCase(ExtractFileExt('C:\Test.Dll')) = '.DLLThen
  Label1.Caption := 'DLL-DateiElse Label1.Caption := 'Keine DLL-Datei';
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: String durchsuchen

  Alt 30. Dez 2003, 23:17
Wer sagt, dass eine DLL auch die Endung DLL haben muss? Bei Assarbad www.assarbad.org gibt es ein Programm mit Source, um zu bestimmen ob eine datei ein gültiges PE32 Format hat. Ähnliches sollte sich auch mit DLL's machen lassen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Uncle Cracker
Uncle Cracker

Registriert seit: 30. Mär 2003
Ort: Freital
694 Beiträge
 
#7

Re: String durchsuchen

  Alt 30. Dez 2003, 23:28
Ich habe mir mal das Programm von Assarbad angeguckt, konnte nix finden, was mir weiter helfen könnte.

Eigentlich auch logisch? Denn eine Dll ist doch auch nur eine gültiges PE32 Format, oder irre ich mich da jetzt
I wish it was legal to marry software because I'm madly in love with Delphi...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: String durchsuchen

  Alt 30. Dez 2003, 23:33
Also ich würde länger als 10 Minuten brauchen, um zu verstehen, was er da macht und vor allem wie.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Uncle Cracker
Uncle Cracker

Registriert seit: 30. Mär 2003
Ort: Freital
694 Beiträge
 
#9

Re: String durchsuchen

  Alt 31. Dez 2003, 00:36
Ich habe mich jetzt mal ein bisschen rangesetzt und eine schöne kleine Funktion geschrieben, die überprüft ob die eingegeben Datei eine DLL-Datei ist, egal wie die geschrieben ist:


Delphi-Quellcode:
function isDll(Dateiname: string): Boolean;
var
  i : Integer;
  s : String;
begin
  if(pos('.',Dateiname) > 0) then
    begin
      i := length(Dateiname);
      while(Dateiname[i] <> '.') do dec(i);
      s := lowercase(copy(Dateiname,i,99));
      if length(s)=4 then
        begin
          if(pos('.dll',s) > 0) then
            Result := true
          else Result := false
        end else Result := false
     end
  else
    Result := false
end;
Auch wenn der der Dateiname .exe.dll oder dll.exe heißt, kommt man zum richtigen Ergebnis.
Ist sicher ein bisschen umständlich programmiert, aber es läuft
I wish it was legal to marry software because I'm madly in love with Delphi...
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: String durchsuchen

  Alt 31. Dez 2003, 13:14
Moin UC,

zum einen ist Himitsus Variante doch auch gut, zum anderen kann ich mich des Eindruckes nicht erwehren, dass Du Dir LastDelimiter nicht wirklich angeschaut hast
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 09:30 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