Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Libreria cifratura Morse - morse_dll.lpr

morse_dll.lpr

Caricato da: A_butta
Scarica il programma completo

  1. library morse_dll;
  2.  
  3. {$mode objfpc}{$H+}
  4.  
  5. uses
  6.   Classes
  7.   { you can add units after this };
  8.  
  9. const
  10.      A = '  â€¢ —  ';
  11.      B = '  â€” • • •  ' ;
  12.      C = '  â€” • — •  '  ;
  13.      D = '  â€” • •  ';
  14.      E = '  â€¢  ';
  15.      F = '  â€¢ • — •  ';
  16.      G = '  â€” — •  ';
  17.      H = '  â€¢ • • •  ';
  18.      I = '  â€¢ •  ';
  19.      J = '  â€¢ — — —  ';
  20.      K = '  â€” • —  ';
  21.      L = '  â€¢ — • •  ';
  22.      M = '  â€” —  ';
  23.      N = '  â€” •  ';
  24.      O = '  â€” — —  ';
  25.      P = '  â€¢ — — •  ';
  26.      Q = '  â€” — • —  ';
  27.      R = '  â€¢ — •  ';
  28.      S = '  â€¢ • •  ';
  29.      T = '  â€”  ';
  30.      U = '  â€¢ • —  ' ;
  31.      V = '  â€¢ • • —  ';
  32.      W = '  â€¢ — —  ';
  33.      X = '  â€” • • —  ';
  34.      Y = '  â€” • — —  ';
  35.      Z = '  â€” — • •  ';
  36.      N0= '  â€” — — — —  ';
  37.      N1= '  â€¢ — — — —  ';
  38.      N2= '  â€¢ • — — —  ';
  39.      N3= '  â€¢ • • — —  ';
  40.      N4= '  â€¢ • • • —  ';
  41.      N5= '  â€¢ • • • •  ';
  42.      N6= '  â€” • • • •  ';
  43.      N7= '  â€” — • • •  ';
  44.      N8= '  â€” — — • •  ';
  45.      N9= '  â€” — — — •  ';
  46.      PUNTO = '  â€¢ — • — • —  ';
  47.      VIRGOLA = '  â€” — • • — —  ';
  48.      DUE_PUNTI = '  â€” — — • • •  ';
  49.      PUNTO_INTERROGATIVO = '  â€¢ • — — • •  ' ;
  50.      UGUALE = '  â€” • • • —  ';
  51.      TRATTINO = '  â€” • • • • —  ';
  52.      PARENTESI_APERTA = '  â€” • — — •  ';
  53.      PARENTESI_CHIUSA = '  â€” • — — • —  ';
  54.      VIRGOLETTE = '  â€¢ — • • — •  ';
  55.      APOSTROFO = '  â€¢ — — — — •  ';
  56.      SLASH = '  â€” • • — •  ';
  57.      CHIOCCIOLA = '  â€¢ — — • — •  ';
  58.      MORSE_PUNTO = '•';
  59.      MORSE_TRATTINO = '-';
  60.  
  61. function MorseControl(s:string):boolean; export;
  62.    var i:integer;
  63. begin
  64. MorseControl:= true;
  65. for i:= 1 to length(s) do
  66.     if not(s[i] in['A'..'Z', 'a'..'z','0'..'9','.',',',':','?','=','-','(',')','"','''','/',' '])
  67.         then MorseControl:= false;
  68. end;
  69.  
  70. function MorseCifrator(readStr:string):string;  export;
  71. var outstr : string;
  72.     count  : integer;
  73. begin
  74. outstr:= '';
  75.    if MorseControl(readStr) = True then
  76.       begin
  77.          for count:= 1 to length(readStr) do
  78.             begin
  79.              case readStr[count] of
  80.                 'A','a': outstr += A;
  81.                 'B','b': outstr += B;
  82.                 'C','c': outstr += C;
  83.                 'D','d': outstr += D;
  84.                 'E','e': outstr += E;
  85.                 'F','f': outstr += F;
  86.                 'G','g': outstr += G;
  87.                 'H','h': outstr += H;
  88.                 'I','i': outstr += I;
  89.                 'J','j': outstr += J;
  90.                 'K','k': outstr += K;
  91.                 'L','l': outstr += L;
  92.                 'M','m': outstr += M;
  93.                 'N','n': outstr += N;
  94.                 'O','o': outstr += O;
  95.                 'P','p': outstr += P;
  96.                 'Q','q': outstr += Q;
  97.                 'R','r': outstr += R;
  98.                 'S','s': outstr += S;
  99.                 'T','t': outstr += T;
  100.                 'U','u': outstr += U;
  101.                 'V','v': outstr += V;
  102.                 'W','w': outstr += W;
  103.                 'X','x': outstr += X;
  104.                 'Y','y': outstr += Y;
  105.                 'Z','z': outstr += Z;
  106.                 '0': outstr += N0;
  107.                 '1': outstr += N1;
  108.                 '2': outstr += N2;
  109.                 '3': outstr += N3;
  110.                 '4': outstr += N4;
  111.                 '5': outstr += N5;
  112.                 '6': outstr += N6;
  113.                 '7': outstr += N7;
  114.                 '8': outstr += N8;
  115.                 '9': outstr += N9;
  116.                 '.': outstr += PUNTO;
  117.                 ',': outstr += VIRGOLA;
  118.                 ':': outstr += DUE_PUNTI;
  119.                 '?': outstr += PUNTO_INTERROGATIVO;
  120.                 '=': outstr += UGUALE;
  121.                 '-': outstr += TRATTINO;
  122.                 '(': outstr += PARENTESI_APERTA;
  123.                 ')': outstr += PARENTESI_CHIUSA;
  124.                 '"': outstr += VIRGOLETTE;
  125.                 '''': outstr += APOSTROFO;
  126.                 '/': outstr += SLASH;
  127.                 '@': outstr += CHIOCCIOLA;
  128.                 ' ': outstr += '         ';
  129.              end;
  130.             end;
  131.       MorseCifrator:= outstr;
  132.       end;
  133. end;
  134.  
  135. exports MorseCifrator, MorseControl;
  136.  
  137. {$IFDEF WINDOWS}{$R morse_dll.rc}{$ENDIF}
  138.  
  139. begin
  140.  
  141. end.