Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.08;
Скачать: CL | DM;

Вниз

помогите перевести на VBA   Найти похожие ветки 

 
DSKalugin ©   (2007-03-12 15:46) [0]

Как в VBA множество с диапазонами описать?

function CreateClearCod(vsCod: AnsiString):AnsiString;
const ClearChars:set of Char=["0".."9","A".."Z"];
var ns:AnsiString;
   i,j:Byte;
begin
 Result:="";
 ns:=AnsiUpperCase(vsCod);
 j:=Length(ns);
 for i:=1 to j do
   if (ns[i] in ClearChars)
     then Result:=Result+ns[i];
end

остальное вроде бы понятно


 
Сергей М. ©   (2007-03-12 15:49) [1]

В VBA, как помнится, нет языковых конструкций, аналогичных по реализации и функциональности set-конструкциям в Делфи


 
DSKalugin ©   (2007-03-12 15:51) [2]

как тогда эту задачу решить средствами Васика?


 
Сергей М. ©   (2007-03-12 15:55) [3]


> DSKalugin ©   (12.03.07 15:51) [2]


Ну как ?
Обычным образом - создав массив Char-ов и сканируя этот массив в цикле на предмет совпадения с искомым Char"ом


 
palva ©   (2007-03-12 15:58) [4]

Может быть удастся приспособить конструкцию Select Case. Там можно использовать диапазоны. Правда диапазоны эти "строковые".
Sub sub1()
 sw = "bbbb"
 Select Case sw
 Case "a"
   x = 6
 Case "b" To "f", "q" To "t", "z"
   x = 5
 End Select
 MsgBox x " 5
End Sub


 
DSKalugin ©   (2007-03-12 16:00) [5]

довольно примитивно и громоздко, но насколько я понимаю так будет быстрей решить задачу чем искать оптимальное решение

как вариант можно еще сделать через вызов паскалевской DLL,
но все равно извращенно выглядит.



Страницы: 1 вся ветка

Текущий архив: 2007.04.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.043 c
15-1173764861
pavel_guzhanov
2007-03-13 08:47
2007.04.08
Вопрос к линуксоидам.


10-1131006759
Misha_00
2005-11-03 11:32
2007.04.08
Передать имя пользователя чере сервер приложений в базу


2-1174385675
Adios
2007-03-20 13:14
2007.04.08
URL


6-1161440921
jimy
2006-10-21 18:28
2007.04.08
ICS, TWSocket


2-1174044399
Vas
2007-03-16 14:26
2007.04.08
Столбци