Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/26: Рейтинг темы: голосов - 26, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 09.04.2013
Сообщений: 3

Изменить формат даты

09.04.2013, 01:01. Показов 4852. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем, прошу помощи!

Каждая строка текстового файла содержит дату в формате "mm-dd-yyyy", где mm - месяц, dd - день, yyyy - год. Записать в новый файл только те строки исходного текстового файла, которые содержат корректно заданные даты, изменив их формат на "dd.mm.yy", где yy - две последние цифры года.

Вот задание.

Было аналогичное для данных, вводимых в текстбоксы

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 Private Sub obrabotka(ByVal mm As String, ByVal dd As String, ByVal yyyy As String)
        Dim flag As Integer
        Dim str1, str2, oshibka As String
        If ((CInt(mm) < 1) Or CInt(mm) > 12) Or ((CInt(dd) < 1) Or (CInt(dd) > 31)) Or (CInt(yyyy) < 1) Then flag = 1
        oshibka = "Дата неверна"
        str1 = mm & "-" & dd & "-" & yyyy
        If (flag = 1) Or (Len(str1) > 10) Then str1 = oshibka 'проверка верности даты
        vivod(str1, TextBox4)
        If str1 <> oshibka Then
            str1 = Mid(str1, 4, 2) & "-" & Mid(str1, 1, 2) & "-" & Mid(str1, 7, 4)    'переставляем поля местами
            str2 = str1.Remove(6, 2)
            vivod(str2, TextBox5)
        End If
    End Sub

Как ни корячился, то там, то тут ошибка вылезет. Помогите, пожалуйста, как написать подобное, вводя строки из текстового файла?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.04.2013, 01:01
Ответы с готовыми решениями:

Формат даты
Вот собственно, то ли я туплю, то ли лыжи не едут! WHERE Дата BETWEEN #&quot; &amp; DateTimePicker1.Value &amp; &quot;# and #26/03/2013#&quot;)...

Формат вывода даты и время
Всем доброго дня, есть код, который выводит дату и время включения удаленного пк в сети. Imports System.Management Public Class...

Изменить формат времени с 20:30 на 20.5
Подскажите пожалуйста. Как изменить формат времени с 20:30 на 20.5, 20:45 на 20.75 и наоборот?

4
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
09.04.2013, 04:48
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Module Module1
 
    Sub Main()
        Try
            Console.WriteLine(obrabotka("12", "2", "1944"))
            Console.WriteLine(obrabotka("13", "2", "1944"))
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
        Console.ReadLine()
    End Sub
    Private Function obrabotka(ByVal mm As String, ByVal dd As String, ByVal yyyy As String) As String
        Dim retval As String = String.Empty
        Try
            Dim dValue As Date = New Date(Integer.Parse(yyyy), Integer.Parse(mm), Integer.Parse(dd))
            retval = String.Format("{0:dd}.{0:MM}.{0:yy}", dValue)
        Catch ex As Exception
            Throw New Exception("Неверный формат даты")
        End Try
 
        Return retval
    End Function
End Module
1
0 / 0 / 0
Регистрация: 09.04.2013
Сообщений: 3
09.04.2013, 17:59  [ТС]
Благодарю, но...

используя средства, доступные для лабораторки в универе, а именно, для примера
процедуры записи/чтения

Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 Sub Запись(ByVal ПутьФ As String, ByVal str1 As String)
        If (My.Computer.FileSystem.FileExists(ПутьФ) = True) Then
            If (MsgBox("Файл существует. Переписать?", _
                MsgBoxStyle.YesNo Or MsgBoxStyle.Question, _
                "Overwrite") <> MsgBoxResult.Yes) Then Exit Sub
        End If
        ' Сохраняем данные.
        Try
            My.Computer.FileSystem.WriteAllText(ПутьФ, str1, False)
        Catch ex As Exception
            MsgBox("Файл не может быть записан на диск " & _
                   "из-за ошибки:" & vbCrLf & vbCrLf & ex.Message)
        End Try
    End Sub
    'Процедура чтения данных из файла целиком в одну строку
    Sub Чтение(ByRef Str3 As String, ByVal filename As String)
        ' Открываем существующий файл и загружаем его в одну строку
        Try
            Str3 = My.Computer.FileSystem.ReadAllText(filename)
        Catch ex As Exception
            MsgBox("Could not open the file due to the " & _
                   " following error:" & vbCrLf & vbCrLf & ex.Message)
        End Try
    End Sub


вот для примера выполненная Мной другая подобная работа, которая повторяет заданный символ, найденный в строке и выводит самую длинную строку

Кликните здесь для просмотра всего текста
Visual Basic
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
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
Public Class Form1
 
    Dim Str1 As String 'строка с исходным первым файлом
    Dim Rez As String 'строка с измененным первым файлом
 
 
    Function vvod(ByVal T As TextBox) As String
        Return T.Text
    End Function
    Sub VvodS(ByRef chr As Char)
        chr = TextBox3.Text
    End Sub
 
    Sub vivod(ByVal z As String, ByRef t As TextBox)
        If z.Length <> 0 Then
            t.Text = z
        Else
            t.Text = "Все удалено"
        End If
    End Sub
 
    Sub vivodS(ByVal Z As Integer, ByVal T As TextBox)
        T.Text = Format(Z, "0")
    End Sub
 
 
 
    Sub Запись(ByVal ПутьФ As String, ByVal str1 As String)
        If (My.Computer.FileSystem.FileExists(ПутьФ) = True) Then
            If (MsgBox("Файл существует. Переписать?", _
                MsgBoxStyle.YesNo Or MsgBoxStyle.Question, _
                "Overwrite") <> MsgBoxResult.Yes) Then Exit Sub
        End If
        ' Сохраняем данные.
        Try
            My.Computer.FileSystem.WriteAllText(ПутьФ, str1, False)
        Catch ex As Exception
            MsgBox("Файл не может быть записан на диск " & _
                   "из-за ошибки:" & vbCrLf & vbCrLf & ex.Message)
        End Try
    End Sub
    'Процедура чтения данных из файла целиком в одну строку
    Sub Чтение(ByRef Str3 As String, ByVal filename As String)
        ' Открываем существующий файл и загружаем его в одну строку
        Try
            Str3 = My.Computer.FileSystem.ReadAllText(filename)
        Catch ex As Exception
            MsgBox("Could not open the file due to the " & _
                   " following error:" & vbCrLf & vbCrLf & ex.Message)
        End Try
    End Sub
 
    Sub InsertChar(ByRef str1 As String, ByVal charpos As Integer, ByVal L As Integer)
        str1 = str1.Substring(0, charpos + 1) + str1.Substring(charpos, L - charpos)
    End Sub
 
 
    Sub Обработка(ByRef a As String)
        Dim c As Char
        VvodS(c)
        Dim idx, Lng As Integer
        Lng = a.Length : idx = 0
        While Lng <> idx
            If a.Substring(idx, 1) = c Then
                InsertChar(a, idx, Lng)
                Lng = Lng + 1
                idx = idx + 2
            Else
                idx = idx + 1
            End If
        End While
    End Sub
 
    'Процедура  решения задачи 
    Sub Решение(ByVal s1 As String, ByRef s2 As String)
        Dim max As Integer
        Dim a, naibs As String
        Dim Stroki() As String 'массив строк первого файла
        Stroki = Split(s1, vbNewLine) 'Разбиваем строку с первым файлом
        ' на массив строк по признаку конца строки
        s2 = "" ' новая строка для нового файла целиком
        naibs = ""
        max = 0
        For i As Integer = 0 To Stroki.Length - 1
            a = Stroki(i) ' одна строка первого файла
            Обработка(a) ' добавление символов
            If a.Length > max Then ' поиск строки с максимальным количеством символов
                max = a.Length
                naibs = a
            End If
            'собираем измененные строки первого файла в одну строку s2
            s2 = s2 + a + vbNewLine
        Next
        vivod(naibs, TextBox5)
        vivodS(max, TextBox6)
    End Sub
 
 
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e _
                              As System.EventArgs) Handles Button3.Click, Button2.Click
        Решение(Str1, Rez)
        vivod(Rez, TextBox4)
    End Sub
 
 
    'Процедура чтения  первого файла
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e _
                          As System.EventArgs) Handles Button1.Click
        Dim ПутьФ1 As String = ""
        ПутьФ1 = vvod(TextBox1)
        Чтение(Str1, ПутьФ1)
        vivod(Str1, TextBox2)
    End Sub
 
 
    'Процедура записи строки с измененным первым файлом  в тот же файл
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e _
                              As System.EventArgs) Handles Button3.Click
        Dim ПутьФ As String = ""
        ПутьФ = vvod(TextBox1)
        Запись(ПутьФ, Rez)
    End Sub
 
    Private Sub Button4_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles Button4.Click
        End
    End Sub
End Class



Прошу простить за много букв, но Я никак не могу понять, как же сделать данное задание
0
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
10.04.2013, 01:36
Какое отношение это имеет к теме? Я дал решение. Чем оно не подходит?
0
0 / 0 / 0
Регистрация: 09.04.2013
Сообщений: 3
11.04.2013, 01:40  [ТС]
Препод просит реализовать именно тем способом, у Меня не получается, в этом и проблема. Институт ведь.

Добавлено через 14 часов 20 минут
Нашёл из-за чего не работало, благодарю за попытки помощи!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.04.2013, 01:40
Помогаю со студенческими работами здесь

Изменить формат DateTime ячейки DataGridView
Кто может подсказать как изменить формат даты в ячейки, по умолчанию он такой 09.03.2014, а как изменить на 2014.09.03?

DataGridView изменить формат ячейки или столбца
В ячейку DataGridView1 мне необходимо вписать слово, этот столбец с цифрами в ячейках, но DataGridView1 не дает. Видимо необходимо...

Как изменить представление даты в колонке DataGridView?
Одна из колонок DataGridView заполняется датами из готовой таблицы базы данных Access. Все даты представлены в формате...

Изменить код определения даты и времени последнего логона юзера
Всем привет! есть код: Dim machine As String = &quot;CompName&quot; Dim loggedOnUsers = New Dictionary(Of String, DateTime)() ...

Запретить ввод даты в MaskedTextBox1 больше текущей даты
На форме MaskedTextBox1 с маской под короткую дату, то есть __.__.____ Как запретить ввод в это поле даты, больше текущей даты? заранее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru