Inno Setup için çalışan bir Pascal komut dosyası var, ancak yakın bir zamanda Unicode karakterleriyle ilgili bir soruna girdik. Ve Inno Kurulumunu Unicode sürümüne değiştirdikten sonra, mevcut komut dosyalarında hatalar var. Ve bu hata çok genel - Belirli bir satır için "Eşleşmiyor". Bizim ana betik dahil birçok diğer betikleri oluşan beri ben bu satırın doğru olup olmadığını emin değilim, ve aşağıdaki bu işlevi işaret eder ve Set of Char
ile satır. Inno Kurulum belgelerine baktıktan sonra Unicode sürümünün bazı şeylerle ilgili biraz daha katı olduğunu ve ayrıca ANSI dizisi kullanımıyla ilgili bazı değişiklikler olduğunu (ve muhtemelen Char
da) buldum.Inno Setup Unicode sürümünün Pascal Komut Dosyası'nda "char kümesi" hatası "Hata eşleşmesi" hatası
function IsValidName(Name: String):String;
var
Valid_Ch: Set of Char;
Location: Integer;
begin
Valid_Ch := ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '_', '-'];
Result := '';
for Location := 1 to Length(Name) do
begin
if Name[Location] in Valid_Ch then
begin
Result := Result + Name[Location];
end
else
begin
Result := Result + '_';
end;
end;
end;
Bu bana göre güzel görünüyor, ancak Pascal'la ilk bağlantım bu. Daha deneyimli bir kişi bana bu konuda yardımcı olabilir eğer müteşekkir olurdu. Teşekkürler!
Bu işe yarıyor gibi görünüyor. Açıklama ve yardım için teşekkürler. –