Non so praticamente nulla di Pascal, perciò tiro a indovinare.
Quel 125 è curiosamente prossimo al limite di 127 tipico dei valori a 7 bit. I char usano 7 bit per i valori veri e propri e 1 bit per il segno. Non è che per avere la tua stringa che "porta" 255 caratteri devi usare variabili a 8 bit senza segno, e stai invece usando variabili a 8 bit col segno? In quel caso, il primo byte dell'array (quello che nelle stringhe Pascal contiene la quantità dei caratteri presenti nella stringa), una volta arrivato a 127 "salta" a -128. In un array un indice negativo porta in un punto imprevedibile, invalidando il tutto in qualche maniera.
So di non essere stato per niente "tecnico", come ho detto so poco o nulla di Pascal. Però, può essere che ti ho dato uno spunto dal quale partire?
ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti. |