Главная страница
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.058 c
3-1169124954
dest81
2007-01-18 15:55
2007.04.08
interbase SQL


2-1173899922
Василиус
2007-03-14 22:18
2007.04.08
Добрый ночер


2-1173949006
Нуб
2007-03-15 11:56
2007.04.08
копирование данных с excel в стрингрид


1-1171386575
cando
2007-02-13 20:09
2007.04.08
буфер обмена


2-1174050233
Один
2007-03-16 16:03
2007.04.08
IB7.1 очень большой расход памяти сервером