Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Строки и ещё раз строки Добавлено: 22.04.08 16:12  

Автор вопроса:  ygen | Web-сайт: soft.ygen.ru/
Помогите плз. Как сделать:

1.Скорее всего этот вопрос не раз обсуждался.Нужно осуществить поиск в текстовом поле?

2.Поиск осуществляется по нескольким словам.Записать содержимое промежутка между этими словами в переменную.

Хотя бы подскажите первое. Второе не обязательно (как-нить сам сделаю)

Ответить

  Ответы Всего ответов: 12  

Номер ответа: 1
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #1
Добавлено: 22.04.08 17:00
InStr?
Mid?
проблемы какие?)

Ответить

Номер ответа: 2
Автор ответа:
 ygen



Вопросов: 36
Ответов: 87
 Web-сайт: soft.ygen.ru/
 Профиль | | #2
Добавлено: 22.04.08 17:49
После всего этого код выводит содержимое с <input и дальше всё остальное содержимое строки. А как вывести содержимое до символа ">" ?

  long1 = InStr(1, Text3.Text, "<INPUT";)
  long2 = InStr(1, Text3.Text, ">";)
  Text2.Text = Mid(Text3.Text, long1)

Ответить

Номер ответа: 3
Автор ответа:
 ygen



Вопросов: 36
Ответов: 87
 Web-сайт: soft.ygen.ru/
 Профиль | | #3
Добавлено: 22.04.08 17:58
Понял что "сам дурак" :) (как всегда. Жалко что на форуме нет кнопки удалить сообщение)

Ответить

Номер ответа: 4
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #4 Добавлено: 23.04.08 17:48
исследуй и пойми, почему не будет работать эта строчка:

"there is something wrong here...> i guess, this kind of text will not be imprinted..<INPUT..may be u need some..>?"

Ответить

Номер ответа: 5
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #5
Добавлено: 23.04.08 17:51
long1 = InStr(1, Text3.Text, "<INPUT";)
  long2 = InStr(long2, Text3.Text, ">";)
  Text2.Text = Mid(Text3.Text, long1)

подсказка =)

Ответить

Номер ответа: 6
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #6
Добавлено: 23.04.08 20:27
Text2.Text = Mid(Text3.Text, long1, long2 - long1)
еще одна

Ответить

Номер ответа: 7
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #7
Добавлено: 24.04.08 00:44
Ну блин, нафиг? пусть бы сам погадал =)

Ответить

Номер ответа: 8
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #8
Добавлено: 24.04.08 02:06
а ну я тя не понял)) я думал это такая подсказка типа ответа=)

Ответить

Номер ответа: 9
Автор ответа:
 Arti



Вопросов: 2
Ответов: 5
 Профиль | | #9 Добавлено: 25.04.08 19:15
Интересный вы народ однако :|
Работает как надо, но буду дорабатывать.
Imports System.Text.RegularExpressions
Public Class Form1
    Dim intKod() As Integer
    Dim strMNN() As String
    Dim strNLP() As String
    Dim decCena() As Decimal
    Dim dblMYP() As Double

    Private Sub ОткрытьToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ОткрытьToolStripMenuItem.Click
        ' Открываем файл
        If ofd1.ShowDialog = Windows.Forms.DialogResult.OK Then
            ' Создаем объект(поток) на основе класса IO.StreamReader и открываем с помощью него файл
            Dim clsSchitatel As New IO.StreamReader(ofd1.FileName)
            ' Подсчитываем количество строк в файле для определения длинны масивов(количество строк в каждом столбике)
            Dim intLines As UInteger = Regex.Matches(clsSchitatel.ReadToEnd, ".+\n*";).Count
            ' Закрываем поток подсчета строк
            clsSchitatel.Close()
            ' Создаем поток для чтения строк
            Dim clsChitatel As New IO.StreamReader(ofd1.FileName)
            ' Устанавливаем длинну масивов
            ReDim intKod(0 To intLines)
            ReDim strMNN(0 To intLines)
            ReDim strNLP(0 To intLines)
            ReDim decCena(0 To intLines)
            ReDim dblMYP(0 To intLines)
            'MsgBox(intLines)
            ' Переменная содержащая строку из файла
            Dim strLine As String
            ' Масив содержащий значение столбиков из строки файла
            Dim strTab() As String
            ' Цикл до достежения конца файла
            Do Until clsChitatel.EndOfStream
                ' Читаем строку, после курсор встает на начало следующей строки
                strLine = clsChitatel.ReadLine()
                ' Создаем строки в качестве разделителя строк vbTab  
                strTab = Split(strLine, vbTab)
                ' Объявляем счетчик для индексации массива
                Dim s As Integer
                intKod(s) = strTab(0)
                strMNN(s) = strTab(1)
                strNLP(s) = strTab(2)
                decCena(s) = strTab(3)
                dblMYP(s) = strTab(4)
                ' Переводим все масивы на следующий индекс
                s += 1
                ' Возвращаемся за новой порцией строк для strTab()
            Loop
            ' Закрываем поток
            clsChitatel.Close()
        End If
    End Sub
End Class

Итог работает как надо. Если скажем есть текстовый файл с разделителем столбцов (знак табуляции)
Например
123 ABC DEF 456 789
135 ACE GIK 246 579

Получаем:
intKod(0)=123 strMNN(0)=ABC strNLP(0)=DEF decCena(0)=456 dblMYP(0)=789
intKod(1)135 strMNN(1)=ACE strNLP(1)=GIK decCena(1=)246 dblMYP(1)=579
и т.д.

Ответить

Номер ответа: 10
Автор ответа:
 Arti



Вопросов: 2
Ответов: 5
 Профиль | | #10 Добавлено: 25.04.08 19:17
Удалите сообщение не в той теме создал :(

Ответить

Номер ответа: 11
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #11
Добавлено: 25.04.08 21:35
увы. это невозможно. И твой позор (сообщение не в той теме) будет вечно висеть на форуме)

Ответить

Номер ответа: 12
Автор ответа:
 Arti



Вопросов: 2
Ответов: 5
 Профиль | | #12 Добавлено: 25.04.08 21:39
Покласть...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам