Seitenhistorie
...
Datum | geändert von | Beschreibung |
|---|---|---|
2011-02-02 | Althaus | Neu implementiert |
2011-02-07 | Althaus | Ergänzungen für unterschiedliche Eingabeformate |
2011-07-01 | Althaus | Fehler beim Aufruf von Scans aus dem Retro II-Projekt (z.B. B003/0064) behoben. |
Code
dnb_scripte_01formalerschliessung.js
| Codeblock |
|---|
function RetroBild() {
var strBibliothek;
var Bibliothek = "DBL";
var nrKasten;
var nrBild;
var boolOK = false;
var strBoxTitel = "Funktion RetroBild";
var strBoxText = "Folgende Eingaben sind möglich:\n\n"
+ "Lxxxx/yyyy für Retro DNB-L\n"
+ "Fxxxx/yyyy für Retro DNB-F\n"
+ "Dxxxx/yyyy für Retro DNB-DMA\n"
+ "xxxx/yyyy 1. vereinfachte Form für DNB-L, wird zu Lxxxx/yyyy\n"
+ "xxxxyyyy 2. Vereinfachte Form für DNB-L, wird zu Lxxxxyyyy\n"
+ "#xxx/yyyy # steht für A|B|C|D|E|M|S für Kontingente = Retro2\n"
+ "Vereinfachte Eingabeform: #xxxyyyy, aus #xxx/yyyy wird R#xxx/yyyy\n\n"
+ "Beispiel: L2746/0055";
var strEingabe = __dnbPrompter(strBoxTitel, strBoxText,"");
if (strEingabe) {
//application.messageBox("strEingabe", strEingabe, "");
var intLength = strEingabe.length;
//application.messageBox("intLength", intLength, "");
if ((strEingabe == "") || (intLength > 10)) {
__dnbFehler(strBoxTitel,"Keine Eingabe oder Eingabe zu lang");
} else {
// Standardeingabe
var regExp = /[L|F|D]\d\d\d\d\/\d\d\d\d/;
var regMatch = regExp.exec(strEingabe);
if ((regMatch) && (intLength == 10)) {
//application.messageBox("regMatch1", regMatch, "");
strBibliothek = strEingabe.substring(0,1);
switch (strBibliothek) {
case "L": Bibliothek = "DBL";
break;
case "F": Bibliothek = "DBF";
break;
case "D": Bibliothek = "DMA";
break;
default: __dnbFehler("Funktion RetroBild","Erstes Zeichen muss L, F oder D sein!","");
}
nrKasten = strEingabe.substring(1,5);
//application.messageBox("nrKasten", nrKasten, "");
nrBild = strEingabe.substring(6,10);
//application.messageBox("nrBild", nrBild, "");
boolOK = true;
} else {
// Eingabeform xxxx/yyyy
regExp = /\d\d\d\d\/\d\d\d\d/;
regMatch = regExp.exec(strEingabe);
if ((regMatch) && (intLength == 9)) {
//application.messageBox("regMatch2", regMatch, "");
nrKasten = strEingabe.substring(0,4);
nrBild = strEingabe.substring(5,9);
boolOK = true;
} else {
// Eingabeform xxxxyyyy
regExp = /\d\d\d\d\d\d\d\d/;
regMatch = regExp.exec(strEingabe);
if ((regMatch) && (intLength == 8)) {
application.messageBox("regMatch3", regMatch, "");
nrKasten = strEingabe.substring(0,4);
nrBild = strEingabe.substring(4,8);
boolOK = true;
} else {
// Eingabeform #xxx/yyyy
regExp = /[A|B|C|D|E|M|S]\d\d\d\/\d\d\d\d/;
regMatch = regExp.exec(strEingabe);
if ((regMatch) && (intLength == 9)) {
//application.messageBox("regMatch4", regMatch, "");
Bibliothek = "Retro2";
nrKasten = strEingabe.substring(0,4);
nrBild = strEingabe.substring(5,9);
boolOK = true;
} else {
// Eingabeform #xxx/yyyy
regExp = /[A|B|C|D|E|M|S]\d\d\d\d\d\d\d/;
regMatch = regExp.exec(strEingabe);
if ((regMatch) && (intLength == 8)) {
//application.messageBox("regMatch5", regMatch, "");
Bibliothek = "Retro2";
nrKasten = strEingabe.substring(0,4);
nrBild = strEingabe.substring(4,8);
boolOK = true;
} else {
__dnbFehler(strBoxTitel,"Falsches Eingabeformat");
}
}
}
}
//application.messageBox("Bibliothek", Bibliothek, "");
//application.messageBox("nrKasten", nrKasten, "");
//application.messageBox("nrBild", nrBild, "");
//application.messageBox("Kontrolle","Aufruf für " + Bibliothek + "\nKasten: " + nrKasten + "\nBild: " + nrBild,"");
}
if (boolOK) {
__retro(Bibliothek,nrKasten,nrBild);
}
}
}
}
|
...
Überblick
Inhalte