С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
5 / 5 / 10
Регистрация: 08.01.2016
Сообщений: 80
1

Реализация черного списка пользователей через файловую БД

12.10.2016, 23:19. Показов 731. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть самописная программка-БД с пользователями. Просто никак не врубаюсь, как реализовать можно черный список/блок-лист. В форме можно просматривать всех пользователей,зарегистрированных в программе.

Реализация черного списка пользователей через файловую БД

Код формы
Кликните здесь для просмотра всего текста
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Imports System.IO
 
Public Class Form6
    Private PATH_USERS As String = "C:\temp\USERS.txt"
    Private PATH_BLOCK As String = "C:\temp\BLOCK.txt" 'путь'
    Private FILE_BLOCK() As String
    Private FILE() As String
 
    Public i As Integer = 0
 
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 'вперед'
        If (i > FILE.Length - 1) Then
            MsgBox("Больше пользователей нет")
        Else
            TextBox1.Text = FILE(i)
 
            i = i + 1
            Button1.Enabled = True
            Button3.Enabled = True
            Button4.Enabled = True
        End If
    End Sub
 
    Private Sub Form6_Load(sender As Object, e As EventArgs) Handles MyBase.Load 'загрузка формы'
        FILE = IO.File.ReadAllLines(PATH_USERS, System.Text.Encoding.Default) 'массив строк'
        FILE_BLOCK = IO.File.ReadAllLines(PATH_BLOCK, System.Text.Encoding.Default)
        Button1.Enabled = False
        Button3.Enabled = False
        Button4.Enabled = False
    End Sub
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 'назад'
        i = i - 1
 
        If (i = 0) Then
            MsgBox("Больше пользователей нет")
        Else
            TextBox1.Text = FILE(i - 1)
        End If
    End Sub


Как понимаю я:
1. Нужно создать динамический массив строк из блок-файла
2. Если блок-файл пуст - создаем первую запись, иначе - сравниваем Textbox1.text со всем массивом(?) (по while или по for i? оО)
3. Если в блок-файле есть запись о пользователе, выводим сообщение о том, что пользователь уже забанен.
4. Если мы всё-таки забаним пользователя - нам нужно будет как-то обнулить какой либо элемент массива блок-файла?Если решим разблокировать пользователя.
Правильно ли я вообще рассуждаю?
Даже если и правильно - я умудряюсь снова спотыкаться на элементарном. Попытка реализовать запись первого забаненого оказалась неудачной - все известные проверки массива на пустоту оказались неудачными.
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click 'заблокировать'
        Dim Log_Pass As String = TextBox1.Text
 
        If (FILE_BLOCK.Length() <= 0) Then 'Без понятия, как еще можно проверить на пустоту; Is Nothing также не работает'
            Using writer As New StreamWriter(PATH_BLOCK, True, System.Text.Encoding.UTF8)
                writer.WriteLine(Log_Pass) 'запись'
                writer.Close()
            End Using
            MsgBox("Пользователь забанен")
        End If
 
    End Sub
End Class
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.10.2016, 23:19
Ответы с готовыми решениями:

Реализация "черного списка" пользователей
Имеется база данных freinds: id | author_id | freind_id | status. status: 1 - дружат, 0 - не...

Изменение/Просмотр черного списка MAC адрессов роутера через telnet (asus rt-n12vp)
Доброго дня, делаю программу которая будет администрировать мой роутер, баня на время MAC адреса...

Реализация красно-черного дерева
Нужна помощь с красно-черным деревом;) Как свести эти части кода в одно целое, нужно чтобы после...

Реализация односвязного списка через классы
Реализую односвязный список, но почему-то на перегрузке оператора индексирования вызывается ошибка...

4
Почетный модератор
21471 / 9155 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
13.10.2016, 06:08 2
TonyWinter, отвечу немного не по теме, но совет дам.
Вы постепенно усложняете программу, и в один прекрасный день может получиться так, что все равно придется использовать БД. Лучше подумать об этом сейчас, чем потом переписывать все заново.

Либо, если уж так хочется использовать файлы, то не стоит заводить дополнительный файл.
Изменится структура текущего:

Код
Вася|123456|0
Петя|123467|0
Миша|654321|1
Где последняя цифра - доступ. Если 0 - можно все, если 1 - забанен, если 2 - Админ и т.д. (я говорю примерно).
1
5 / 5 / 10
Регистрация: 08.01.2016
Сообщений: 80
13.10.2016, 09:47  [ТС] 3
Памирыч, у меня не будет БД, так как это расчетное задание от препода -не удивляйтесь, что программа слишком абстрактная и вообще не применима в реальной жизни. Так как нам никто не даст использовать БД,поэтому препод решил обойти это ограничение файлами =_\\ которые выносят мне мозг.

Хорошо, как можно будет записать/считать именно этот последний символ(0/1)?
Мне на ум только класс СтримРидеров и Райтеров приходят.
Что-то типо этого? оО
VB.NET
1
2
3
Dim buff As Char() 
                
  reader.Read(buff, 0, 1)
0
Почетный модератор
21471 / 9155 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
13.10.2016, 10:11 4
TonyWinter, Я ранее давал Вам код без стиримридеров, там парсится каждая строка строка по Split
Разбиваете им строку на подстроки. Нулевая подстрока вернет Васю, первая - пароль, вторая - доступ.

Кода дать не могу, во всяком случае пока
1
5 / 5 / 10
Регистрация: 08.01.2016
Сообщений: 80
13.10.2016, 10:22  [ТС] 5
Памирыч, в любом случае спасибо,так как этот форум и гугл - две вещи, которые помогают xD
Обязательно посмотрю
0
13.10.2016, 10:22
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.10.2016, 10:22
Помогаю со студенческими работами здесь

Реализация списка через классы. Ошибка
Здравствуйте, никак не могу найти ошибку. Программа должна реализовать двунаправленный кольцевой...

Работа с Массивами: реализация списка через массив?
В общем: Можно ли записать в ячейку массива больше одного символа? Можно ли с помощью массива...

Максимально простая реализация красно-чёрного дерева
Здравствуйте, извините что тема не заставит напрячь Вас свои шестерёнки. Мне необходима МАКСИМАЛЬНО...

Реализация красно-черного дерева в виде двусторонней очереди
Добрый вечер, обитатели форума! Пишу программу, в которой есть иерархия: Дом - Квартира - Житель....

Проверка имен из черного списка
Добрый день, такая задачка, есть файл в котором записано некоторое количество имен типа...

Как убрать из черного списка сайт в антивирусе DR.Web
раньше сайт форум с музыкой хорошо открывался,а сейчас не как не могу зайти,антивирусник блочит...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
Параллельное программировани­е: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS, Swagger и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru