/* Modul.sript-Datei, Copyright by Altriasoft Peter Hyde */ /* Uhlandstr. 19, 58513 Lüdenscheid, E-mail: info@altriasoft.de */ /* JavaScript */ function strd(a,c,a_s) { var potenz=1,dot=0,lenvor=0,lennach=0,spc=0; var zahl_s; var zahl=a; var sw1=0,sw2=0,sw3=0; lenvor = a_s.indexOf('.'); lennach = a_s.length -lenvor -1; if (lenvor >= 0 && lennach == 0){ /* Wenn a$ Punkt, aber keine Nachkommastellen wird 1 Nachkommastelle angegängt*/ a_s=a_s+"0"; lennach = lennach +1;} if (lenvor < 0 && lennach > 0){ /* Wenn kein Punkt, dann nur Ganzzahl*/ lenvor = a_s.length; lennach = 0;} for(i = 1; i <= lennach; i++) potenz=potenz*10; zahl = Math.round(zahl*potenz)/potenz; if (zahl<0){ sw1=-1; zahl = zahl * sw1; } zahl_s=String(zahl); dot = zahl_s.indexOf('.')+1; if (dot == 0 && lennach >0){ zahl_s=zahl_s+"."; dot = zahl_s.indexOf('.')+1; for (i=1; i<=lenvor;i++){ zahl_s=" "+zahl_s;} dot = zahl_s.indexOf('.')+1; /*Zeile 50*/ for (i=1; i<=lennach-zahl_s.length+dot+2; i++){ zahl_s=zahl_s+"0";} } else if (dot == 0 && lennach == 0){ zahl_s=zahl_s+".00"; dot = zahl_s.indexOf('.')+1; sw2=1 for (i=1; i<=lenvor;i++){ zahl_s=" "+zahl_s; } } else if (dot > 0 && lennach > 0){ for (i=1; i<=lenvor;i++){ zahl_s=" "+zahl_s;} dot = zahl_s.indexOf('.')+1; sw1=zahl_s.length for (i=1; i<=lennach-sw1+dot; i++){ zahl_s=zahl_s+"0";} } /* Tausender Formatierung */ if (c==1 || c==2 || c==5 || c==6 || c==9 || c==10){ dot = zahl_s.indexOf('.')+1; spc = zahl_s.lastIndexOf(' ')+1; if (dot-spc-1<4){ } else if (dot-spc-1<7){ zahl_s = zahl_s.substr(1,dot-1-3-1)+','+zahl_s.substr(dot-1-3,3)+zahl_s.substr(dot-1); } else if (dot-spc-1<10){ zahl_s = zahl_s.substr(2,dot-1-7-1)+','+zahl_s.substr(dot-1-6,3)+','+zahl_s.substr(dot-1-3,3)+zahl_s.substr(dot-1); } else if (dot-spc-1<13){ zahl_s = zahl_s.substr(3,dot-1-11-1)+','+zahl_s.substr(dot-1-9,3)+','+zahl_s.substr(dot-1-6,3)+','+zahl_s.substr(dot-1-3,3)+zahl_s.substr(dot-1); } else{ sw3=1;} } /* führende Space wieder entfernen*/ spc = zahl_s.lastIndexOf(' ')+1; zahl_s=zahl_s.substr(spc); /* Minuszeichen generieren*/ if (c==5 || c==6 || c==7 || c==8){ if (sw1 < 0){ zahl_s=zahl_s+"-";} /* Zeile 100*/ } else if (c==9 || c==10 || c==11 || c==12){ if (sw1 < 0){ zahl_s="-"+zahl_s;} } /* Wenn Ganzzahl, .00 wieder entfernen */ if (sw2==1){ dot = zahl_s.indexOf('.')+1; zahl_s=zahl_s.substr(0,dot-1);} /* Wenn Zahl > Format, dann %% Rückgabe sonst mit Space auffüllen*/ dot = zahl_s.indexOf('.')+1; if (dot == 0){ dot = zahl_s.length+1;} if (dot-1 > lenvor){ sw2=0 zahl_s="NaN";} else if (sw3 == 1){ zahl_s="NaN";} else { for (i=1; i<=lenvor-dot+1;i++){ zahl_s=" "+zahl_s;} } /* Punkt,Kommata ändern*/ if (c==2 || c==4 || c==6 || c==8 || c==10 || c==12){ dot = zahl_s.length; for (i=0;i<=dot-1;i++){ if (zahl_s.charAt(i) == "."){ zahl_s=zahl_s.substr(0,i)+","+zahl_s.substr(i+1);} else if (zahl_s.charAt(i) == ","){ zahl_s=zahl_s.substr(0,i)+"."+zahl_s.substr(i+1);} } } return zahl_s; } /*****************************************************************/ function strfilter (a_s,version,filterex_s,filterin_s){ var aa_s="",aa=0,ab_s="",erg_s=a_s; switch (version){ case 1: if (filterex_s != "" && a_s != ""){ for (a=0;a<= filterex_s.length-1;a++){ aa_s = filterex_s.substr(a,1); aa = 0; do { aa=erg_s.indexOf(aa_s,aa); if (aa > -1){ erg_s=erg_s.substr(0,aa)+erg_s.substr(aa+1);} } while (aa > -1); } } break; case 2: if (filterex_s != "" && a_s != "" && filterin_s != "" && filterex_s.length == filterin_s.length){ for (a=0;a<= filterex_s.length-1;a++){ aa_s = filterex_s.substr(a,1); ab_s = filterin_s.substr(a,1); aa = -1; do { aa=erg_s.indexOf(aa_s,aa+1); if (aa > -1){ erg_s=mid(erg_s,aa+1,1,ab_s);} } while (aa > -1); } } break; } return (erg_s); } /*****************************************************************************************/ function mid(a_s,a,b,n_s){ var aa_s=a_s,aa=a,bb=b,nn_s=n_s; if (aa == -1){ aa = 0;} if (nn_s.length == bb){} else if (nn_s.length < bb){ bb=nn_s.length;} else if (nn_s.length > bb){ nn_s=nn_s.substr(0,bb); } if (aa-1+bb>aa_s.length){ return (a_s);} aa_s=a_s.substr(0,aa-1)+nn_s+a_s.substr(aa-1+bb); return aa_s; } /*****************************************************************************************/ function ltrim(aa){ var spc=-1; for (i=0;i<=aa.length;i++){ if (aa.substr(i,1)!=' '){ spc=i; break; } } if (spc>0) aa=aa.substr(spc,aa.length-spc); return aa; } /*****************************************************************************************/ function ctrlchar(text,version){ var aan=""; if (version==1) var zulzeichen="0123456789"; if (version==2) var zulzeichen="0123456789,."; for (i=0;i<= text.length-1;i++){ var aa= text.substr(i,1); if (version==1){ if (aa=="." || aa==",") alert ("Hier sind nur ganze Zahlen möglich"); } var pos=zulzeichen.indexOf(aa); if (pos>=0) aan=aan+aa; } return aan; }