Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 | 2 |

 

  Вопрос: Сохранение текста из нескольких TextBox Добавлено: 08.10.04 20:43  

Автор вопроса:  Unheilig | Web-сайт: www.tarjaturunen.narod.ru | ICQ: 336859855 

Ответить

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

Номер ответа: 16
Автор ответа:
 Unheilig



ICQ: 336859855 

Вопросов: 9
Ответов: 32
 Web-сайт: www.tarjaturunen.narod.ru
 Профиль | | #16
Добавлено: 10.10.04 01:40
Вот как раз файлы маленькие (не более 50 кб)
 
to CyRax - если что выйдет (насчёт 3 способов) кмнь на мыло, если не трудно.

Ответить

Номер ответа: 17
Автор ответа:
 CyRax



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #17
Добавлено: 10.10.04 02:14
Попробуй такое.

Private Type Str7
 Value(6) As String
End Type

Private Questions() As Str7

Private Sub Form_Load()
 'Допустим у нас 5 вопросов
 ReDim Questions(4)
 
 'Заполним массив вопросов левыми значениями
 For EnumFields = 0 To UBound(Questions)
  For EnumTypeFields = 0 To 6
   Questions(EnumFields).Value(EnumTypeFields) = "Вопрос " & EnumFields + 1 & " | Поле " & EnumTypeFields + 1
  Next EnumTypeFields
 Next EnumFields
 
 'Сохранить все вопросы в файл
 SaveQuestions Environ$("TEMP";) & "\Questions.dat"
 
 'Стереть вопросы из памяти
 Erase Questions
 
 'Загрузить 5 вопросов из файла
 LoadQuestions Environ$("TEMP";) & "\Questions.dat", 5
 
 'Просмотреть случайное поле
 Randomize Timer
 MsgBox Questions(Int(5 * Rnd)).Value(Int(6 * Rnd))
End Sub

Sub SaveQuestions(FileName As String)
 If Len(Dir$(FileName)) > 0 Then Kill FileName
 Dim FileChanell As Long
 FileChanell = FreeFile
 Open FileName For Binary As FileChanell
  Put #FileChanell, 1, Questions
 Close FileChanell
End Sub

Sub LoadQuestions(FileName As String, ByVal TotalCount As Long)
 If Len(Dir$(FileName)) = 0 Then MsgBox "File not present", 16: Exit Sub
 Dim FileChanell As Long
 FileChanell = FreeFile
 ReDim Questions(TotalCount - 1)
 Open FileName For Binary As FileChanell
  Get #FileChanell, 1, Questions
 Close FileChanell
End Sub


 Кстати с таким алгоритмом удобнее будет использовать массив текстовых полей.

Ответить

Номер ответа: 18
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #18 Добавлено: 11.10.04 13:01
Еще как вариант:

Option Explicit
Private Type Saved
    Text1 As String
    Text2 As String
    Text3 As String
End Type


Private Sub Command1_Click()
Dim SaveFile As Saved
SaveFile.Text1 = Text1(0).Text
SaveFile.Text2 = Text1(1).Text
SaveFile.Text3 = Text1(2).Text
Dim hFile As Byte
hFile = FreeFile
Open "C:\tmpfile.dat" For Binary As hFile
Put hFile, , SaveFile
Close hFile
End Sub

Private Sub Command2_Click()
Dim SaveFile As Saved
Dim hFile As Byte
hFile = FreeFile
Open "C:\tmpfile.dat" For Binary As hFile
Get hFile, , SaveFile
Close hFile
Text1(0).Text = SaveFile.Text1
Text1(1).Text = SaveFile.Text2
Text1(2).Text = SaveFile.Text3
End Sub

Private Sub Command3_Click()
Text1(0).Text = ""
Text1(1).Text = ""
Text1(2).Text = ""
End Sub

То есть, просто загоняешь это все в user type и сохраняешь в двоичный файл. С извлечением тоже проблем нет. Разумеется, это рулит лишь если ты этот файл как текстовый просматривать не собираешься.

Ответить

Номер ответа: 19
Автор ответа:
 CyRax



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #19
Добавлено: 12.10.04 00:42
Ну и чем это отличается от того что я написал?
 А понял, чтобы он повопросно загружал. Я тоже так хотел сделать сначала, но потом подумал что для больших файлов это скорости не прибавит. Но раз у тебя файл всего 50 кБ, то можно и так.

Ответить

Страница: 1 | 2 |

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



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