|
Довавить данные из одного тестового файла в другой текстовый файл
|
|||
---|---|---|---|
#18+
Добрый день. У меня есть два тестовых файла: file1.txt;file2.txt. file1.txt содержит следующую информацию: яблоко помидор file2.txt содержит следующую информацию: вишня виноград Мне надо в file1.txt добавить информацию из file2.txt. В результате file1.txt содержит следующую информацию: яблоко помидор вишня виноград Как это сделать? Написал Код: sql 1. 2. 3. 4. 5.
В результате file1.txt содержит следующую информацию: вишня виноград ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2012, 19:48 |
|
Довавить данные из одного тестового файла в другой текстовый файл
|
|||
---|---|---|---|
#18+
izver, Код: vbnet 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2012, 20:04 |
|
Довавить данные из одного тестового файла в другой текстовый файл
|
|||
---|---|---|---|
#18+
Сделал так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Мне надо в file1.txt добавить информацию из file2.txt. В результате file1.txt содержит следующую информацию: яблоко помидор вишня виноград Как сделать так, чтобы данные из следующего фала записывались с новой строки? Есть альтернативный способ решения проблемы? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2012, 20:17 |
|
Довавить данные из одного тестового файла в другой текстовый файл
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКАizver, Код: vbnet 1. 2. 3. 4. 5. 6. 7.
сделал так, результат не изменился. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2012, 20:25 |
|
Довавить данные из одного тестового файла в другой текстовый файл
|
|||
---|---|---|---|
#18+
Если уж фоксом делаете, так используйте его возможности: Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2012, 20:32 |
|
Довавить данные из одного тестового файла в другой текстовый файл
|
|||
---|---|---|---|
#18+
izver, Если файлы небольшие по размерам,тогда делаем так m.text1=FILETOSTR([file1.txt]) m.text2=FILETOSTR([file2.txt]) STRTOFILE(m.text1+CHR(10)+CHR(13)+m.text2,[file3.txt]) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2012, 20:35 |
|
Довавить данные из одного тестового файла в другой текстовый файл
|
|||
---|---|---|---|
#18+
1122112211, а когда ТСу захочется обработать файлик размером больше 16 мегов, он будет очень удивлён. Сначала. А потом прочитает доку и вспомнит вас тихим недобрым словом... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2012, 20:35 |
|
Довавить данные из одного тестового файла в другой текстовый файл
|
|||
---|---|---|---|
#18+
tanglir1122112211, а когда ТСу захочется обработать файлик размером больше 16 мегов, он будет очень удивлён. Сначала. А потом прочитает доку и вспомнит вас тихим недобрым словом... Переспросит если такое понадобится. Пародия на батники, выше предложенная, не менее дырявая. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2012, 20:44 |
|
Довавить данные из одного тестового файла в другой текстовый файл
|
|||
---|---|---|---|
#18+
1122112211Пародия на батники, выше предложенная, не менее дырявая.С этим спорить не буду. Она даже более дырявая, т.к. не учитывает, что со времён ДОСа прошло немало лет, и нынче в именах файлов могут встречаться, например, пробелы :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2012, 20:58 |
|
Довавить данные из одного тестового файла в другой текстовый файл
|
|||
---|---|---|---|
#18+
Если уж делать из фокса эмулятор батников то так: Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2012, 21:16 |
|
Довавить данные из одного тестового файла в другой текстовый файл
|
|||
---|---|---|---|
#18+
* можно так: CREATE TABLE tmp.dbf FREE(F1 M) SELECT tmp APPEND MEMO F1 FROM file1.txt OVERWRITE APPEND MEMO F1 FROM file2.txt COPY TO file1.txt FIELDS F1 USE DELETE FILE tmp.dbf * или так: x=FOPEN('file1.txt') y=FOPEN('file2.txt') IF x>0 AND y>0 =FSEEK(x,0,2) DO WHILE !FEOF(y) =FPUTS(y,ALLT(FGETS(x))) ENDDO ELSE * сообщение юзеру, что файл(ы) не открылись ENDIF =FCLOSE(x) =FCLOSE(y) * вот и все, работает на любой длине файлов ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2012, 13:18 |
|
Довавить данные из одного тестового файла в другой текстовый файл
|
|||
---|---|---|---|
#18+
Jonny540* можно так: CREATE TABLE tmp.dbf FREE(F1 M) SELECT tmp APPEND MEMO F1 FROM file1.txt OVERWRITE APPEND MEMO F1 FROM file2.txt COPY MEMO F1 TO file1.txt && ПРАВИЛЬНЕЕ БУДЕТ ТАК USE DELETE FILE tmp.dbf * или так: x=FOPEN('file1.txt') y=FOPEN('file2.txt') IF x>0 AND y>0 =FSEEK(x,0,2) DO WHILE !FEOF(y) =FPUTS(y,ALLT(FGETS(x))) ENDDO ELSE * сообщение юзеру, что файл(ы) не открылись ENDIF =FCLOSE(x) =FCLOSE(y) * вот и все, работает на любой длине файлов ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2012, 13:43 |
|
Довавить данные из одного тестового файла в другой текстовый файл
|
|||
---|---|---|---|
#18+
Jonny540* вот и все, работает на любой длине файлов 1. Системные ограничения: размер файла не может превышать 2ГБ. В данном случае - размер файла FPT, где хранится содержимое мемо-поля. Т.е. суммарный размер файла при прокачке через мемо-поле не должен превышать 2ГБ 2. У функции FGets() есть второй параметр, определяющий максимальную длину одной строки. По умолчанию, это 254 символа, но не более 8192 Другими словами, ограничения все-таки есть. Если уж Вы хотите писать нечто универсальное именно средствами FoxPro, то придется использовать посимвольное чтение через FREAD() и такую же посимвольную запись через FWRITE() Другой вопрос, что, как правило, необходимости в универсальных средствах при работе с текстовыми файлами не возникает. Речь идет о вполне конкретных, как правило, очень небольших, файлах. Так что, скорее всего, и FileToStr() вполне подойдет. PS: Стандартной комбинацией перевода строки в текстовом файле считается последовательность Chr(13)+Chr(10). Именно в такой последовательности. Сначала 13 (перевод строки), потом 10 (возврат каретки). Однако если файлы были сформированы какой-либо внешней системой, то там в качестве перевода строки могут быть использованы самые разные комбинации этих символов. PPS: для универсальности, все-таки лучше использовать системную команду COPY. Для вставки перевода строки нужно просто создать дополнительный файл содержащий этот самый перевод строки Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2012, 14:49 |
|
|
start [/forum/topic.php?fid=41&msg=37677665&tid=1583786]: |
0ms |
get settings: |
13ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
26ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 252ms |
total: | 385ms |
0 / 0 |