как создать ascii-файл для бухгалтерской программы с помощью vbscript и ASP

#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