#vbscript #asp-classic #ascii
#vbscript #asp-classic #ascii
Вопрос:
мне нужен файл ascii, в котором есть несколько строк для бухгалтерского учета.
в каждой строке у меня будет текст и цифры, например, цифры и пробелы с определенной длиной для каждого столбца данных, первый столбец имеет длину 3 символа, второй — 5, третий — 10 и т.д…
затем мне нужно, чтобы конец строки заканчивался на CR LF
как мне создать файл ascii из классических asp и vbscript?
Комментарии:
1. Вам нужно создать файл на сервере или отправить это содержимое клиенту?
Ответ №1:
Вы используете FSO (FileSystemObject) для работы с файлами в VBScript. На этой странице MSDN «Работа с файлами» показано, как создавать файлы и записывать в них данные.
Вот страница с примером использования VBScript на странице ASP для создания текстового файла.
Комментарии:
1. это то, что я в конечном итоге делаю, и просто узнаю, что вы написали ответ 😉
Ответ №2:
Я предполагаю, что вам нужно управлять текстовым файлом, подобным базе данных. Если я прав, вы можете сделать это с помощью драйвера текстового файла. Вам нужен файл schema.ini для конфигурации конструкции данных и существующий текстовый файл (myfile.csv). schema.ini
[myfile.csv]
Format=FixedLength
CharacterSet=ANSI
ColNameHeader=False
Col1=first Text Width 3
Col2=second Text Width 5
Col3=third Text Width 10
;[myotherfile.csv]
;Format=FixedLength
;CharacterSet=ANSI
; etc.
myfile.csv (возможно, не уверен, но в приведенной выше конфигурации в строке три столбца.)
abcdefghijklmnopqrstu
123123451234567890
То, что нужно делать на стороне ASP, также похоже на классические операции с базой данных.
Const adLockReadOnly = 1
Dim adoCon, adoRS
Set adoCon = Server.CreateObject("Adodb.Connection")
adoCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="amp; Server.Mappath(".") amp; _
";Extended Properties=""text"""
Set adoRS = Server.CreateObject("Adodb.Recordset")
With adoRS
.Open "Select * From [myfile.csv]", adoCon, , adLockReadOnly
While Not .Eof
Response.Write( _
.Fields("first").Value amp; " - "amp; _
.Fields("second").Value amp; " - "amp; _
.Fields("third").Value amp; _
"<br />")
.MoveNext
Wend
.Close
End With
Set adoRS = Nothing
'Data insert : new line ends with CR LF automatically.
adoCon.Execute "Insert Into [myfile.csv] Values('aaa','bbbbb','cccccccccc')"
adoCon.Close
Set adoCon = Nothing