.NET 4.x Подсчет строк в файле со счетчиком - Visual Basic .NET

  1. Ребят, а как можно прочитать текстовый файл, но так, чтобы счетчик прибавлялся по мере считывания строки? Сейчас я делаю примерно так:vb.net1 line = chitalka.ReadLine()но в таком случае, программа выдаст результат только тогда, когда прочитает все строки массива до конца. Соответственно, если в файле много строк, то выглядит это не очень. Такое чувство, что программа зависла. А вот, если счетчик будет прибавлять +1 по мере считывания новых строк, то будет совсем другое дело. Я прекрасно понимаю, что тут нужно использовать For i ... что-то там, но не хотелось бы пороть какую-то отсебятину, т.к. с циклами я еще не очень дружу. Хотелось бы увидеть грамотный код. Буду благодарен за любую помощь.


textual

Код:

counter += 1


Похожие ответы
  1. Здравствуйте! Есть таблица DataGridView всего 4 колонки: | чекбокс | текст | текст | текст | И есть строка: 3|False|стол|стул|скатерть|True|цветок|дерево|лист|False|небо|солнце|земля где первый символ (или несколько символов) до первого сплита означает кол-во строк, а далее уже данные для ячеек. Подскажите, пожалуйста, как корректно заполнить таблицу из подобной строки?

  1. Подскажите пожалуйста, как из строки выделить последние три символа. Думаю реализовать с помощью метода Substring(), но не знаю имеет ли он обратный ход, с права на лево

  1. Найти и заменить определенный символ в строке, введенной с клавиатуры. Программа должна запрашивать заменяемый и заменяющий символы, а также подтверждение каждой замены символа с сообщением о номере его позиции в строке.Не знаю как заменить определенный символ. Прошу помощи. Заранее спасибо.vb.net1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18     Sub Main()         Console.Write("Введите строку: ")         Dim str As String = Console.ReadLine(), replaceable, replacing As Char, querty As Boolean         Console.Write("Какой символ заменять: ")         replaceable = Console.ReadLine()         Console.Write("На какой символ заменять: ")         replacing = Console.ReadLine()         For i = 0 To Len(str) - 1 'Здесь должна быть проверка на совпадение символа             Console.Write("Заменить символ №" & i + 1 & " на " & replacing & "? ")             querty = Console.ReadLine()             If querty = True Then                 ' Здесь замена символа             End If         Next         Console.WriteLine(Replace(str, replaceable, replacing, , 1))         Console.ReadLine()     End Sub

  1. Здравствуйте! В программе имеется некое подобие командной строки, при вводе в которую команды и нажатия ENTER'а происходит вызов процедуры, согласно набранной команде. В чем заключается суть вопроса: возможна ли реализация вызова функции не напрямую, а через строковую переменную? Например, имеется 2 текстбокса - 1 для ввода и 2 для вывода. Код:vb.net1 2 3 4 Private Sub commandbox_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles commandbox.KeyDown If e.KeyCode = 13 Then str = commandbox.Text call (<параметры>)

  1. Народ, приветствую, подскажите, плж, следующую вещь. Имеется массив из двух измерений 30 х динамическое значение Мне нужно обратится прямо к столбцу/строке из 30-ти значений Т.е. напримерvb.net1 2 ReDim TwoSidedArr as string(30,2)={{1,2,3 ... 29,30},{1,2,3 ... 29,30}} ReDim SingleArr as string(30) = TwoSidedArr(1)где SidedArr это массив (30,q) элементов. В Php такое возможно, vb.net не могу найти. Спасибо.

  1. Доброго времени суток Уважаемые форумчане! Заранее извиняюсь за глупость вопроса и соглашаюсь со званием барана и тупицы... наверное старею... Суть проблемы следующая: делаю выборку из БД, поле типа integer, значение может быть 1,10,199,1565,54322 и тд. При выводе в файл эти значения нужно преобразовать к формату 000001, 000010, 000199, 001565, 054322 и тд. В общем строка фиксированной длины 6 символов, недостающие символы в начале строки заменяются нулями. Заранее всем спасибо и еще раз извините.

  1. Желательно в Visual Studio Basic 2010 или выше. (Заранее Спасибо!!!)

  1. возможно сделать неактивные опшены как на скрине "выберите героя"? нужно два неактивных опшена внутри селекта

  1. Из строки, содержащей корректно заданную дату в формате "dd.mm.yy", где dd – день, mm – месяц, yy – год, получите строку с датой, отстоящей от заданной на n дней назад, в том же формате. -Это собственно само задание которое мне досталось, здесь на форуме удалось найти рабочий код для практически такой же задачи, только в ней дни считались вперед, а мне нужно назад и у меня все никак не получается понять какие именно строчки нужно поменять, что бы все работало так, как нужно мне, помогите пожалуйста. Тема- строки, нельзя решать задачу другими способами. Найденный код:PureBasic1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17  Sub obrabotka(ByVal Str1 As String, ByVal n As Integer, ByRef Str2 As String)         Dim month1, month, year, x, y, z As Integer         x = CInt(Mid(Str1, 1, 2)) 'дни         y = CInt(Mid(Str1, 4, 2)) 'месяцы         z = CInt(Mid(Str1, 7)) 'года         year = (x + n) \ 360 'изменение года         month = (x + n) \ 30 'изменение месяца         If x + n < 31 Then             Str2 = CStr(x + n) & Mid(Str1, 3)         Else             month1 = month + y             While month1 > 12                 month1 = month1 - 12             End While             Str2 = CStr(Format(x + n - month * 30, "00")) & "." & CStr(Format(month1, "00")) & "." & CStr(Format(z + year, "00"))         End If     End Sub

  1. Гуру vb.net помогите разобраться. Нужна была удобная колонка для ввода суммы, нашел на просторах интернета этот вариант:vb.net1 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 Public Class DataGridViewNumericColumn     Inherits DataGridViewColumn       Public Sub New()         MyBase.New(New NumericUpDownCell())     End Sub       Public Overrides Property CellTemplate() As DataGridViewCell         Get             Return MyBase.CellTemplate         End Get         Set(ByVal value As DataGridViewCell)             ' Ensure that the cell used for the template is a CalendarCell.             If Not (value Is Nothing) AndAlso Not value.GetType().IsAssignableFrom(GetType(NumericUpDownCell)) Then                 Throw New InvalidCastException("Must be a NumericUpDownCell")             End If             MyBase.CellTemplate = value         End Set     End Property   End Class     Public Class NumericUpDownCell     Inherits DataGridViewTextBoxCell       Public Sub New()         ' Use the short date format.         ' Me.Style.Format = "#.##"     End Sub       Public Overrides Sub InitializeEditingControl(ByVal rowIndex As Integer, ByVal initialFormattedValue As Object, ByVal dataGridViewCellStyle As DataGridViewCellStyle)         ' Set the value of the editing control to the current cell value.         MyBase.InitializeEditingControl(rowIndex, Me.Value, dataGridViewCellStyle) 'initialFormattedValue           Dim ctl As NumericUpDownEditingControl = CType(DataGridView.EditingControl, NumericUpDownEditingControl)         ctl.Value = 0.00           Select Case dataGridViewCellStyle.Format             Case "n0"                 ctl.DecimalPlaces = 0             Case "n1"                 ctl.DecimalPlaces = 1             Case "n2", "c2"                 ctl.DecimalPlaces = 2         End Select             If Not Me.Value Is DBNull.Value Then             If Not Me.Value Is Nothing Then                 ctl.Value = Me.Value             End If         End If       End Sub       Public Overrides ReadOnly Property EditType() As Type         Get             ' Return the type of the editing contol that CalendarCell uses.             Return GetType(NumericUpDownEditingControl)         End Get     End Property       Public Overrides ReadOnly Property ValueType() As Type         Get             ' Return the type of the value that CalendarCell contains.             Return GetType(Decimal)         End Get     End Property       Public Overrides ReadOnly Property DefaultNewRowValue() As Object         Get             ' Use the current date and time as the default value.             Return Nothing         End Get     End Property   End Class     Class NumericUpDownEditingControl     Inherits NumericUpDown     Implements IDataGridViewEditingControl       Private dataGridViewControl As DataGridView     Private valueIsChanged As Boolean = False     Private rowIndexNum As Integer       Public Sub New()           Me.DecimalPlaces = 2         Minimum = 0         Maximum = 9999999999         Value = 0.00       End Sub       Public Property EditingControlFormattedValue() As Object Implements IDataGridViewEditingControl.EditingControlFormattedValue         Get             Return Me.Value.ToString '("#.##")         End Get         Set(ByVal value As Object)             If TypeOf value Is Decimal Then                 Me.Value = Decimal.Parse(value.ToString)             End If         End Set     End Property       Public Function GetEditingControlFormattedValue(ByVal context As DataGridViewDataErrorContexts) As Object Implements IDataGridViewEditingControl.GetEditingControlFormattedValue         Return Me.Value.ToString '("#.##")     End Function       Public Sub ApplyCellStyleToEditingControl(ByVal dataGridViewCellStyle As DataGridViewCellStyle) Implements IDataGridViewEditingControl.ApplyCellStyleToEditingControl         Me.Font = dataGridViewCellStyle.Font         Me.ForeColor = dataGridViewCellStyle.ForeColor         Me.BackColor = dataGridViewCellStyle.BackColor     End Sub       Public Property EditingControlRowIndex() As Integer Implements IDataGridViewEditingControl.EditingControlRowIndex         Get             Return rowIndexNum         End Get         Set(ByVal value As Integer)             rowIndexNum = value         End Set     End Property       Public Function EditingControlWantsInputKey(ByVal key As Keys, ByVal dataGridViewWantsInputKey As Boolean) As Boolean Implements IDataGridViewEditingControl.EditingControlWantsInputKey         ' Let the DateTimePicker handle the keys listed.         Select Case key And Keys.KeyCode             Case Keys.Left, Keys.Up, Keys.Down, Keys.Right, Keys.Home, Keys.End, Keys.PageDown, Keys.PageUp                 Return True             Case Else                 Return False         End Select     End Function       Public Sub PrepareEditingControlForEdit(ByVal selectAll As Boolean) Implements IDataGridViewEditingControl.PrepareEditingControlForEdit         ' No preparation needs to be done.     End Sub       Public ReadOnly Property RepositionEditingControlOnValueChange() As Boolean Implements IDataGridViewEditingControl.RepositionEditingControlOnValueChange         Get             Return False         End Get     End Property       Public Property EditingControlDataGridView() As DataGridView Implements IDataGridViewEditingControl.EditingControlDataGridView         Get             Return dataGridViewControl         End Get         Set(ByVal value As DataGridView)             dataGridViewControl = value         End Set     End Property       Public Property EditingControlValueChanged() As Boolean Implements IDataGridViewEditingControl.EditingControlValueChanged         Get             Return valueIsChanged         End Get         Set(ByVal value As Boolean)             valueIsChanged = True 'value         End Set     End Property       Public ReadOnly Property EditingControlCursor() As Cursor Implements IDataGridViewEditingControl.EditingPanelCursor         Get             Return MyBase.Cursor         End Get     End Property       Protected Overrides Sub OnValueChanged(ByVal eventargs As EventArgs)         ' Notify the DataGridView that the contents of the cell have changed.         valueIsChanged = True         Me.EditingControlDataGridView.NotifyCurrentCellDirty(True)         MyBase.OnValueChanged(eventargs)     End Sub End ClassПроблема такая, если в Datagridview строка не последняя, то введенное значение принимается и отображается в ячейке, если строка последняя значение вроде как принимается и строка новая создается (DatagridView c параметром AllowUserToAddRows=True) но не отображается, отображается только после повторного ввода. Как сделать чтобы в последней строке введенное значение сразу отображалось?