Работа с файлами

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
AlexB
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 26.01.2004 (Пн) 17:14

Работа с файлами

Сообщение AlexB » 02.02.2004 (Пн) 14:54

Нужно записать в файл массив чисел, при этом чтобы они шли в строчку
через пробел. При использовании функции Print # получается только в столбик.
Может кто нибудь подскажет, как это сделать?

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 02.02.2004 (Пн) 16:02

ну... можно для начала весь массив загнать в строковую переменную, а потом уже эту переменную скинуть в файл
Код: Выделить всё
Dim myArr(1 To 100) As Long
Dim strTemp As String

' заполняем массив
...
...
...

' копируем содержимое массива в строку
Dim i As Long
strTemp = ""
For i = 1 To 100
  strTemp = strTemp & CStr$(myArr(i)) & " "
Next i
strTemp = Mid$(strTemp, 1, Len(strTemp) - 1) ' обрезаем последний пробел

' ну а тут записываем переменную strTemp в файл
...
...
...
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

AlexB
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 26.01.2004 (Пн) 17:14

Работа с файлами

Сообщение AlexB » 02.02.2004 (Пн) 16:10

А без использования строковых переменных нельзя?

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 02.02.2004 (Пн) 16:39

Мона :)

Open "C:\temp.txt" For Output As #1
Print #1, "1000";
Print #1, "2000";
Close #1

AlexB
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 26.01.2004 (Пн) 17:14

Работа с файлами

Сообщение AlexB » 02.02.2004 (Пн) 16:46

Open "C:\temp.txt" For Output As #1
Print #1, "1000";
Print #1, "2000";
Close #1


А если элементов массива не 2, а 1000 :?: :?: :?: :roll:

AlexB
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 26.01.2004 (Пн) 17:14

Работа с файлами

Сообщение AlexB » 02.02.2004 (Пн) 16:53

Да, и при этом запись производится в столбик :?

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 02.02.2004 (Пн) 17:02

Гхм...

'i - число элементов массива a

Open "C:\123.txt" for Output as #1
For j = 1 to i
Print #1, a(i);
Print #1, " ";
next j
Close #1

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 02.02.2004 (Пн) 17:02

Гхм...

'i - число элементов массива a

Open "C:\123.txt" for Output as #1
For j = 1 to i
Print #1, a(i);
Print #1, " ";
next j
Close #1

AlexB
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 26.01.2004 (Пн) 17:14

Работа с файлами

Сообщение AlexB » 02.02.2004 (Пн) 17:19

Тоже самое, только происходит чередование строк:
значение
пробел
значение
пробел
и т.д.

Cornplay
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 03.01.2004 (Сб) 5:13
Откуда: Из дома

Сообщение Cornplay » 02.02.2004 (Пн) 17:42

Ну что может быть проще!
Код: Выделить всё
open "myfile.dat" for output as #1
for i=lbound(array) to ubound(array)
print #1, array(i) & " ";
next i
close #1

AlexB
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 26.01.2004 (Пн) 17:14

Работа с файлами

Сообщение AlexB » 02.02.2004 (Пн) 17:47

Это ты круто задвинул :)
Спасибо!!!

AlexB
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 26.01.2004 (Пн) 17:14

Работа с файлами

Сообщение AlexB » 02.02.2004 (Пн) 17:58

Извини, Amed :oops:
Ты написал тоже самое, я как то не обратил внимание на ";".
А для чего нужна ";" и где еще она используется???

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 02.02.2004 (Пн) 18:16

Если после кавычек - запятая, то следующий текст напечатается на некотором расстоянии от этого, если точка с запятой, то сразу же за этим, а если ничего - то на следующей строке.
Код: Выделить всё
Private Sub Command1_Click()
Me.AutoRedraw = True
MsgBox "Print ""бла1"";"
Me.Print "бла1";
MsgBox "Print ""бла2"","
Me.Print "бла2",
MsgBox "Print ""бла3"""
Me.Print "бла3"
MsgBox "Print ""бла4"""
Me.Print "бла4"
End Sub
Нет меня больше

AlexB
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 26.01.2004 (Пн) 17:14

Работа с файлами

Сообщение AlexB » 02.02.2004 (Пн) 18:34

Спасибо A.A.Z., буду знать.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 19

    TopList