Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как создать такой текстовый файл??
|
|||
|---|---|---|---|
|
#18+
для банка требуется на дискетке принести информацию в таком виде: АО “МОСХЛЕБТОРГ” 12 июня 2001 г. отделение «Алексеевское» R ; VE RUB ИВАНОВА;СВЕТЛАНА;НИКОЛАЕВНА;МОНОЛИТ;VII-МЮ №3214564;21.12.80 43 ОМ Г.МОСКВЫ;МОСКВА,УЛ. ЗЕЛЕНАЯ Д.18, КОРП. 3, КВ.123; 19650517;456-76-13;123-12-78; SVETLANA IVANOVA ПЕТРОВА; ЕЛЕНА;СЕРГЕЕВНА;; 2456 3214564;11.01.01 57 ОМ Г.МОСКВЫ;МОСКВА,УЛ.ВОЛХОНКА Д.2, КВ.11;19800501; ; ; ; первый блок и второй делаю разными запросами, а как это все объединить в одном текстовом файле, чтоб форматирование было как указано?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2004, 13:37 |
|
||
|
Как создать такой текстовый файл??
|
|||
|---|---|---|---|
|
#18+
Для второй выборки COPY TO <FileName> DELIMITED WITH ";" Потом lcFile=FILETOSTR(<FileName>), дописываешь заголовок и STRTOFILE(lcFile,<FileName>). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2004, 14:04 |
|
||
|
Как создать такой текстовый файл??
|
|||
|---|---|---|---|
|
#18+
Не знаю, может слишком просто кажется и есть какой-то сложный момент , но IF FILE('A:\...файл на дискете') glfile = FOPEN(''A:\...файл на дискете',12) ELSE glfile = FCREATE(''A:\...файл на дискете') ENDIF IF glfile < 0 WAIT 'Не могу открыть файл ... для записи ' WINDOW NOWAIT ELSE =FWRITE(glfile,СТРОКА+CHR(13)) * можно использовать и FPUTS() – записывает строку в файл и добавляет *в конец перевод строки * Для вставки разрывов используйте CHR(13) =FCLOSE(glfile) ENDIF Если под форматирование имеете в виду вставку точек с запятой, то посмотрите символьные функции http://www.foxhelp.ru/FunkciiVFP678?v=1e64 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2004, 14:07 |
|
||
|
Как создать такой текстовый файл??
|
|||
|---|---|---|---|
|
#18+
SET TEXTMERGE (TO, ON) и TEXT, ENDTEXT, /, // SET PRINTER (TO, ON) и ?, ?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2004, 15:22 |
|
||
|
Как создать такой текстовый файл??
|
|||
|---|---|---|---|
|
#18+
IF FILE('c:\vygruzka.txt') glfile = FOPEN('c:\vygruzka.txt',12) ELSE glfile = FCREATE('c:\vygruzka.txt') ENDIF IF glfile < 0 WAIT ' не могу писать в файл.. ' WINDOW NOWAIT ELSE =FWRITE(glfile,'Название+CHR(13)) =FWRITE(glfile,'12 июня 2001 г.'+CHR(13)) =FWRITE(glfile,'îòäåëåíèå "Àëåêñååâñêîå"'+CHR(13)) =FWRITE(glfile,'R' + ';' + 'VE' + CHR(13)) =FWRITE(glfile,'RUB' + CHR(13)) =FWRITE(glfile,CHR(13)) =FCLOSE(glfile) ENDIF для составления первого блока все замечательно работает! как теперь забирать значения из курсора, для составления второго блока?? спасибо за ссылочку на фоксхелп, отличный ресурс! а еще что делать с кодировкой при копировании из фокса, некоторые зюки оставил в коде, чтоб было видно о чем я ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2004, 15:37 |
|
||
|
Как создать такой текстовый файл??
|
|||
|---|---|---|---|
|
#18+
... собственно низ запроса который курсор формирует into cursor crsVygruz ; where fc.enddate >= dd1 and not deleted() ; order by surname, firstname, secondname IF FILE('c:\vygruzka.txt') glfile = FOPEN('c:\vygruzka.txt',12) ELSE glfile = FCREATE('c:\vygruzka.txt') ENDIF IF glfile < 0 WAIT 'не могу открыть файл.. ' WINDOW NOWAIT ELSE =FWRITE(glfile,'Íàèìåíîâàíèå îðãàíèçàöèè'+CHR(13)) =FWRITE(glfile,'12 èþíÿ 2001 ã.'+CHR(13)) =FWRITE(glfile,'îòäåëåíèå "Àëåêñååâñêîå"'+CHR(13)) =FWRITE(glfile,'R' + ';' + 'VE' + CHR(13)) =FWRITE(glfile,'RUB' + CHR(13)) =FWRITE(glfile,CHR(13)) select crsVygruz go top scan =FWRITE(glfile,allt(surname)+ ';' + allt(firstname)+ ';' + allt(secondname) + CHR(13)) endscan ENDIF =FCLOSE(glfile) собственно вот так и все работает! сам допер! :)) но все равно всем спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2004, 16:42 |
|
||
|
Как создать такой текстовый файл??
|
|||
|---|---|---|---|
|
#18+
А с кодировкой при копировании всетаки можно что-то сделать???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2004, 16:45 |
|
||
|
Как создать такой текстовый файл??
|
|||
|---|---|---|---|
|
#18+
для составления первого блока все замечательно работает! как теперь забирать значения из курсора, для составления второго блока?? Для составления второго блока не закрывайте файл командой =FCLOSE(glfile) (Только в конце работы). Переключаетесь для работы с курсором в его рабочую область SELECT ом (подозреваю. что в курсор выводите информацию для второго блока) и последовательно сканируете его SELECT ИмяКурсора SCAN SCATTER MEMVAR *обрезаете ALLTRIM-ом строковые переменные (не забудьте сконвертировать *нестроковые переменные функцией STR) * m.СТРОКА=m.(ALLTRIM(имена полей курсора - поле 1))+';'+ ; m.(ALLTRIM(имена полей курсора - поле 2))+... и так далее =FWRITE(glfile,m.СТРОКА+CHR(13)) ENDSCAN =FCLOSE(glfile) а еще что делать с кодировкой при копировании из фокса, некоторые зюки оставил в коде, чтоб было видно о чем я Вы , может , просматривает файл в DOS кодировке (кстати , спросите у банка, текстовый файл в какой кодировке?). В любом случае воспользуйтесь функцией CPCONVERT Скорее всего , вам нужно m.СТРОКА=CPCONVERT(1251,866,m.СТРОКА) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2004, 16:48 |
|
||
|
Как создать такой текстовый файл??
|
|||
|---|---|---|---|
|
#18+
ну я почти так и сделал.. только с подстановкой наверно более профессионально? SCAN SCATTER MEMVAR *обрезаете ALLTRIM-ом строковые переменные (не забудьте сконвертировать *нестроковые переменные функцией STR) * m.СТРОКА=m.(ALLTRIM(имена полей курсора - поле 1))+';'+ ; m.(ALLTRIM(имена полей курсора - поле 2))+... и так далее =FWRITE(glfile,m.СТРОКА+CHR(13)) ENDSCAN =FCLOSE(glfile) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2004, 16:54 |
|
||
|
Как создать такой текстовый файл??
|
|||
|---|---|---|---|
|
#18+
m.СТРОКА=m.(ALLTRIM(имена полей курсора - поле 1))+';'+ ; m.(ALLTRIM(имена полей курсора - поле 2))+... и так далее Ошибся маленько ALLTRIM(m.имена полей курсора - поле 1))... SCATTER MEMVAR просто потому, что удобнее писать возможные манипуляции (преобразование типа данных и т.д.) с переменными , а не полями ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2004, 17:02 |
|
||
|
Как создать такой текстовый файл??
|
|||
|---|---|---|---|
|
#18+
select crsVygruz SCATTER MEMVAR go top scan m.stroka = allt(m.surname)+ ';' + allt(m.firstname)+ ';' + allt(m.secondname) =FWRITE(glfile,m.stroka + CHR(13)) endscan ENDIF =FCLOSE(glfile) если делаю так, то пишет только 2 кавычки, а поля пустые а если m.stroka = allt(m.surname)+ ';' + allt(m.firstname)+ ';' + allt(m.secondname) до "скана" то заполняет полько первым значением, и это понятно.. а еще научите как выделять в прямоугольник текст в форуме, чтоб отделить важное ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2004, 17:26 |
|
||
|
Как создать такой текстовый файл??
|
|||
|---|---|---|---|
|
#18+
если не ошибаюсь то можно еще и так scan FPUTS(glfile,allt(m.surname)+ ';' + allt(m.firstname)+ ';' + allt(m.secondname)) endscan ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2004, 18:11 |
|
||
|
Как создать такой текстовый файл??
|
|||
|---|---|---|---|
|
#18+
все дело в префиксе m. select crsVygruz scan fputs(glfile,allt(crsVygruz.surname)+ ';' + allt(crsVygruz.firstname)+ ';' + allt(crsVygruz.secondname)) endscan =FCLOSE(glfile) go top - для scan необязательно сразу не въехал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2004, 18:15 |
|
||
|
Как создать такой текстовый файл??
|
|||
|---|---|---|---|
|
#18+
select crsVygruz SCATTER MEMVAR go top scan m.stroka = allt(m.surname)+ ';' + allt(m.firstname)+ ';' + allt(m.secondname) =FWRITE(glfile,m.stroka + CHR(13)) endscan ENDIF =FCLOSE(glfile) если делаю так, то пишет только 2 кавычки, а поля пустые а если m.stroka = allt(m.surname)+ ';' + allt(m.firstname)+ ';' + allt(m.secondname) до "скана" то заполняет полько первым значением, и это понятно.. 1) При SCAN не нужен GO TOP 2) SCATTER MEMVAR внутри цикла сканирования (должен повторяться), а не один раз в начале. Команда преобразует поля в переменные ( для удобства чтобы не путать с названиями полей переменные начинаются на m.) а еще научите как выделять в прямоугольник текст в форуме, чтоб отделить важное Пользуйся кнопками QUOTE (помещая текст цитаты между парами появляющихся скобок) или чтобы выделить блок кода кнопкой SRC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2004, 18:35 |
|
||
|
Как создать такой текстовый файл??
|
|||
|---|---|---|---|
|
#18+
насчет кодовой страницы select crsVygruz scan fputs(glfile,cpconvert(1251,866,allt(crsVygruz.surname)+ ';' + allt(crsVygruz.firstname)+ ';' + allt(crsVygruz.secondname))) endscan ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2004, 18:44 |
|
||
|
Как создать такой текстовый файл??
|
|||
|---|---|---|---|
|
#18+
И ведь предлогал тебе Urri солидное стройное решение... Set Textmerge On Set textmerge to (файл) additive Нет же - ты выбрал самое сложное.... Работа с файлами на низком уровне - неблагодарное занятие. ИМХО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2004, 03:42 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32823533&tid=1595251]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 266ms |
| total: | 438ms |

| 0 / 0 |
