76 / 37 / 2
Регистрация: 07.01.2012
Сообщений: 414
1

Сохранение настроек программы

11.01.2012, 17:26. Показов 6069. Ответов 49
Метки нет (Все метки)

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

Есть три формы:
1. Форма загрузочного экрана
2. Главная форма
3. Форма настроек

Вопрос 1:
Например я захожу в настройки и там есть TextBox мне нужно в него добавить текст, что бы при следующем и последующих запуска программы он был отображён в Label на Форме загрузочного экрана.

Вопрос 2.
Например у меня на главной форме установлены горячие клавиши. Я захожу в настройки и там есть два ComboBox в первом боке например функции (например: закрыть программу), а во втором боке кнопки (например: f1, f2, f3, f4 , ... f12). Пользователь смог зайти в настройки выбрать функцию и кнопку для неё и при последующих открытиях программы настройки сохранялась.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.01.2012, 17:26
Ответы с готовыми решениями:

Сохранение настроек программы
Ребят, я в picturebox загружаю свою картинку и закрываю программу, но при следующем запуске...

Сохранение настроек в .xml
Собственно вопрос в названии темы... Где то находил ее там Памирыч кидал пример сохранения и...

Сохранение настроек приложения
Здравствуйте..Подскажите..Вот например у меня есть программа. В ней есть окно с настройками. Как...

Сохранение и загрузка настроек калькулятора
Вопрос есть калькулятор: как сделать чтобы человек например занес свои данные которые требуется-и...

49
522 / 484 / 98
Регистрация: 25.12.2011
Сообщений: 1,176
11.01.2012, 18:03 2
1. Записывай в текстовой документ а потом считывай.
VB.NET
1
2
'Кнопка сохранить.
My.Computer.FileSystem.WriteAllText("D:\1.txt", TextBox1.Text, True) ' текст бокс это то что ты хочешь записать то есть из тхт бокса)).
Потом лоад форму:
VB.NET
1
 Label1.Text = My.Computer.FileSystem.ReadAllText("D:\1.txt", System.Text.Encoding.Default) 'Прочитать и добавить в табличку.
Добавлено через 24 минуты
У тебя это реализовано?
Цитата Сообщение от Spread Посмотреть сообщение
Пользователь смог зайти в настройки выбрать функцию и кнопку
Оно работает? Или тебе надо помочь написать?
0
76 / 37 / 2
Регистрация: 07.01.2012
Сообщений: 414
11.01.2012, 22:30  [ТС] 3
Надо помочь написать

Добавлено через 19 минут
Спасибо за первую функцию, прекрасно работает!

Добавлено через 1 час 51 минуту
Возник третий вопрос.

На форме 2TextBox и ListBox.

Код первого TextBox
VB.NET
1
2
3
4
5
        
ListBox1.Items.Clear()
        For I As Integer = 0 To Str.Length - 1
            If Str(I).Contains(TextBox1.Text) Then ListBox1.Items.Add(Str(I))
        Next
Код форма лоад
VB.NET
1
2
        Str = IO.File.ReadAllLines("D:\Users\Рустам\Desktop\ccc.txt", System.Text.Encoding.Default)
        ListBox1.Items.AddRange(Str)
Как внедрить это *.txt в саму программу, что бы когда программа открывалась на компьютере всё было нормально?
0
4 / 4 / 0
Регистрация: 10.07.2011
Сообщений: 115
11.01.2012, 23:18 4
Ты имеешь ввиду тебе нужно чтобы с exe'шником программы были txt файлы сохранений?
0
76 / 37 / 2
Регистрация: 07.01.2012
Сообщений: 414
11.01.2012, 23:41  [ТС] 5
да, внедрить в программу этот *.txt
программа не сможет же найти на другом компьютере этот файл с таким путём.
0
4 / 4 / 0
Регистрация: 10.07.2011
Сообщений: 115
11.01.2012, 23:52 6
Щас помогу

Добавлено через 8 минут
Создаёшь в папке bin\Debug папку, например, Resources и в ней создаёшь файл, например, Setting.txt. Получается bin\Debug\Resources\Setting.tx t. И в файле Setting.txt пишешь то, что тебе нужно.

VB.NET
1
2
'Str = IO.File.ReadAllLines("D:\Users\Рустам\Desktop\ccc.txt", System.Text.Encoding.Default)
Str = IO.File.ReadAllLines(Application.StartupPath & "\Resources\Setting.txt", System.Text.Encoding.Default)
Добавлено через 51 секунду
Ну то есть вместо ccc.txt у тебя будет файл Setting.txt
0
76 / 37 / 2
Регистрация: 07.01.2012
Сообщений: 414
12.01.2012, 14:46  [ТС] 7
т.е если я запущу *.exe просто один файл на другом компьютере он считает информацию с *.txt?

Добавлено через 14 минут
Mad_Marine, сделал всё как вы написали, вообще не подгружает на форме ничего..

Добавлено через 1 час 7 минут
Четвёртый опрос:
как определить кодировку текста который написан в RichTextBox?
как открывать различные кодировки?
как дать возможность пользователю менять кодировку?

Добавлено через 10 минут
Вопрос пятый:
1.есть на форме RichTextBox, 3Button и 1TextBox
я ввожу слово в textBox нажимаю 1button и он ищет это слово в richtextbox?
а кнопками 2button и 3button можно листать поиск вперёд и назад как в опере?

2. есть на форме RichTextBox, 2Button и 2TextBox.
ввожу текст который хочу заменить в 1textbox и на что заменить в 2textbox, нажимаю 1button и он заменяет во всё текст richtextbox'a это. а если нажать на 2button то он заменяет по одному (т.е если я нажму раз он заменяет это слово вначале жму ещё раз он ищет это слово опять по тексту и опять заменят т.е по одному а не во всём тексте сразу)

Добавлено через 1 минуту
3. как узнать кодирвку текста в richtextbox
как дать пользователю возможность меняю кодировки текста и открывать различные?
0
522 / 484 / 98
Регистрация: 25.12.2011
Сообщений: 1,176
12.01.2012, 17:49 8
Цитата Сообщение от Spread Посмотреть сообщение
Mad_Marine, сделал всё как вы написали, вообще не подгружает на форме ничего..
Что именно не работает он должен из папки программы доставать файл.
Цитата Сообщение от Mad_Marine Посмотреть сообщение
Str = IO.File.ReadAllLines(Applicati on.StartupPath & "\Resources\Setting.txt", System.Text.Encoding.Default)
Добавлено через 1 час 2 минуты
Так, начнем хД))

Цитата Сообщение от Spread Посмотреть сообщение
Mad_Marine, сделал всё как вы написали, вообще не подгружает на форме ничего..
Сохраняешь проект у него по стандарту (у меня) папка с названием: "WindowsApplication1" заходим в WindowsApplication1\WindowsApp lication1\bin\Debug создаем там допустим текстовой документ с названием 1.txt потом добавляем код:

VB.NET
1
2
        STR = IO.File.ReadAllText(Application.StartupPath & "\1.txt", System.Text.Encoding.Default)
        Label1.Text = STR
В общем чтобы он допустим искал в папке где программа и еще в какой то папке изменяешь это "\1.txt" на "\название папки\1.txt"

Добавлено через 59 минут
Цитата Сообщение от Spread Посмотреть сообщение
Вопрос пятый:
1.есть на форме RichTextBox, 3Button и 1TextBox
я ввожу слово в textBox нажимаю 1button и он ищет это слово в richtextbox?
а кнопками 2button и 3button можно листать поиск вперёд и назад как в опере?
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
Public Class Form1
    Dim SER
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If InStr(SER, RichTextBox1.Text, TextBox1.Text) <> 0 Then
            RichTextBox1.Focus()
            RichTextBox1.SelectionStart = InStr(SER, RichTextBox1.Text, TextBox1.Text) - 1
            RichTextBox1.SelectionLength = Len(TextBox1.Text)
        Else
            MsgBox("Нет!")
        End If
    End Sub
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        SER = 1
    End Sub
 
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If InStr(SER, RichTextBox1.Text, TextBox1.Text) <> 0 Then
            RichTextBox1.Focus()
            RichTextBox1.SelectionStart = InStr(SER, RichTextBox1.Text, TextBox1.Text) + Len(TextBox1.Text)
            RichTextBox1.SelectionLength = Len(TextBox1.Text)
            SER = InStr(SER, RichTextBox1.Text, TextBox1.Text) + Len(TextBox1.Text)
        Else
            MsgBox("Нет!")
        End If
    End Sub
 
End Class
Добавлено через 22 минуты
Цитата Сообщение от Spread Посмотреть сообщение
2. есть на форме RichTextBox, 2Button и 2TextBox.
ввожу текст который хочу заменить в 1textbox и на что заменить в 2textbox, нажимаю 1button и он заменяет во всё текст richtextbox'a это. а если нажать на 2button то он заменяет по одному (т.е если я нажму раз он заменяет это слово вначале жму ещё раз он ищет это слово опять по тексту и опять заменят т.е по одному а не во всём тексте сразу)
Чтобы заменить 1 слово пиши RichTextBox1.SelectedText.
Допустим:
VB.NET
1
2
3
4
5
6
7
8
9
10
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If InStr(SER, RichTextBox1.Text, TextBox1.Text) <> 0 Then
            RichTextBox1.Focus()
            RichTextBox1.SelectionStart = InStr(SER, RichTextBox1.Text, TextBox1.Text) - 1
            RichTextBox1.SelectionLength = Len(TextBox1.Text)
            RichTextBox1.SelectedText = TextBox2.Text 'Заменяем на тхтбох2
        Else
            MsgBox("Нет!")
        End If
    End Sub
Добавлено через 24 минуты
Чтобы заменить сразу все:

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If InStr(SER, RichTextBox1.Text, TextBox1.Text) <> 0 Then
            Try 'Если ошибка то Catch
                For i = 1 To 1000000 Step 1 ' Думаю больше этого кол-ва значений не придется заменять)
                    RichTextBox1.Focus()
                    RichTextBox1.SelectionStart = InStr(SER, RichTextBox1.Text, TextBox1.Text) - 1
                    RichTextBox1.SelectionLength = Len(TextBox1.Text)
                    RichTextBox1.SelectedText = TextBox2.Text
                    U = U + 1
                Next
                MsgBox("Заменено " & U)
            Catch
                MsgBox("Заменено " & U)
            End Try
        Else
            MsgBox("Нет!")
        End If
    End Sub
Добавлено через 12 минут
Цитата Сообщение от Spread Посмотреть сообщение
3. как узнать кодирвку текста в richtextbox
как дать пользователю возможность меняю кодировки текста и открывать различные?
Хз как.
0
1269 / 974 / 137
Регистрация: 01.10.2009
Сообщений: 3,058
Записей в блоге: 1
12.01.2012, 17:58 9
My.Computer.FileSystem.WriteAl lText("D:\1.txt", RichTBox.Text, True, encoding:=System.Text.Encoding .ASCII)
Запись, в конце после System.Text.Encoding. выбор кодировки
0
76 / 37 / 2
Регистрация: 07.01.2012
Сообщений: 414
12.01.2012, 18:07  [ТС] 10
Hennasy,
ваша замена не работает
ввожу в первый текстьок что хочу заменить во второй на что нажимаю на button2 и вылазиет такое как на скриншоте. а когда нажимаю на button1 выскакиевает тоже ошибка.

так же не работает и поиск
нажимаю на button1 он ищет слово, да, а когда хочу продолжить поиск т.е жму на button2 он просто подсвечивает соседнее слово..

нашёл код замены:
Visual Basic
1
RichTextBox.Text = Replace(RichTextBoxEdit.Text, TextBox1.Text, TextBox2.Text)
он работает, но заменяет желаемое слово во всём документе
нашёл код поиска:
Visual Basic
1
RichTextBox.Find(TextBox1.Text)
но он ищет только одно такое слово. форма поиска должна быть у меня примерно такая как на скриншоте

про внедренее txt в проект вы не поняли
нужно что бы я смог дать только файл exe и он не искал по чужому компа этот айл а он уже был в программе) вот так надо)
Миниатюры
Сохранение настроек программы   Сохранение настроек программы  
0
76 / 37 / 2
Регистрация: 07.01.2012
Сообщений: 414
12.01.2012, 18:08  [ТС] 11
DM_AND, как это реализовать?
ну например что бы кодировка текста(richtextbox'a) отображалась в label?
0
522 / 484 / 98
Регистрация: 25.12.2011
Сообщений: 1,176
12.01.2012, 18:31 12
1 скрин ты не написал в лоад форму SER = 1

Добавлено через 1 минуту
Скорее всего и с заменой всего тоже такая же шняга) в лоад форму напиши SER = 1 и посмотри что будет.

Добавлено через 17 минут
Цитата Сообщение от Spread Посмотреть сообщение
нажимаю на button1 он ищет слово, да, а когда хочу продолжить поиск т.е жму на button2 он просто подсвечивает соседнее слово..
А это что за фигняОо у меня все работает, хм.
0
76 / 37 / 2
Регистрация: 07.01.2012
Сообщений: 414
12.01.2012, 18:55  [ТС] 13
да и правда забыл ser


но такая ошибка у меня
у меня две ормы на одной textbox Две штуки и buttn'ы а на другой richtextbox
скрин шот) как убрать ошибку?
Миниатюры
Сохранение настроек программы  
0
522 / 484 / 98
Регистрация: 25.12.2011
Сообщений: 1,176
12.01.2012, 19:06 14
Оо а как ты записал Form1. действие? надо так:
WindowsApplication1.Form2. и действие.
0
76 / 37 / 2
Регистрация: 07.01.2012
Сообщений: 414
12.01.2012, 19:10  [ТС] 15
Так?

Visual Basic
1
2
3
4
5
6
7
8
        If CBool(CInt(SER) WindowsApplication1.Form1.rtbEdit.Text, Me.TextBox2.Text) <> 0 Then
            Form1.rtbEdit.Focus()
            Form1.rtbEdit.SelectionStart = CInt((SER) WindowsApplication1.Form1.rtbEdit.Text, Me.TextBox2.Text) - 1
            Form1.rtbEdit.SelectionLength = Len(Me.TextBox2.Text)
            Form1.rtbEdit.SelectedText = TextBox2.Text
        Else
            MsgBox("Нет!")
        End If
такая же ошибка всё равно
исправьте пожалуйста..
0
522 / 484 / 98
Регистрация: 25.12.2011
Сообщений: 1,176
12.01.2012, 19:15 16
Выложи сюда саму программу.
0
76 / 37 / 2
Регистрация: 07.01.2012
Сообщений: 414
12.01.2012, 19:16  [ТС] 17
Вот
Вложения
Тип файла: rar High Speed Syntax Coloring.rar (1.12 Мб, 9 просмотров)
0
522 / 484 / 98
Регистрация: 25.12.2011
Сообщений: 1,176
12.01.2012, 19:26 18
Черт как много всего)), я не пойму где этот код был:
VB.NET
1
2
3
4
5
6
7
8
        If CBool(CInt(SER) WindowsApplication1.Form1.rtbEdit.Text, Me.TextBox2.Text) <> 0 Then
            Form1.rtbEdit.Focus()
            Form1.rtbEdit.SelectionStart = CInt((SER) WindowsApplication1.Form1.rtbEdit.Text, Me.TextBox2.Text) - 1
            Form1.rtbEdit.SelectionLength = Len(Me.TextBox2.Text)
            Form1.rtbEdit.SelectedText = TextBox2.Text
        Else
            MsgBox("Нет!")
        End If
Добавлено через 4 минуты
Просто у тебя в коде написано Me.TextBox2.Text - а Ме это какая форма (ее название).=)
0
76 / 37 / 2
Регистрация: 07.01.2012
Сообщений: 414
12.01.2012, 19:27  [ТС] 19
это форма ZamenaText =)

Опять ошибка... да блин..

это где то скобок не хватает или что вообще
Миниатюры
Сохранение настроек программы  
0
522 / 484 / 98
Регистрация: 25.12.2011
Сообщений: 1,176
12.01.2012, 19:31 20
Но в замена ТХТ только это:
VB.NET
1
2
3
4
5
6
7
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.Close()
    End Sub
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Form1.rtbEdit.Text = Replace(Form1.rtbEdit.Text, Me.TextBox2.Text, Me.TextBox3.Text)
    End Sub
Или у меня глюки?)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.01.2012, 19:31
Помогаю со студенческими работами здесь

Сохранение настроек в .ini - дозапись файла
Всем привет! Понимаю, что тема уже избитая, но у меня возник вопрос. Прога по нажатию кнопки...

Сохранение настроек при закрытии формы
И так вопрос. У меня такая ситуация, можно ли разрулить. У меня форма с textbox, больше ничего, в...

Сохранение настроек динамически добавленных контролов
Всех приветствую! Ребзя, нужен ваш совет. Суть такая. Есть основная форма. В эту форму, из...

Сохранение настроек в .ini в папке Windows\System32
Доброго времени суток. Сделал свой ScreenSaver. Настройки должны сохраняться в ini-файле в папке...


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

Или воспользуйтесь поиском по форуму:
20
Закрытая тема Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru