Autor Thema: Mehrstellige Zahl in mehrere einzelne Variablen unterteilen  (Gelesen 11260 mal)

Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Hallo mal wieder,

wünsche erstmal allen ein gesundes neues Jahr.

Mein Problem diesmal ist das ich eine Eingabe mittels einer Prüfziffernberechnung auf Tippfehler testen muss. Hierzu ist es notwendig das ich diese Eingabe (ist eine Zahl) in Ihre einzelnen stelle zwerlege, und zwar von hinten nach vorn.
D.h. wenn die Eingabe bespielsweise 522368 ist muss ich diese in 6 einzelvariablen zerlegen. Also Variable1=8, 2=6, 3=3, 4=2, 5=2 und Variable6=5.
Das zweite Problem hieran ist das die eingegeben Zahlen nicht immer gleichlang sind. Die Eingabe kann 2 bis 10 stellig sein.

Falls jemand eine Idee hat wie ich die Zahl auseinanderpflücken kann wäre ich für Tipps sehr dankbar, am liebsten wäre es mir wenn das irgendwie in der Formelsprache möglich ist weil ich dann da mit der Berechnung der Prüfziffer keine Probleme mehr hätte.


Danke schonmal im Vorraus

Jens

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Mehrstellige Zahl in mehrere einzelne Variablen unterteilen
« Antwort #1 am: 11.01.04 - 20:49:18 »
Mit @Length kannst Du schon mal eine Fallunterscheidung (@If....) machen.

Eine Möglichkeit wäre es, mit @Left und @Right zu arbeiten, bringt Dich wohl zum Ziel, wenn auch nicht sehr elegant.

Beispiel, wenn Du die 3. Ziffer von Rechts haben willst:
_DritteStelleVonHinten := @Left(@Right( DEINFELD; 3); 1)

Das wird zwar dann eine lange Formel (Unterscheidungen mit @If(@Length....) und dann noch einzelne Variablen belegen, aber so geht das mit Sicherheit.

hth,
Matthias
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re:Mehrstellige Zahl in mehrere einzelne Variablen unterteilen
« Antwort #2 am: 11.01.04 - 20:55:04 »
sowas in der Art hatte ich schon probiert mit @middle, hatte irgendwie net so funktioniert wie ich wollte aber ich teste das gleich nochmal aus.

Danke erstmal

Jens

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Mehrstellige Zahl in mehrere einzelne Variablen unterteilen
« Antwort #3 am: 11.01.04 - 20:59:14 »
Ach ja, und schau Dir mal die Bedingungen in der Designerhilfe an.
Evtl. musst Du den Feldwert (der wohl eine Zahl ist) mit @Text in Text umwandeln, das Ergebnis dann wieder mit @TextToNumber zurückwandeln.....

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re:Mehrstellige Zahl in mehrere einzelne Variablen unterteilen
« Antwort #4 am: 11.01.04 - 21:04:44 »
Anscheinend mach ich irgendwas falsch.
Wenn ich ne Variablen Definition innerhalb des @If mache bekomme ich die Fehlermeldung " := darf nur am Anfang eines Ausdrucks stehen: ':=' ".

Was könnt ich falsch machen?

Habs jetzt einfach mal mit

laenge := @Lenght(pruefziffer);
@If(laenge=10; _pz := @left(@right(pruefziffer;1);1););

probiert.



Jens

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Mehrstellige Zahl in mehrere einzelne Variablen unterteilen
« Antwort #5 am: 11.01.04 - 21:07:34 »
Zuweisungen innerhalb des @if geht erst in ND6


_pz:=@If(laenge=10;@left(@right(pruefziffer;1);1))
« Letzte Änderung: 11.01.04 - 21:07:54 von Semeaphoros »
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re:Mehrstellige Zahl in mehrere einzelne Variablen unterteilen
« Antwort #6 am: 11.01.04 - 21:11:30 »
das mit ND6 hatte ich irgendwie befürchtet. gibts noch ne andere möglichkeit?

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Mehrstellige Zahl in mehrere einzelne Variablen unterteilen
« Antwort #7 am: 11.01.04 - 21:12:44 »
Eh, ich hab Dir doch hingeschrieben, wie man das macht, da musst Du vielleicht die Werte noch ein wenig ändern.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re:Mehrstellige Zahl in mehrere einzelne Variablen unterteilen
« Antwort #8 am: 11.01.04 - 21:12:50 »
Tschuldigung ... für die Frage hatte Semeaphoros Antwort net richtig gelesen .... sorry ... wer des lesen mächtig ist und dies auch tut ist klar im vorteil.  :-\

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Mehrstellige Zahl in mehrere einzelne Variablen unterteilen
« Antwort #9 am: 11.01.04 - 21:13:22 »
am liebsten wäre es mir wenn das irgendwie in der Formelsprache möglich ist weil ich dann da mit der Berechnung der Prüfziffer keine Probleme mehr hätte.

wo sit denn das Problem, wenn du das nicht mit Formel machst, sondern mit Script?
Ich glaube, dass bei diesem Problem Formelsprache denkbar ungeeignet ist (zumidest in R5)
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Mehrstellige Zahl in mehrere einzelne Variablen unterteilen
« Antwort #10 am: 11.01.04 - 21:14:57 »
und jetzt hab ich wieder was gelernt, nämlich dass Zuweisungen ( also ":=" ) innerhalb @If's in R6 geht, cool  8)

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Mehrstellige Zahl in mehrere einzelne Variablen unterteilen
« Antwort #11 am: 11.01.04 - 21:15:04 »
Ja, Thomas, das denke ich auch, in ND6 könnte man noch was machen mit Schlaifen in Formeln, aber in R5 ist das doch wesentlich einfacher in Script.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re:Mehrstellige Zahl in mehrere einzelne Variablen unterteilen
« Antwort #12 am: 11.01.04 - 21:18:07 »
Mein Hauptproblem ist das ich grad vor 1-2 Monaten angefangen habe mir ein bissel Script reinzuprügeln.
Im Klartext heist das wenn ich es in Script mache muss ich euch wieder auf die Nerven gehen und davor wollt ich euch verschonen  ;D

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Mehrstellige Zahl in mehrere einzelne Variablen unterteilen
« Antwort #13 am: 11.01.04 - 21:19:06 »
jip.

Wird sonst ein kilometerlange Formel.

@If(
@Length(FELD) = 10;
@Do(
.......
.......
.......
.......
.......
.......
.......)
qLength(FELD) = 9;
@Do(.......
.......
.......
.......
.......)

usw.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re:Mehrstellige Zahl in mehrere einzelne Variablen unterteilen
« Antwort #14 am: 11.01.04 - 21:20:13 »
Wenn mir allerdings jemand sagen kann wie ich die Zahl im scrip auseinandergeplügt bekomme kann ich natürlich auch das probieren ... da lern ich wenigsten wieder was bei ... also was was script betrift.

Jens

P.S. Erstmal danke für die rege Beteiligung

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Mehrstellige Zahl in mehrere einzelne Variablen unterteilen
« Antwort #15 am: 11.01.04 - 21:25:56 »
Mein Hauptproblem ist das ich grad vor 1-2 Monaten angefangen habe mir ein bissel Script reinzuprügeln.
Im Klartext heist das wenn ich es in Script mache muss ich euch wieder auf die Nerven gehen und davor wollt ich euch verschonen  ;D

das ist eigentlich keine große Sache.

du schreibst erst mal in "Prosaform", was du tun möchtest (den Agorithmus) und dann übersetzt du es in Script und die Forenbesucher helfen dir bei der Übersetzung.
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re:Mehrstellige Zahl in mehrere einzelne Variablen unterteilen
« Antwort #16 am: 11.01.04 - 23:53:19 »
Okay dann mach ich das mal. Hier also die 'Prosaform'  :)

Meine Zahl ist eine Kontonummer. Diese kann von 2 bis 10 Stellen lang sein. Hierbei ist immer die letzte Stelle die Prüfziffer. Die 6 Ziffern davor werden zur Berchnung benötigt, wenn die Kontonummer kürzer als 7 Zeichen (also die Prüfziffer plus die 6 Berechnungsziffern) ist brauche ich nur die Stellen die vorhanden sind zur Berechnung.
Okay nun zur Berechnung: Wie gesagt die letzte Stelle ist die Prüfziffer, die brauche ich also erst ganz am Schluss die 2. Stelle von hinten wird mit 2 multipliziert, die 3. von hinten mit 3, die 4. mit 4, die 5. mit 5, die 6. mit 6 und die 7. von hinten mit 7. Jedes dieser Produkte wird nun addiert.
Das Ergebniss der Adition wird durch 11 (bei dieser Prüfziffernkontrolle immer durch 11 weil der Modulus auf 11 liegt) geteilt. Hierbei ist aber das Ergebniss der Division unwichtig sondern der Rest, d.h. ich muss eine Division mit Rest machen (in der Formelsprache @modulo, glaub ich).
Im letzten Schritt wird der Rest von 11 (Modulus ---> also auch wieder immer 11) subtrahiert. Das Ergebniss ist die Prüfziffer, dieses muss also mit der letzten Stelle der Kontonummer übereinstimmen.

Ein Beispiel:

KD.-Nr.:          1 5 8 4 2 1 9
Gewichtung:  7 6 5 4 3 2 P ---> P=Prüfziffer
-------------------------------------------
Produkt:        7 30 40 16 6 2

Die Summe des Produktes ist 101

101:11 = 9 Rest 2
Prüfziffer = 11-2 (Also Modulus geteilt durch den Rest)
Prüfziffer = 9

Sollte einmal Rest 0 bei einer Berechnung auftauchen so ist die Prüfziffer automatisch auch 0 genauso wie bei Rest 1.


Ich hoffe ich hab das jetzt ganz gut erklärt. Ich würde ja vieleicht sogar die Rechnung allein hinbekommen (außer wahrscheinlisch die Division mit Rest) aber für den Ansatz fehlt mir jegliche Idee.


Danke schonmal


Jens

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Mehrstellige Zahl in mehrere einzelne Variablen unterteilen
« Antwort #17 am: 12.01.04 - 00:02:29 »
also die Problembeschreibung ist fast schon sensationell.
Damit kann man was anfangen.
Ich bin leider nicht mehr ganz so wach und versuch morgen wieder zu helfen, vielleicht gibts noch fittere Menschen hier, die den Anfang machen
(übrigens ist das jetzt keine schwache Ausrede, ich bin echt am Ende)
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re:Mehrstellige Zahl in mehrere einzelne Variablen unterteilen
« Antwort #18 am: 12.01.04 - 00:05:37 »
@Thomas

hey kein Grund das du dich da irgendwie entschuldigst oder so. Die Hilfe hier ist wahnsinn. Und wenn ich noch drei Tage brauch bis ich es irgendwie mit eurer Hilfe hinbekomme ist das immer noch ungefähr 2 Wochen kürzer als das ich es selber hinbiege.
Danke erstmal und Gute Nacht

Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re:Mehrstellige Zahl in mehrere einzelne Variablen unterteilen
« Antwort #19 am: 12.01.04 - 02:04:24 »
So ich hab jetzt noch mal ein bissel mit @Formula geschrieben ... bis auf das auseinandernehmen der Zahl klappt alles (hab jetzt einfach 10 Felder gemacht und geb die Zahl schon getrennt ein). Aber vieleicht hilft ja die @Formula beim umsetzen in LS.

Jens

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz