Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Функция форматирования строки / 5 сообщений из 5, страница 1 из 1
07.04.2006, 16:39
    #33652823
Dionnis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция форматирования строки
Добрый день всем!
Подскажите пожалуйста есть ли в VB такая функция, где в качестве одного параметра передаётся строка со специальными символами (например %s, %d и т.д.), а в качестве другого - массив значений. И в итоге получается строка, где специальные символы заменяются значениями из массива. Кто работал с Delphi наверняка знают такую замечательную функцию как format(s: string; Arr:array of const): string. Наверняка чтонибудь аналогичное есть и в VB, только вот найти никак не удаётся :( ...
Заранее всем спасибо.
...
Рейтинг: 0 / 0
07.04.2006, 21:58
    #33653436
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция форматирования строки
Встроенной функции нет, но ее несложно написать самому.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
Public Function fnReplace( _
  ByVal strText As String, _
  ParamArray varItems() As Variant) As String
    Dim lngI As Long
    Dim lngPos As Long
    Dim strReplace As String
    
    On Error GoTo HandleErr
    
    Do
        lngPos = InStr( 1 , strText, "%")
        
        If lngPos >  0  Then
            strText = Left$(strText, lngPos -  1 ) & _
              varItems(lngI) & Mid$(strText, lngPos +  2 )
              lngI = lngI +  1 
        End If
    Loop While lngPos >  0 
        
ExitHere:
    fnReplace = strText
    Exit Function

HandleErr:
    Select Case Err.Number
        Case Else
            MsgBox "Error: " & Err.Description & " " & _
              Err.Number
    End Select
    Resume ExitHere
End Function

Код: plaintext
1.
2.
3.
Public Sub TestReplace()
    Debug.Print fnReplace("Текст с меткой %c и меткой %d", _
      "Метка C", "Метка D")
End Sub
...
Рейтинг: 0 / 0
09.04.2006, 23:10
    #33654670
Dionnis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция форматирования строки
>> Ashton : Спасибо, большое! Я думал правда что есть стандартная функция, но всё равно спасибо!!! :))
...
Рейтинг: 0 / 0
03.08.2006, 03:50
    #33896037
blinow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция форматирования строки
Ну это не с Delphu а с С. И в VB нет такой надобности, там просто
"Тра ля ля " & intNumber & " бум бум " & lngNumber и т.д. и т.п.
...
Рейтинг: 0 / 0
03.08.2006, 21:04
    #33898532
bac
bac
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция форматирования строки
2 blinow
Не скажи. А если у меня шаблоны сообщений в файле, то предложыенный вариант самое то. Это Вам не "Тра-ля-ля" и "Бум-бум"
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Функция форматирования строки / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]