Autor Thema: Nur bestimmte Dateien in Richtextlite  (Gelesen 1256 mal)

Offline mariab

  • Aktives Mitglied
  • ***
  • Beiträge: 123
Nur bestimmte Dateien in Richtextlite
« am: 07.03.08 - 12:47:11 »
Habe in einer Maske ein Feld vom Typ Richtextlite und möchte, dass dort nur PDF oder PPT Dokumente erlaub sind.
Habe versucht dies mit einem zweiten Feld zu überprüfen.
Das Feld Fülle ich mit
Code
@right(@attachmentnames;".");
Dann schaue ich mit einer Validierungsformel nach ob das Feld die richtigen Dateien beinhaltet:
Code
@If(D_Doku != "" & (!@Contains(Ext;"PDF") | !@Contains(Ext;"PPT"));@Failure("Dateityp nicht zugelassen");@Success)

Haken:
  • Wenn das Richtextlite-Feld mehrere Dateien beinhaltet wie z.B. ein .doc und eine .pdf Datei, so funktioniert dies mit @Contains nicht mehr, da es ja ein .pdf beinhaltet.
  • Wenn der Benutzer auch nur eine einzige falsche Datei anhängt, so startet die Validierungsformel und der Benutzer ist nicht mehr imstande das Dokument zu wechseln

Bräuchte hier nun einige Tipps bzw. Vorschläge wie man sowas besser löst. Vielleicht hat der eine oder ander ja auch schon eine Lösung.

Danke im Voraus für jede Hilfe

Offline gossifu

  • Senior Mitglied
  • ****
  • Beiträge: 352
  • Geschlecht: Männlich
  • Dummheit schafft Freizeit
Re: Nur bestimmte Dateien in Richtextlite
« Antwort #1 am: 07.03.08 - 15:42:38 »
Hallo,

zum einen kannst Du mit @For eine Schleife bauen und die Endungen abfragen und vergleichen.
Zum anderen könntest Du deine Abfrage für alle nichtgewünschten Endungen umbauen.

1. Variante
Code
REM {e ist der Counter für Fehler};
e:=0;

@For(n:=1;n<=@Elements(Ext);n:=n+1;
   @If(!@Contains(@LowerCase(Ext[n]);"pdf") & !@Contains(@LowerCase(Ext[n]);"ppt");e:=e+1;"")
);
@If(e>0;@Failure...
2. Variante:

Code
@If(D_Doku != "" & (@Contains(@LowerCase(Ext);".doc") | (@Contains(@LowerCase(Ext);".xls") | und so weiter und so weiter...);@Failure("Dateityp nicht zugelassen");@Success)

Empfehlen würde ich erste Variante und dann vielleicht noch die Endung pps mit aufnehmen.

mfg

Kjeld

PS: Die Validierung würde ich im Textfeld machen, welches die Anhangsnamen speichert.


Immer lustig und vergnügt, bis der A.... im Sarge liegt. ;-)

Offline mariab

  • Aktives Mitglied
  • ***
  • Beiträge: 123
Re: Nur bestimmte Dateien in Richtextlite
« Antwort #2 am: 10.03.08 - 10:49:51 »
Danke für die Hilfe. Finde die erste Lösung auch besser. Allerdings habe ich noch das Problem, dass der Benutzer es nicht schafft den Anhang zu ändern bzw. zu löschen, da die Validierungsformel sofort startet, bevor der Benutzer eine Änderung machen kann.

Code
REM {e ist der Counter für Fehler};
e:=0;
@For(n:=1;n<=@Elements(Ext);n:=n+1;
   @If(!@Contains(@LowerCase(Ext[n]);"pdf") & !@Contains(@LowerCase(Ext[n]);"ppt");e:=e+1;"")
);
@If(e>0;@Failure("Dateityp nicht zugelssen");@Success)

Offline mariab

  • Aktives Mitglied
  • ***
  • Beiträge: 123
Re: Nur bestimmte Dateien in Richtextlite
« Antwort #3 am: 10.03.08 - 11:13:05 »
Ok, ich habs.
Wenn ich das Textfeld mit den Erweiterungen unter das Feld mit den Dateianhängen stelle, so kann der Benutzer die Anhänge auch löschen

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz