Запись строк в файл
|
|
Deema | Дата: Воскресенье, 02 Декабря 2007, 22:06 | Сообщение # 1 |
Новый участник
Группа: Пользователи
Сообщений: 24
Репутация: 0
Награды: 0
Статус: Offline
| Code For i=1 To 3 If (i=1) Then String$=obva$ Else If (i=2) Then String$=stavka$ Else If (i=3) Then String$=srok$ Else End End End Rv=StrToFile(File$,String$[i],TRUE,TRUE) Next i Нужно, чтобы скрипт последовательно записал в файл строковые переменные: obva$, stavka$, srok$, а он вместо этого записывает на каждой строке файла вот что: String$[i] String$[i] String$[i]
|
|
| |
YURIY | Дата: Воскресенье, 02 Декабря 2007, 22:21 | Сообщение # 2 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Сценарий составлен неправильно. Добавлено (02 Декабрь 2007, 22:21) --------------------------------------------- Причём тут цикл и массив String$, который вы изначально используете, как обычную переменную, а не массив... Code obva$='obva' stavka$='stavka' srok$='srok' File$='C:\File.txt' Rv=StrToFile(File$,obva$,TRUE,TRUE) Rv=StrToFile(File$,stavka$,TRUE,TRUE ) Rv=StrToFile(File$,srok$,TRUE,TRUE) P. S. Заключайте код в теги code!
Вечная память Андрею Сергееву!
|
|
| |
Deema | Дата: Воскресенье, 02 Декабря 2007, 22:35 | Сообщение # 3 |
Новый участник
Группа: Пользователи
Сообщений: 24
Репутация: 0
Награды: 0
Статус: Offline
| Спасибо! Я уже сам вроде бы разобрался. Нужно было вместо "String$" присваивать значения переменной String$[i] - я просто еще новичок и с массивами не очень дружу... Поясню мою задачу: в моей проге есть множество различных текстовых переменных (я просто для примера привел только 3 - на самом деле их более полусотни) и я хотел, чтобы пользователь на определенном этапе работы с программой мог сохранить все переменные в файл, а потом (когда вернется к работе с программой) мог опять загрузиться и начать работать с того места, где закончил. Для этого мне нужно, чтобы все переменные построчно записывались в текстовый файл (каждай переменная на отдельной строке). Поэтому мне и понадобился цикл и массив..
|
|
| |
YURIY | Дата: Воскресенье, 02 Декабря 2007, 22:41 | Сообщение # 4 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Тогда понятно. Конечно здесь нужен массив. Вы просто неправильно присваивали ему значения. Ведь массив имеет индексы, заключаемые в квадратные скобки... Code String$[1]=obva$ String$[2]=stavka$ String$[3]=srok$ For i=1 To 3 Rv=StrToFile(File$,String$[i],TRUE,TRUE) Next i Но этот код является громоздким: нужно присваивать значения не переменным obva, stavka, srok, затем массиву, а сразу элеметам массива string$[1]='текст переменной obva', string$[2]='текст переменной stavka', ...
Вечная память Андрею Сергееву!
|
|
| |
Deema | Дата: Воскресенье, 02 Декабря 2007, 22:52 | Сообщение # 5 |
Новый участник
Группа: Пользователи
Сообщений: 24
Репутация: 0
Награды: 0
Статус: Offline
| Спасибо! У меня вроде бы получилось то, что я хотел.. ВОт так сделал: Code String$[1]=obva$ String$[2]=stavka$ String$[3]=srok$ For i=1 To 3 Rv=StrToFile(File$,String$[i],TRUE,TRUE) Next i Добавлено (02 Декабрь 2007, 22:52) --------------------------------------------- А можно ведь еще заменить цифры в массиве на i Code String$[i]=obva$ String$[i]=stavka$ String$[i]=srok$ For i=1 To 3 Rv=StrToFile(File$,String$[i],TRUE,TRUE) Next i Тоже вроде нормально работает...
|
|
| |
YURIY | Дата: Воскресенье, 02 Декабря 2007, 22:55 | Сообщение # 6 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Quote (Deema) У меня вроде бы получилось то, что я хотел. ВОт так сделал: Я выше также написал. Quote (Deema) А можно ведь еще заменить цифры в массиве на i Нельзя.
Вечная память Андрею Сергееву!
|
|
| |
Deema | Дата: Воскресенье, 02 Декабря 2007, 22:55 | Сообщение # 7 |
Новый участник
Группа: Пользователи
Сообщений: 24
Репутация: 0
Награды: 0
Статус: Offline
| То есть нет - не правильно я написал - вот что я хотел сказать на самом деле: Code
For i=1 To 3 If (i=1) Then String$[i]=obva$ Else If (i=2) Then String$[i]=stavka$ Else If (i=3) Then String$[i]=srok$ Else End End End Next i
|
|
| |
YURIY | Дата: Воскресенье, 02 Декабря 2007, 23:04 | Сообщение # 8 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Ну понятно... В общем, нужно воспользоваться советами, что я привёл выше - иначе у вас получается громоздкий код... Но так как вы новичок - ничего ПОКА ЧТО против не имею
Вечная память Андрею Сергееву!
|
|
| |
Deema | Дата: Воскресенье, 02 Декабря 2007, 23:11 | Сообщение # 9 |
Новый участник
Группа: Пользователи
Сообщений: 24
Репутация: 0
Награды: 0
Статус: Offline
| Да, действительно Вы намного проще предложили - без If then..:) Спасибо, что прощаете промахи новичкам :))
|
|
| |