Пример 8

на сайте на Народ.Ру на Яндексе


Главная Назад Пример 1 Пример 2 Пример 3 Пример 4 Пример 5 Пример 6 Пример 7 Пример 8 Пример 9 Пример 10 Пример 11 Пример 12 Пример 13 Пример 14 Пример 15 Пример 16 Пример 17 Пример 18 Пример 19 Пример 20 Пример 21 Пример 22

Яndex

www.yandex.ru

Rambler's Top100

Рейтинг@Mail.ru

Последнее обновление 11/21/02.

 

Функция Delimit(No,Text,Delimiters) делит Text на элементы, разделенные строкой символов Delimiters (которая может быть любой длины). Если параметр No=0, функцией возвращается количество элементов (Integer), при других значениях - получившаяся строка, отделенная первым встретившимся элементом Delimiters (String).
Здесь же некоторые примеры использования функции.
'-----------------------------------------------------------------
'Делит Text на элементы, разделенные строкой символов
'Delimiters (которая может быть любой длины).
'Если параметр No=0, функцией возвращается количество
'элементов (Integer), при других значениях - получившаяся
'строка, отделенная первым встретившимся элементом
'Delimiters (String).
'------------------------------------------------------------------
 Function Delimit(No As Integer, DataString As String, Delimiter As String) As Variant
Dim V As Variant, N As Integer, I As Integer, I0 As Integer
If Len(DataString) = 0 Then
  If No = 0 Then
      V = 0
    Else
      V = ""
  End If
  Delimit = V
  Exit Function
End If
I0 = 1
If No = 0 Then
  N = 1
  Do
    I = InStr(I0, DataString, Delimiter)
    If I = 0 Then Exit Do
    N = N + 1
    I0 = I + Len(Delimiter)
  Loop
  Delimit = N
  Exit Function
End If
I0 = 1
N = 1
Do
  I = InStr(I0, DataString, Delimiter)
  If I = 0 Then Exit Do
  If N = No Then Exit Do
  N = N + 1
  I0 = I + Len(Delimiter)
Loop
If N < No Then
  Delimit = ""
  Exit Function
End If
I = InStr(I0, DataString, Delimiter)
If I = 0 Then
    V = Mid$(DataString, I0)
  Else
    V = Mid$(DataString, I0, I - I0)
End If
Delimit = V
End Function
 

Все функции замены текста, удаления пробелов и пр., я думаю,
можно синтезировать с помощью моих Delimit и Separate.
Соответственно например процедура "делания" всех букв
каждого слова выглядит так:

Dim I as Integer,Z as String,Text as String
Text="test, test, test, test"
Z=""
For I=1 to Delimit(0,Text," ")
Z=Z & UCase$(Mid$(Delimit(I,Text," "),1,1)+LCase$(Mid$(Delimit(I,Text," ")& " "
Next I
If Delimit(0,Text," ")>0 Then Z=Left$(Z,Len(Z)-1) 'Чтобы убрать лишний пробел
Text=Z

Если надо сделать первые буквы предложений заглавными, то
достаточно вместо Delimit использовать Separate, а Delimiters=".!?".

Убрать лишние пробелы? Пожалуйста:
Dim I as Integer,Z as String,Text as String
Text="te     st, t     est    , test, test"
Z=""
For I=1 to Delimit(0,Text," ")
If Delimit(I,Text," ")<>"" Then Z=Z & Delimit(I,Text," ") & " "
Next I
If Delimit(0,Text," ")>0 Then Z=Left$(Z,Len(Z)-1)
Text=Z

Если надо вырезать какие-то символы из строки --- Delimiters=символы
и сложить все элементы.

 
Найди на Бегуне:
Интернет-услуги и сервисы Интернет-услуги и сервисы
Компьютеры и оргтехника Компьютеры и оргтехника
Бытовая техника Бытовая техника
Связь Связь
Авто-мото Авто-мото
Книги, музыка и видео Книги, музыка и видео
Продаем целевых
посетителей!

Используются технологии uCoz