Анализ текста.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Анализ текста.

Сообщение TiG » 16.01.2007 (Вт) 16:57

Как наиболее просто реализовать следующую программу:

Есть случайный текст, например:

Уходит [Бальбо]

Входит [000_Abcent_000]

Входит [буяка]

Входит [deksss]

Входит [Banditka-1]

Уходит [0000 Sentinels]

Уходит [Sleeping rabbit]

Нужно узнать есть ли в этом тексте следущее:
Входит [000_Abcent_000] Входит [deksss]

Если обе записи или одна запись в данном тексте есть, то выдать в переменныю или текст бокс строчку (с одним или двумя никами соответственно):

private[radio]private[000_Abcent_000]private[deksss] Location 20|-20


Я так пркинул ничего простого не придумал, нагромаждение получаеться, а задача вроде простая.
Все мои игрушки мама разметало ураганом...

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 16.01.2007 (Вт) 17:31

InStr?
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Сообщение Debugger » 16.01.2007 (Вт) 20:31

Split?

Wolfie
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 213
Зарегистрирован: 06.03.2006 (Пн) 18:52
Откуда: Россия, Москва, СЗАО

Сообщение Wolfie » 16.01.2007 (Вт) 22:37

Помойму (как и у BV) Instr здесь идеально подходит, вроде
Код: Выделить всё
If Instr (1,Text,A) then
    if Instr(1,Text,B) then К="private[radio]private" & A & "private" & B & "Location 20|-20"
end if
··•··•••··•··••·•·•·•···••·•••···•···•••·•··•·•··
C:\> per asper ad astra
'ASTRA' answer: Path 'ASPER' Not Found
684 Errare humanum est!
C:\> _

TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Сообщение TiG » 17.01.2007 (Ср) 9:40

Wolfie
вот так наверое:

If InStr(1, Text, a) Then k = k & a
If InStr(1, Text, b) Then k = k & b
Все мои игрушки мама разметало ураганом...

|( () ( T |/| |(
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 211
Зарегистрирован: 01.10.2005 (Сб) 15:49

Сообщение |( () ( T |/| |( » 18.01.2007 (Чт) 0:31

Код: Выделить всё
Dim Nicks(2) As String, msg As String
Nicks(0) = "radio"
Nicks(1) = "000_Abcent_000"
Nicks(2) = "deksss"
For i = 0 To UBound(Nicks)
If InStr(1, Text, "Входит [" & Nicks(i) & "]") Then
  msg = msg & "private[" & Nicks(i) & "]"
End If
Next
msg = msg & " Location 20|-20"
MsgBox msg
С=[::::::::::> ™ e398wallpapers.narod.ru


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 92

    TopList