function [name,FEH]=BLN(TKode,SKode,SNr,FoS,GUI,FEH)
%function [name,FEH]=BLN(TKode,SKode,SNr,FoS,GUI,FEH)
%Ermittlung eines Blocknamensstrings: inverse neue Kodierung!
% wre auch fr VariablenNamen anwendbar
% Copyright (c) 1997-2013. All Rights Reserved.
% Dr. Gert-Helge Geitner; TU Dresden, Fak. EuI,
% Elektrotechnisches Institut (ETI); Mommsenstr. 13;
% D-01062 Dresden, Germany;
% http://eeiwzg.et.tu-dresden.de/ae2_files/ae_7_6e.htm
T_01={'SFDEKO-BLN: Abort - false TKode detected!';...
'SFDEKO-BLN: Abort - false SKode detected!'};
switch TKode %Nur zur Sicherheit, j auch mit SKode setzbar
case {10, 80, 20}, j=3; %zweistelliger SKode
case {40, 50, 25, 30}, j=4; %dreistelliger SKode
otherwise if GUI FEH(end+1,1)={T_01(1,1)}; return; else error(T_01(1,1)); end
end
switch SKode %Namensanfang nach alter Kodierung
case {4892}, name='EX';
case {6509}, name='ZX';
case {4715}, name='ZA';
case {5027}, name='ZE';
case {5105}, name='ZF';
case {3638}, name='KB';
case {4701}, name='A2V';
case {5017}, name='A2Z';
case {5856}, name='P2V';
case {6172}, name='P2Z';
case {4779}, name='A3V';
case {5095}, name='A3Z';
case {5934}, name='P3V';
case {6250}, name='P3Z';
case {7816}, name='FUV';
case {8210}, name='FVZ';
otherwise if GUI FEH{end+1,1}=T_01{2,1}(1,:); return;
else error(T_01{2,1}(1,:)); end
end
if SKode==SNr|FoS return; end; %Sonderfall Namensanfang: direkt oder nur
SNr=SNr-SKode;
name(j)=char(rem(SNr,80^3)/80^2)+47;
SNr=fix(SNr/80^3);
if SNr==0 return; % 1 Stelle
elseif SNr<80 name(j+1)=char(SNr)+47; return; % 2 Stellen
else while j %ab 3 Stellen, beginnend mit 2. Stelle
j=j+1;
name(j)=char(rem(SNr,80))+47;
SNr=fix(SNr/80);
if SNr<80 name(j+1)=char(SNr)+47; return; end; end
end