а так не проще?
Код:
procedure DBBackup();
var
// C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z: String;
FindFiles : TFindRec;
LastChar : Char;
begin
CreateBackup; {вызов процедуры создания резервных копий}
//C:= 'c'; D:= 'd'; E:= 'e'; F:= 'f'; G:= 'g'; H:= 'h'; I:= 'i'; J:= 'j'; K:= 'k'; L:= 'l'; M:= 'm'; N:= 'n'; O:= 'j'; P:= 'p'; Q:= 'q'; R:= 'r'; S:= 's'; T:= 't'; U:= 'u'; V:= 'v'; W:= 'w'; X:= 'x'; Y:= 'y'; Z:= 'z';
if FindFirst(ExpandConstant('{app}\gamedata.db*'), FindFiles) then begin {ищем по маске файлы в директории}
repeat
// Delete(FindFiles.Name, 1, 11); {режем строку до одной последней буквы}
LastChar:=UpperCase(FindFiles.Name)[Length(FindFiles.Name)];
if (LastChar<>'A') and (LastChar<>'B') then CreateDBBackup;
// case FindFiles.Name of {сравнение и результат}
// C: CreateDBBackup; D: CreateDBBackup; E: CreateDBBackup; F: CreateDBBackup; G: CreateDBBackup; H: CreateDBBackup;
// I: CreateDBBackup; J: CreateDBBackup; K: CreateDBBackup; L: CreateDBBackup; M: CreateDBBackup; N: CreateDBBackup;
// O: CreateDBBackup; P: CreateDBBackup; Q: CreateDBBackup; R: CreateDBBackup; S: CreateDBBackup; T: CreateDBBackup;
// U: CreateDBBackup; V: CreateDBBackup; W: CreateDBBackup; X: CreateDBBackup; Y: CreateDBBackup; Z: CreateDBBackup;
//else MsgBox(FindFiles.Name, mbCriticalError, mb_OK); {выводим имя пропущенного файла для проверки}
// end;
until not FindNext(FindFiles);
FindClose(FindFiles);
end;
end;