Newsgroup: it.comp.lang.delphi
Titolo: pascal ma non delphi

Lo vedete questo programma sotto? Molto probabilmente no perchè ancora
dovete arrivarci qua sotto...
Apparte di scherzi perchè questo programma sotto pascal gira alla perfezione
e sotto delphi no?
È ovvio che le varie stringhe vengono sostituite da edit e che invece di
writeln la stringa va a finire in una label...
La cosa più strana è che la Codifica (programma che fa l'esatto contrario di
questo) funge alla perfezione e l'ho trascritto senza il minimo intoppo...
Aiutatemi voi.
Grazie
{-------------------------------------------------}
Program Decodificatore;
Uses Crt,Dos;
{
Questo programma decripta un messaggio, sapendo la password ad esso
associata.
}
Const Lung=7;
      Alt=18;
Var Messaggio:String[(Lung*Alt)];
    Password:String[Lung+1];
    I,J,K:Integer;
    Matrix:Array[1..Lung,1..Alt] Of Char;
    Ordina:Array[1..Lung*Alt] Of Integer;
Begin
     {INSERIMENTO PASSWORD}
     Repeat
     Repeat
           Clrscr;
           Writeln('Questo programma decripta un messaggio, sapendo la
password ad esso associata.');
           Writeln;
           Write('Inserisci la password conosciuta: ti ricordo ');
           Textcolor(4);
           Write('DEVE');
           Textcolor(7);
           Write(' essere lunga ',Lung,' caratteri: ');
           Writeln;
           Writeln;
           Write('Password= ');
           Readln(Password);
     Until (Length(Password)=Lung);
     J:=0;
     For I:=1 To Lung Do
          Begin
               If (Password[I]=Chr(35)) Then
               J:=1;
          End;
     Until (J=0);
     {INSERIMENTO FRASE}
     Repeat
           Clrscr;
           Write('Inserisci la frase da decriptare lunga ');
           Textcolor(4);
           Write('OBBLIGATORIAMENTE');
           Textcolor(7);
           Write(' ',Lung*Alt,' caratteri:');
           Writeln;
           Writeln;
           Write('Frase= ');
           Readln(Messaggio);
     Until (Length(Messaggio)=Lung*Alt);
     Writeln;
     {ASSEGNAZIONE DEI # ALLA MATRICE}
     For I:=1 To Alt Do
     For J:=1 To Lung Do
         Matrix[I,J]:=Chr(35);
     For I:=1 To Lung*Alt Do
        If (Messaggio[I]<>Chr(35)) Then
           Messaggio[I]:=Chr(Ord(Messaggio[I])-1);
     {ASSEGNAZIONE DELLA FRASE IN ORDINE ALLA MATRICE}
     For K:=1 To Lung Do
     Begin
          For I:=1 To Length(Messaggio) Do
          If (I Mod Alt=1) Then
          Begin
               If ((Password[K]=Messaggio[I]) And (Matrix[1,K]=Chr(35)))
Then
                  For J:=1 To Alt Do
                  Begin
                       Matrix[J,K]:=Messaggio[J+I-1];
                       Messaggio[J+I-1]:=Chr(254);
                  End;
          End;
     End;
     {SCRITTURA DELLA FRASE DECRIPTATA}
     Writeln('La frase decriptata S:');
     Writeln;
     For I:=2 To Alt Do
     For J:=1 To Lung Do
         If (Matrix[I,J]<>Chr(35)) Then
            Write(Matrix[I,J]);
     Writeln;
     Writeln;
     Writeln('N.B. se la frase decriptata risulta illegibile prova a
reinserirla daccapo e');
     Writeln('controlla la password!');
     Writeln;
     Writeln('Premi invio per uscire');
     Writeln;
     Textcolor(2);
     Write('Copyright¸ Carletto 
chiamac...@tiscalinet.it
');
     Readln;
End.

e sotto delphi no?
Cosa ti succede in Delphi?
Errore di compilazione oppure a runtime?
Ciao, Rocco

 ha scritto nel messaggio
news:3c4e8385...@News.CIS.DFN.DE...


ok, spedisci pure..