AGB  ·  Datenschutz  ·  Impressum  







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

If-Schleifen-Haufen zusammenfassen

Ein Thema von XeRo · begonnen am 23. Okt 2006 · letzter Beitrag vom 23. Okt 2006
Antwort Antwort
Seite 2 von 3     12 3      
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: If-Schleifen-Haufen zusammenfassen

  Alt 23. Okt 2006, 16:40
Delphi-Quellcode:
const
  FileType ='avi_mpg_mpeg_wmf';

if pos(s,FileType) <> 0 then
  ...
mein letzter Versuch.

Einen schönen Feierabend.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
XeRo

Registriert seit: 23. Okt 2003
Ort: Warth
461 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: If-Schleifen-Haufen zusammenfassen

  Alt 23. Okt 2006, 16:42
Wow danke für die extrem schnellen antworten!
Besonders Letzte methode gefällt mir!
Vielen dank!
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#13

Re: If-Schleifen-Haufen zusammenfassen

  Alt 23. Okt 2006, 16:43
Zitat von XeRo:
Besonders Letzte methode gefällt mir!
Klaus' oder meine?
  Mit Zitat antworten Zitat
dino

Registriert seit: 15. Jul 2006
Ort: Bad Münstereifel
627 Beiträge
 
Delphi 5 Professional
 
#14

Re: If-Schleifen-Haufen zusammenfassen

  Alt 23. Okt 2006, 16:45
kann man sich nicht ne boolean Prozedur schreiben, der man den Vergleichswert mit allen Möglichkeiten übergibt ( genau), und true rauskriegt, wenn einer der Möglichkeiten= dem Vergleichswert sind...
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#15

Re: If-Schleifen-Haufen zusammenfassen

  Alt 23. Okt 2006, 16:47
Hi dino,

das sollte wohl kein Problem darstellen:

Delphi-Quellcode:
function InArray(What: String; const Values: Array of String): Boolean;
begin
  Result := AnsiIndexText(What, Values) > - 1;
end;
  Mit Zitat antworten Zitat
Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#16

Re: If-Schleifen-Haufen zusammenfassen

  Alt 23. Okt 2006, 21:18
Zitat von Klaus01:
Delphi-Quellcode:
const
  FileType ='avi_mpg_mpeg_wmf';

if pos(s,FileType) <> 0 then
  ...
Hm, und wenn s = 'i_m'? Ich wage aber zu bezweifeln, dass das schneller ist, als die Methode mit den if-Abfragen. Im Gegenteil. So wie du es mit den if's machst, ist es schon das Beste, alternativ mit der Funktion à la Dino.
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#17

Re: If-Schleifen-Haufen zusammenfassen

  Alt 23. Okt 2006, 21:59
AnsiIndexText gibts aber noch nicht in delphi5 ...

alternativ erstelle man sich ein array of integer und
eine funktion die man mit dem suchwort füttert, die dann das array durchläuft und den index bw true oder false zurückliefert.
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#18

Re: If-Schleifen-Haufen zusammenfassen

  Alt 23. Okt 2006, 22:22
Zitat von computer-glossar.de:
AnsiIndexText gibts aber noch nicht in delphi5 ...
Dann halt der Haudrauf-Weg.
Delphi-Quellcode:
function InArray(s: string; const StrArray: array of string): boolean;
var i: integer;
begin
result := false;
for i := 0 to high(StrArray)-1 do
begin
  if s=StrArray[i] then
  begin
    result := true;
    break;
  end;
end;
Aufruf wäre etwa so:
Delphi-Quellcode:
const
  FileTypes: array [0..4] of string = ('avi', 'mpg', 'mpeg', 'wmf', 'wmv');
//...
if InArray(s, FileTypes) then DoSomething;
Ist jetzt grob zusammen gezimmert
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#19

Re: If-Schleifen-Haufen zusammenfassen

  Alt 23. Okt 2006, 22:23
Hallo,

oder die Extensionen in eine Stringlist schreiben und dann mit IndexOf prüfen.
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#20

Re: If-Schleifen-Haufen zusammenfassen

  Alt 23. Okt 2006, 22:47
Delphi-Quellcode:
function InArray(s: string; const StrArray: array of string): boolean;
var
  i: integer;
begin
  result := false;
  for i := 0 to high(StrArray)-1 do
  begin
    if s=StrArray[i] then
    begin
      result := true;
      break;
    end;
  end;
end;
würd ich immer über ne while schleife lösen,
weil break sind nen "no go"
also:
Delphi-Quellcode:
function InArray(s: string; const StrArray: array of string): boolean;
var
  i: integer;
begin
  result := false;
  i := 0;
  while (not Result) and (i < to high(StrArray)) do
  begin
    result := s=StrArray[i];
    Inc(i);
  end;
end;
und das ganze könnte man dann ja noch um die möglichkeit erweitern auf groß/kleinschreibung zu achten oder nicht
Delphi-Quellcode:
function InArray(s: string; const StrArray: array of string; bCaseSensitiv: Boolean = false): boolean;
var
  i: integer;
begin
  result := false;

  if not bCaseSensitiv then
    s := AnsiUpperCase(s);

  i := 0;
  while (not Result) and (i < to high(StrArray)) do
  begin
    if bCaseSensitiv then
      result := s=StrArray[i]
    else
      result := s=AnsiUpperCase(StrArray[i]);

    Inc(i);
  end;
end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 17:20 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