|
chr(13) + chr(10) лишние пробелы
|
|||
---|---|---|---|
#18+
Добрый день! Помогите разобраться необходимо сформировать xml файл есть такой код: авторselectdir = 'MyModem\Out\pharm\' CLOSE TABLES all SET console off lcEnter = chr(13) + chr(10) lcText = '<?xml version="1.0" encoding="windows-1251" standalone="yes" ?>' + lcEnter lcText = lcText + '<PReport xmlns="http://tempuri.org/PReport.xsd">' + lcEnter lcText = lcText + '<Header>' + lcEnter lcText = lcText + '<Report_Type>pr001</Report_Type>' + lcEnter lcText = lcText + '</Header>' + lcEnter SELECT * FROM ...................................... INTO CURSOR Sales select Sales go top scan lcText = lcText + '<Sales>' + lcEnter lcText = lcText + '<Supplier_Code>'+''+'</Supplier_Code>' + lcEnter lcText = lcText + '<Price_Out>'+alltrim(str(Sales.price,10,2))+'</Price_Out>' + lcEnter ... lcText = lcText + '</Sales>' + lcEnter endscan lcText = lcText + '</PReport>' + lcEnter selectfile = CHRTRAN("report_123_"+right(dtoc(date()),4)+substr(dtoc(date()),4,2)+left(dtoc(date()),2),".","")+".xml" outfile = CHRTRAN(selectdir,".","")+selectfile set printer to &outfile. set printer on ?? lcText set printer off set printer to SET PRINTER TO DEFAULT так вот, если запустить программу несколько раз, получаем: первый раз все нормально а дальше перед всеми строками кроме первой добавляются пробелы, с каждым разом их число увеличивается 1-й раз. Код: xml 1. 2. 3. 4. 5.
2-й раз Код: xml 1. 2. 3. 4. 5. 6.
3-й раз Код: xml 1. 2. 3. 4. 5.
помогло следующее: добавил две строки авторCLOSE TABLES all _CLIPTEXT='' ?_CLIPTEXT SET console off lcEnter = chr(13) + chr(10) ... ... но так и не понимаю в чем проблема. Подскажите пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 14:47 |
|
chr(13) + chr(10) лишние пробелы
|
|||
---|---|---|---|
#18+
Замени это Код: sql 1. 2. 3. 4. 5.
на Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 15:16 |
|
chr(13) + chr(10) лишние пробелы
|
|||
---|---|---|---|
#18+
Dima TЗамени это Код: sql 1. 2. 3. 4. 5.
на Код: sql 1.
Благодарю. Так работает. Но все же не понимаю, почему добавляются пробелы в моем варианте.и почему если добавить в начале _CLIPTEXT='' ?_CLIPTEXT все работает как задумали. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 15:33 |
|
chr(13) + chr(10) лишние пробелы
|
|||
---|---|---|---|
#18+
Валерий_Е, посмотри слегка переработанный твой код (ну чтобы у себя было можно что-то запустить): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Не кажется ли тебе, что в нем значительно меньше всяких совершенно ненужных сущностей? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 15:39 |
|
chr(13) + chr(10) лишние пробелы
|
|||
---|---|---|---|
#18+
Валерий_ЕНо все же не понимаю, почему добавляются пробелы в моем варианте Не знаю. Может какая-то особенность set printer. Не надо им пользоваться. Это наследие FoxPro for DOS. SET console off тоже лишнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 15:40 |
|
chr(13) + chr(10) лишние пробелы
|
|||
---|---|---|---|
#18+
правильный проходящий.Валерий_Е, посмотри слегка переработанный твой код (ну чтобы у себя было можно что-то запустить): selectdir = 'MyModem\Out\pharm\' CLOSE TABLES all SET console off selectfile = "report_123_"+dtos(date())+".xml" outfile = selectfile SET TEXTMERGE on TO (outfile) \\<?xml version="1.0" encoding="windows-1251" standalone="yes" ?> \<PReport xmlns=" http://tempuri.org/PReport.xsd"> \ \<Header> \<Report_Type>pr001</Report_Type> \</Header> SELECT * FROM ............. INTO CURSOR Sales scan \<Sales>' \<Price_Out><<alltrim(str(Sales.price,10,2))>></Price_Out> \</Sales> endscan \</PReport> SET TEXTMERGE OFF SET TEXTMERGE to Modify File (outfile) Не кажется ли тебе, что в нем значительно меньше всяких совершенно ненужных сущностей? Так тоже работает. Благодарю. Dima TНе знаю. Может какая-то особенность set printer. Не надо им пользоваться. Это наследие FoxPro for DOS. SET console off тоже лишнее. Может. Странно что этот код уже пол года работает в 18 точках (в начале дня автоматически формируется отчет о продажах и отправляется по почте), а неделю назад возникла такая проблема только в одном месте. Ладно всем спасибо, воспользуюсь советом Dima T (меньше править). ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 16:23 |
|
chr(13) + chr(10) лишние пробелы
|
|||
---|---|---|---|
#18+
Валерий_ЕЛадно всем спасибо, воспользуюсь советом Dima T (меньше править).Ну хоть выкинешь всю ахинею, связанную с формированием имени файла? Про функцию Dtos() почитать в хелп заглянешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 16:29 |
|
|
start [/forum/topic.php?fid=41&fpage=19&tid=1582144]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 270ms |
total: | 404ms |
0 / 0 |