Главная страница
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.063 c
4-1162553030
мах
2006-11-03 14:23
2007.04.08
Не видно окна программы


15-1173771438
Riply
2007-03-13 10:37
2007.04.08
Образ системного диска.


8-1152652402
Raptoridzev
2006-07-12 01:13
2007.04.08
проиграть в микрофон


15-1173784797
vajo
2007-03-13 14:19
2007.04.08
ICQ


15-1173949758
Darvin
2007-03-15 12:09
2007.04.08
Перезагрузка WinXP при попытке работы с устройством