Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.066 c
15-1173709952
Prohodil Mimo
2007-03-12 17:32
2007.04.08
If ... then : Begin End VS Exit;


15-1174061032
wacom
2007-03-16 19:03
2007.04.08
HEAD, GET + Content-Length


4-1164204654
Creative
2006-11-22 17:10
2007.04.08
скорость отклика на WM_KEYDOWN


15-1173742536
Ш-К
2007-03-13 02:35
2007.04.08
Как работать с данными на CD?


2-1174029240
Нуб
2007-03-16 10:14
2007.04.08
dlina : array of integer;




   Наверх