Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: fiuman007 am 29.07.04 - 08:57:51

Titel: Attachmentlänge beschränken
Beitrag von: fiuman007 am 29.07.04 - 08:57:51
Tach,

ich will eine Beschränkung der Anhangsgröße machen. Also für ein RT-Feld hab ich jetzt folgende Formel gefunden:

if(@AttachmentLengths > 1024, Text;)
Text:" Der Anhang ist größer als 1 MB "


Geht das so überhaupt ? Also bei mir funzt es nicht irgendwie....

Irgendwelche Vorschläge?  

Dankeschön

fiuman
Titel: Re:Attachmentlänge beschränken
Beitrag von: Tode am 29.07.04 - 10:40:04
Hääää !? Wo soll diese Formel stehen !?

Das ist alles andere als Formel-Sprache.... in den zwei Zeilen code sind (min) 4 Fehler...

if(@AttachmentLengths > 1024, Text;)
Text:" Der Anhang ist größer als 1 MB "

1. In Formelsprache ist der Separator nicht "," sondern ";" Das ; nach Text ist KOMPLETT überflüssig, dafür fehlt eines nach der Klammer...

2. Text:"Anhang...." liefert eine Textliste mit 2 Elementen zurück: das erste Element ist der Inhalt der Variablen Text (also leer), das zweite Element ist der Text "Der Anhang...

3. Inhaltlicher Fehler: @Attachmentlengths liefert die Grösse in BYTE. 1024 Byte sind aber kein MB sondern ein KB....)

4. Laufzeitfehler: Wenn das Dokument mehrere Attachments enthält, die jeweils unter 1 KB gross sind, in der Summe aber grösser als ein KB, dann geht die Formel schief...

SO....
Jetzt zeig ich Dir wie's richtig aussehen muss:

Du baust ein Feld, bearbeitbar, versteckt. In dessen EingabeValidierungs- Formel schreibst Du diesen Code:

x := @Sum( @AttachmentLengths );
max := 1024*1024;
text := @If( @Elements( @AttachmentNames ) = 1 ; "Der Anhang ist größer als 1 MB" ; "Die Anhänge sind zusammen grösser als 1 MB" );

@If( x > max ; @Failure( text ) ; @Success )

So...
Und jetzt solltest Du schleunigst einen Notes- Grundlagen- Kurs besuchen, oder Dich zumindest mal intensiv mit der Designer- Hilfe beschäftigen...

Gruß
Tode
Titel: Re:Attachmentlänge beschränken
Beitrag von: fiuman007 am 29.07.04 - 10:49:37
(http://www.forum.hr/images/smilies/Hail.gif)

Danke Meister.  Ich dachte es geht auch einfacher  :(

Thx

Titel: Re:Attachmentlänge beschränken
Beitrag von: Tode am 29.07.04 - 10:58:22
Noch einfacher !?

Es handelt sich hier um vier Zeilen EINFACHSTEN Formel-Codes... Zwei Variablen- Zuweisungen (die man sich auch sparen kann, aber dann wird es so unübersichtlich), eine @If um die Anzahl der Attachments zu prüfen und daraufhin einen angepassten Text zu benutzen) und ein @If- Statement für die eigentliche Validierung... Viel Einfacher geht es wirklich nicht...

Aber wenn Dir das lieber ist:

@If( @Sum( @AttachmentLengths ) > 1048576 ; @Failure( "Attachment(s) grösser als 1 MB" ) ; @Success )

Oder aber, wenn Du tatsächlich willst, dass JEDES EINZELNE Attachment < 1MB ist :

@If( @AttachmentLengths > 1048576 ; @Failure( "Attachment(s) grösser als 1 MB" ) ; @Success )


Diese Formeln tun genau das gleiche wie die aus dem letzten Post... Sehen aber "einfacher" aus....

Gruß
Tode
Titel: Re:Attachmentlänge beschränken
Beitrag von: fiuman007 am 29.07.04 - 11:02:11
Oh. Jetzt haben wir uns missverstanden glaube ich.
Mit "einfacher" dachte ich an meine erste Formel, die voll für die Katze ist. Ich wusste eben nicht wie ich es machen soll.
Aber es war jetzt nicht auf deine Antwort und deinen Post bezogen.
Den die hat ja gepasst und sieht auch verständlich aus.

Also nochmal vielen Dank

Titel: Re: Attachmentlänge beschränken
Beitrag von: Le Big-Mac am 25.07.06 - 14:58:04
Ist bei dem Meister 1048576 Byte = 1 Mb ?  ;D

Eine Frage hätte ich aber noch:
Die Anhänge kann man doch nur in ein RichText-Feld einfügen und ein RichText-Feld hat keine Eingabevalidierung  ???  Wo schreibe ich denn die magische von dem Meister vorgeschlagene Formel?
Titel: Re: Attachmentlänge beschränken
Beitrag von: Axel am 25.07.06 - 15:16:51
Ist bei dem Meister 1048576 Byte = 1 Mb ? ;D

Wieso denn nicht?



Wie's gemacht wird steht alles in Tode' s Antwort #2

Zitat
...
Du baust ein Feld, bearbeitbar, versteckt. In dessen EingabeValidierungs- Formel schreibst Du diesen Code:

x := @Sum( @AttachmentLengths );
max := 1024*1024;
text := @If( @Elements( @AttachmentNames ) = 1 ; "Der Anhang ist größer als 1 MB" ; "Die Anhänge sind zusammen grösser als 1 MB" );

@If( x > max ; @Failure( text ) ; @Success )

...

Das Feld kann ein ganz normales Textfeld mit beliebigem Namen sein.

Alternativ kannst du die Formel auf ins QuerySave-Event der Maske packen.


Axel
Titel: Re: Attachmentlänge beschränken
Beitrag von: koehlerbv am 25.07.06 - 15:24:22
So ganz offiziell sind 1 MB (Megabyte) tatsächlich 1.000.000 Byte, 1.048.576 Byte sind hingegen 1 MiB (Mebibyte). Aber gewöhnt hat sich daran noch keiner - mich inclusive  ;)

Bernhard
Titel: Re: Attachmentlänge beschränken
Beitrag von: Axel am 25.07.06 - 16:13:27
Ähm, hab ich da was verpasst?   ??? :o

Ich habe irgendwann mal gelernt

1KB = 1024 Bytes
1MB = 1024 KB

ergo: 1MB = 1024 * 1024 = 1.048.576 Byte


Axel
Titel: Re: Attachmentlänge beschränken
Beitrag von: koehlerbv am 25.07.06 - 16:17:20
Guckst Du hier (http://de.wikipedia.org/wiki/Bin%C3%A4rpr%C3%A4fixe), Axel. Gelernt habe ich es so wie Du, sauberer ist sicherlich die Trennung von Mega und Mebi - auch, wenn sich derzeit keine Sau dran hält  ;D

Bernhard
Titel: Re: Attachmentlänge beschränken
Beitrag von: Axel am 25.07.06 - 16:27:42
Ahh ja. Danke für den Link.

Ich werde bei Mega bleiben. Da weiß man was man hat. Außerdem ist es egal ob eine 100 GigaByte-Platte oder eine 100 GibiByte-Platte voll ist, voll ist voll.    ;D

Zu dem mach ich mir bei Giga usw keinen Knoten in die Zunge.


Axel
 
Titel: Re: Attachmentlänge beschränken
Beitrag von: Ayhan am 25.07.06 - 16:31:52
-beeindrucktbin-

1.) Euer Geduld
2.) Eure Liebe zum Detail
3.) Euren Sinn für Humor

-hutab- |vorher:  :-P | |nachher:  :) |