Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2009, 10:38   #1
kate158
Форумчанин
 
Регистрация: 01.08.2008
Сообщений: 383
По умолчанию разделение строки на число и букву

Есть переменная вида $O$6.(ячейка в экселе). Как разбить ее на буквы и цифры?Чтобы сначала был вывод $O, затем $6..
kate158 вне форума Ответить с цитированием
Старый 08.12.2009, 10:42   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Кокрентней - где у Вас хранится это значение? String?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 08.12.2009, 11:04   #3
kate158
Форумчанин
 
Регистрация: 01.08.2008
Сообщений: 383
По умолчанию

да, действительно.
Код:
var 
     FindRange : Variant;
хочу увидеть строку и столбец.
есть такая штука:
Код:
showmessage(FindRange.address);
которая показывает вместестолбец и строку , типа $O$6.
как узнать адрес столбца($O) и строки ($6) ?

Последний раз редактировалось kate158; 08.12.2009 в 11:08.
kate158 вне форума Ответить с цитированием
Старый 08.12.2009, 11:43   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну функцией copy
строка:=copy(FindRange,1,2);
столбец:=copy(FindRange,3,2);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.12.2009, 12:37   #5
kate158
Форумчанин
 
Регистрация: 01.08.2008
Сообщений: 383
По умолчанию

to Stilet
эмм.. тогда у меня берутся значения из указанной строки, а не адрес строки. а если ячейка $AA..
может, можно как то прилепить к моему коду .rows и .columns?

Последний раз редактировалось kate158; 08.12.2009 в 13:56.
kate158 вне форума Ответить с цитированием
Старый 08.12.2009, 13:24   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

не ну я имел ввиду copy(FindRange.address,1,2);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.12.2009, 13:30   #7
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

Как я понял, знак $ начало адреса и он же в конце. Вот и определяйте его позицию и потом функция copy.

Цитата:
Сообщение от Stilet Посмотреть сообщение
не ну я имел ввиду copy(FindRange.address,1,2);
Не просто в екселе адрес может быть не только такого вида $O$6, но и такого $OA$6, по этому она говорит что это не подходит.

Последний раз редактировалось dr.Chas; 08.12.2009 в 13:33.
dr.Chas вне форума Ответить с цитированием
Старый 08.12.2009, 14:27   #8
kate158
Форумчанин
 
Регистрация: 01.08.2008
Сообщений: 383
По умолчанию

почему не работает код
Код:
showmessage(E.Sheets[1].range[''''+FindRange.address+'''']);
?

Последний раз редактировалось kate158; 08.12.2009 в 14:30.
kate158 вне форума Ответить с цитированием
Старый 08.12.2009, 14:46   #9
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

Код:
procedure ad (adres: string; var buk, num: string);
var i: integer;
begin
  i:=1;
  repeat
    inc(i);
    if (s[i]='$') then buk:=copy(s,2,i-2);
  until (s[i]='$');
  num:=copy(s,i+1,length(s)-i);
end;

ad(FindRange.address, {здесь буквы}, {здесь цифры});
Что-то в этом роде.

Цитата:
Сообщение от kate158 Посмотреть сообщение
почему не работает код
Код:
showmessage(E.Sheets[1].range[''''+FindRange.address+'''']);
?
Код:
showmessage(Е.Sheets.Item(1).Range(''''+FindRange.address+''''));
Может быть так?

Последний раз редактировалось dr.Chas; 08.12.2009 в 14:51.
dr.Chas вне форума Ответить с цитированием
Старый 08.12.2009, 14:52   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
dr.Chas
А-а-а. Вон оно че...
Не знал... Ну тогда твой пример предпочтительнее.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод из строки в число и обратно AsmBeginer Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 10 22.05.2010 18:49
Разделение строки текста alex2read Microsoft Office Excel 10 18.05.2010 10:17
перевод строки в число nenuphar Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 30.11.2009 08:53
Разделение строки по критерию mephist Microsoft Office Excel 12 27.08.2009 11:07
Разделение строки xTANATOSx Общие вопросы Delphi 3 31.10.2007 21:27