Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: сохранить как? Добавлено: 02.06.06 03:29  

Автор вопроса:  Tony Corleone | Web-сайт: corleone.name | ICQ: 312123 
Как вывести форума подобную "Сохранить как...", которая есть во многих приложениях? Для примера нужно сохранить осдержимое Текст1 в файл *.ххх.
Зарание спасибо за помощь.

Ответить

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

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



ICQ: 301424893 

Вопросов: 28
Ответов: 277
 Web-сайт: www.vbkoders.info
 Профиль | | #1
Добавлено: 02.06.06 09:23
Компонент Microsoft Common Dialog Control 6.0

С помощью этого компонента можно вызывать окно открытия файлов, сохранения, выбора цвета... Для начала подключи его(если забыл то посмотри в шаге 34). На форму кинь текстовое поле, 3 кнопки, и CommonDialog(назови его CD1). Начнем мы с открытия файлов.
1. Открытие файлов:
Сделай свойство Caption у Первой кнопки = "Открыть". Вот сейчас мы программу сделаем, у которой выбранный файл в Окне Открытия файлов записывался в текстовое поле. Код:

Private Sub Command1_Click()
CD1.ShowOpen ' Вызываем окно открытия файлов
Text1.Text = CD1.FileName ' Свойство FileName нужно для того чтоб узнать какой файл был выбран
End Sub

Свойства:
1. InitDir - это свойство определяет папку, которая будет при открытии Окна выбора файлов первой. Короче сделай свойство InitDir = A:\, и тогда при запуске окна выбора файлов первый будет диск A:(можно написать c:\games - тогда первый будет папка Games)
2. DialogTitle - это свойство определяет заголовок окна(например у окна выбора файлов заголовок по умолчанию - "Открыть";)
4. FilterName это свойство указывает начальные значения текстового поля(Имя Файла). Например если туды вписать Базик, то при запуске окна в поле Имя файла будет вписанно Базик
5. Filter - Это что - то типа фильтра, т.е. здесь можно указать чтоб можно было выбирать только текстовые файлы, или exeшники... Например можно написать так:

Private Sub Command1_Click()
CD1.ShowOpen ' Вызываем окно открытия файлов
End Sub

Private Sub Form_Load()
CD1.Filter = "Ворд|*.doc|Текстовые|*.txt|Приложения|*.exe|Все файла|*.*|" ' Даем право выбора юзеру
End Sub
Работа с файлами. Введение:

В этом разделе я расскажу о файлах, верней не о них, а как с ними работать, т.е. открывать, изменять, кидать...
Для открытия файлов(НЕ ЗАПУСКА!!!) есть функция open:

open "имя файла" for режим as номер канала
Функции для работы с файлами
Close Номер св. канала

Имя файла - полный путь к файлу(если файл находится в той же папке где и сама программа, то можно написать просто имя файла(например, 1.txt))
Режим - режим открытия файла, есть около 7 режимов, но в этом шаге мы рассмотрим только 3 основных:
1. Input - служит для чтения данных из файла, если файла не существует, то происходит ошибка
2. Append - файл открывается(НЕ ДЛЯ ЧТЕНИЯ!!!) для записи, если файла не существует, то он создается. Если в файле уже есть какие либо данные, то запись идет в конец этих данных.
3. Output - файл открывается(НЕ ДЛЯ ЧТЕНИЯ!!!) для записи, если файла не существует, то он создается. Все данные которые были в файле стираются, и запись идет в "чистый файл"
Номер канала - это номер канала открываемого файла, если номер открываемого файла уже открыт, то происходит ошибка
Запись:
Для записи текста служит функция PrintWrite)
Open "c:\1.txt" For Append As #1 'Открываем файл для добавления записи, с номером канала 1
Print #1, "Твой ТЕКСТ"' Записываем в файл 1.txt текст
Close #1 'Закрываем файл

Есть еще функция для определения свободного канала - FreeFile. Например:
f = FreeFile 'Возвращает номер свободного канала
Open "c:\1.txt" For Append As f 'Открываем файл для добавления записи
Print #f, "Твой ТЕКСТ"'Записываем в файл 1.txt текст
Close #f 'Закрываем файл

Чтение:
Считать данные из файла сложнее чем записать. Есть два способа чтения данных из файла. Первый:

f = FreeFile
Open "c:\1.txt" For Input As f' Открываем файл 1.txt для чтения
Text1.Text = Input(LOF(f), f) 'Считываем текст из открытого файла в текстовое поле(Оператор LOF(Len Of File) определяет длину файла)
Close f

Второй:

Dim txt as String

Open "c:\1.txt" For Input As #1' Открываем файл 1.txt для чтения
Do While Not EOF(1) ' Функция EOF(End Of File) проверяет, достигнут ли конец файла
Line Input #1, txt ' Читаем строку данных
Text1.Text = txt
Loop
Close #1


Взято из учебника Padre

Ответить

Номер ответа: 2
Автор ответа:
 Tony Corleone



ICQ: 312123 

Вопросов: 11
Ответов: 19
 Web-сайт: corleone.name
 Профиль | | #2
Добавлено: 02.06.06 15:05
хм. а как записать какие нибудь данные в файл?

CommonDialog1.ShowSave

а далее?

Ответить

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



ICQ: 301424893 

Вопросов: 28
Ответов: 277
 Web-сайт: www.vbkoders.info
 Профиль | | #3
Добавлено: 02.06.06 15:16
Для записи текста служит функция PrintWrite)
Open "c:\1.txt" For Append As #1 'Открываем файл для добавления записи, с номером канала 1
Print #1, "Твой ТЕКСТ"' Записываем в файл 1.txt текст
Close #1 'Закрываем файл

Прочитай все заново и на этот раз повнимательнее;) Пояснения кода тоже;)

Ответить

Номер ответа: 4
Автор ответа:
 Tony Corleone



ICQ: 312123 

Вопросов: 11
Ответов: 19
 Web-сайт: corleone.name
 Профиль | | #4
Добавлено: 02.06.06 15:29
спасиб =)

Ответить

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



ICQ: 312123 

Вопросов: 11
Ответов: 19
 Web-сайт: corleone.name
 Профиль | | #5
Добавлено: 02.06.06 15:33
так правильней. сохраняться будет файл, под "вашим" именем.

Private Sub 2_Click()
CommonDialog1.ShowSave
Dim MyFile
    MyFile = FreeFile
        Open CommonDialog1.FileName For Output As #MyFile
            Print #MyFile, "Text"
    Close #MyFile
End Sub

Ответить

Номер ответа: 6
Автор ответа:
 Tony Corleone



ICQ: 312123 

Вопросов: 11
Ответов: 19
 Web-сайт: corleone.name
 Профиль | | #6
Добавлено: 02.06.06 21:52
а как-нибудь исправить ошибку, которая выскакивает при нажатии кнопки "Отмена" в окне "Сохранить как..." возможно?

Ответить

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



ICQ: 249094859 

Вопросов: 0
Ответов: 310
 Профиль | | #7 Добавлено: 03.06.06 08:07
Отловить ее или установить свойство CancelError в False. Правда при этом ты никогда не узнаешь какую кнопку нажал.

Ответить

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



ICQ: 223663115 

Вопросов: 21
Ответов: 285
 Профиль | | #8 Добавлено: 03.06.06 20:41
Механизм обработки ошибок знаешь?
Попробуй
on error goto CathErr:
...
твой код
...
exit sub
CathErr:
А здесь обработчик ошибки -
т.е. если будет ошибка то выполняется этот код.

Кстати, кто-нибудь знает другой способ обработки ошибок на ВБ6 кроме on error {resume [next]|goto label}?

Ответить

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


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #9 Добавлено: 04.06.06 01:33
CancelError = False
On error resume next

Ответить

Страница: 1 |

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



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