Текущий архив: 2008.04.27;
Скачать: CL | DM;
Вниз
filename Найти похожие ветки
← →
lamer © (2008-04-01 16:48) [0]здравствуйте.
нужно сделать следующее:
есть переменная в цикле, пусть это будет FLname:string;
нужно чтобы она принимала значения начиная с AAAA и заканчивая
ZZZZ . т.е.
тоесть первый "оборот" цикла
FLname= AAAAA
второй
FLname= AAAAB
26й
FLname= AAABA
27й
FLname= AAABB
...
и так до ZZZZZ
т.е. нужно чтобы переменная с каждым разом увеличивалась на 1 "единицу" в порядке Алфавитного возрастания, если можно так сказать.
подскажите пожалуйста можно ли какнибудь это реализовать?
← →
lamer © (2008-04-01 16:51) [1]либо можно другой вариант:
1й оборот
FLname= А
2
FLname= B
25
FLname= Z
26 FLname= ZA
40+
FLname= ZZА
такое вариант даже предпочтительнее
← →
Andy BitOff © (2008-04-01 16:54) [2]Таблицу символов в руки и вперед.
← →
lamer © (2008-04-01 16:56) [3]а можно не большой пример хотябы:[ просто вобще не представляю как это сделать..
← →
MBo © (2008-04-01 17:00) [4]http://algolist.manual.ru/maths/combinat/index.php
Для небольших длин проще рекурсивно генерировать.
← →
Семеныч (2008-04-01 17:01) [5]Использовать 26-ричную систему счисления, ее цифры обозначить буквами и при каждом проходе цикла просто прибавлять единицу.
← →
Anatoly Podgoretsky © (2008-04-01 17:27) [6]А зачем? Циклы и так нормально работают с символами.
← →
Alien1769 © (2008-04-01 17:29) [7]
> Использовать 26-ричную систему счисления
Автор застрелится ! :))
← →
Плохиш © (2008-04-01 18:34) [8]
> Автор застрелится
хотелось бы надеяться.
← →
palva © (2008-04-01 21:06) [9]Советую переходить на PERL. Вот такая программа:
map {print "$_\n"} ("AA".."ZZ")
Напечатает вам строки от "AA" до "ZZ" по вашему правилу.
← →
icWasya © (2008-04-01 23:59) [10]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;
← →
clickmaker © (2008-04-02 14:47) [11]выпендриться, что-ли... )
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;
Страницы: 1 вся ветка
Текущий архив: 2008.04.27;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.021 c