![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
filename [D7]
lamer © (2008-04-01 16:48:00)здравствуйте.
нужно сделать следующее:
есть переменная в цикле, пусть это будет FLname:string;
нужно чтобы она принимала значения начиная с AAAA и заканчивая
ZZZZ . т.е.
тоесть первый "оборот" цикла
FLname= AAAAA
второй
FLname= AAAAB
26й
FLname= AAABA
27й
FLname= AAABB
...
и так до ZZZZZ
т.е. нужно чтобы переменная с каждым разом увеличивалась на 1 "единицу" в порядке Алфавитного возрастания, если можно так сказать.
подскажите пожалуйста можно ли какнибудь это реализовать?
clickmaker (2008-04-02 14:47:00) [1]выпендриться, что-ли... )
function GetNextFileName(const AName: string): string;
var
len: integer;
begin
len := Length(AName);
if (len > 0) then
begin
Result := AName;
if (Result[len] = 'Z') then
Result := Result + 'A'
else
Result[len] := Chr(Ord(Result[len]) + 1);
end else
Result := 'A';
end;
icWasya (2008-04-01 23:59:00) [2]var
i1,i2,i2,i4:char;
FLname:string;
begin
for i1:='A' to 'Z' do
for i2:='A' to 'Z' do
for i3:='A' to 'Z' do
for i4:='A' to 'Z' do
begin
FLname=i1+i2+i3+i4;
end;
end;
palva (2008-04-01 21:06:00) [3]Советую переходить на PERL. Вот такая программа:
map {print "$_\n"} ('AA'..'ZZ')
Напечатает вам строки от 'AA' до 'ZZ' по вашему правилу.
Плохиш (2008-04-01 18:34:00) [4]
> Автор застрелится
хотелось бы надеяться.
Alien1769 (2008-04-01 17:29:00) [5]
> Использовать 26-ричную систему счисления
Автор застрелится ! :))
Anatoly Podgoretsky (2008-04-01 17:27:00) [6]А зачем? Циклы и так нормально работают с символами.
Семеныч (2008-04-01 17:01:00) [7]Использовать 26-ричную систему счисления, ее цифры обозначить буквами и при каждом проходе цикла просто прибавлять единицу.
MBo (2008-04-01 17:00:00) [8]http://algolist.manual.ru/maths/combinat/index.php
Для небольших длин проще рекурсивно генерировать.
lamer (2008-04-01 16:56:00) [9]а можно не большой пример хотябы:[ просто вобще не представляю как это сделать..
Andy BitOff (2008-04-01 16:54:00) [10]Таблицу символов в руки и вперед.
lamer (2008-04-01 16:51:00) [11]либо можно другой вариант:
1й оборот
FLname= А
2
FLname= B
25
FLname= Z
26 FLname= ZA
40+
FLname= ZZА
такое вариант даже предпочтительнее