Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2013, 07:35   #11
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Все возможно, но на очень низких уровнях.
Читайте про Overlapped I/O
С ним можно в открытый файл многопоточно писать в любое место документа.
На русском не встречал.
Человек_Борща вне форума Ответить с цитированием
Старый 03.05.2013, 16:20   #12
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от RageGod Посмотреть сообщение
Гуглил. В гугле дают только варианты работы с добавление в конец файла или перезапись всего файла. Найти действительно что-то, описывающее добавление файла по заданной координате, не удалось!
Не удивительно.
Потому как это в принципе невозможно.
Перечитайте еще раз мое сообщение - там подобное и не требуется.

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Все возможно, но на очень низких уровнях.
Читайте про Overlapped I/O
С ним можно в открытый файл многопоточно писать в любое место документа.
Можно...
Только при этом "хвост" файла будет не отодвигаться, как это нужно ТС, а банально затираться.
Т.е. новая информация будет не добавляться к старой, а уничтожать старую.

Последний раз редактировалось Stilet; 04.05.2013 в 20:51.
s-andriano вне форума Ответить с цитированием
Старый 04.05.2013, 13:10   #13
RageGod
Пользователь
 
Регистрация: 08.05.2012
Сообщений: 35
По умолчанию

Хм.
А как мне предлагали сделать до этого, можно?
То есть, создавать новый файл, копировать все из того файла в новый и вставлять в нужную строчку текст. Потом просто заменять своим файлов тот и все
Возможно?
RageGod вне форума Ответить с цитированием
Старый 04.05.2013, 13:38   #14
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

можно но не нужно, на кой вам 2 файла если нужен всего один
eval вне форума Ответить с цитированием
Старый 04.05.2013, 13:55   #15
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от RageGod Посмотреть сообщение
Хм.
А как мне предлагали сделать до этого, можно?
То есть, создавать новый файл, копировать все из того файла в новый и вставлять в нужную строчку текст. Потом просто заменять своим файлов тот и все
Возможно?
Перечитайте пост №2 этой темы. Там изложен алгоритм решения Вашей задачи. Детали реализации, конечно, могут несколько различаться, но сам алгоритм при этом останется прежним.

То, как Вы сейчас изложили, вероятнее всего, затрет часть "хвоста" файла, т.к. "вставить" строку в файл, раздвинув остальные, принципиально невозможно.
s-andriano вне форума Ответить с цитированием
Старый 04.05.2013, 20:02   #16
RageGod
Пользователь
 
Регистрация: 08.05.2012
Сообщений: 35
По умолчанию

eval, Я имел в виду, что когда создам свой файл, перепишу нынешний туда, вставлю строку и заменю нынешний на свой. (нынешний просто удалю)

s-andriano, но с другой стороны нам же ничего не мешает открыть файл и в конец файла добавить порядка 5-10 пустых строчек, который потом, после добавления текста, замнутся в качестве хвоста..
RageGod вне форума Ответить с цитированием
Старый 04.05.2013, 20:37   #17
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

а зачем вам именно вин-апи?
eval вне форума Ответить с цитированием
Старый 04.05.2013, 21:07   #18
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от RageGod Посмотреть сообщение
s-andriano, но с другой стороны нам же ничего не мешает открыть файл и в конец файла добавить порядка 5-10 пустых строчек, который потом, после добавления текста, замнутся в качестве хвоста..
Это как?

Вам нужно дописать строку в конец файла или вставить ее в середину?
s-andriano вне форума Ответить с цитированием
Старый 04.05.2013, 22:47   #19
RageGod
Пользователь
 
Регистрация: 08.05.2012
Сообщений: 35
По умолчанию

Цитата:
Сообщение от s-andriano Посмотреть сообщение
Это как?

Вам нужно дописать строку в конец файла или вставить ее в середину?
Вы сказали, что если писать в середину файла, то последние строки будут удаляться.
Почему бы тогда просто не дописать 5-10 строк в конец файла и потом записать нужный мне текст в середину..
Вообщем, мне на самом деле то не так важно, как то будет реализовано.
Лишь бы работало, если честно..)
RageGod вне форума Ответить с цитированием
Старый 04.05.2013, 23:00   #20
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от RageGod Посмотреть сообщение
Вы сказали, что если писать в середину файла, то последние строки будут удаляться.
Почему бы тогда просто не дописать 5-10 строк в конец файла и потом записать нужный мне текст в середину..
Вообщем, мне на самом деле то не так важно, как то будет реализовано.
Лишь бы работало, если честно..)
Вы всерьез полагаете, что строки из середины каким-то волшебным образом переместятся на место пустых строк в конце?
Нет, у Вас будет затерта информация в середине файла и так и останется несколько пустых строк в конце.
Кстати, пустые строки места почти не занимают, так что если Вы думаете зарезервировать так место, то даже это не получится.

Давайте рассмотрм упрощенный пример:
в файле две строки:
"абвг" и "деж"
размещаются они в памяти следующим образом (слева - адрес, справа - символ)
1 - а
2 - б
3 - в
4 - г
5 - д
6 - е
7 - ж
пусть нам между этими двумя строками нужно вставить "юя"
должно получиться:
1 - а
2 - б
3 - в
4 - г
5 - ю
6 - я
7 - д
8 - е
9 - ж
но, если мы просто впишем строку "юя" после первой строки, то она заменит собой "де" и получится:
1 - а
2 - б
3 - в
4 - г
5 - ю
6 - я
7 - ж
при этом "ж" останется, где и была.
s-andriano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись текста в текстовый файл shadowmvn Помощь студентам 1 23.12.2012 13:17
Запись текста файл с кодировкой windows-1251 в Delphi 7 Cav Общие вопросы Delphi 5 02.02.2011 18:21
Обработка текста и запись результата в отдельный файл MrakSPb Общие вопросы C/C++ 2 20.12.2009 01:41
Запись текста в файл KoBRaAndrey Общие вопросы Delphi 1 06.10.2009 23:42
Чтение и Запись текста из\в файл(а), C++ FastDead2 Помощь студентам 20 14.05.2009 00:01