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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2013, 13:36   #1
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
Вопрос Копирование строк из файла в файл TStringList

Код:
AssignFile(f, Form1.sDirectoryEdit1.Text + '\' + UpperCase(sPass) + '.txt');
ReWrite(f);
WriteLn(f, sl.Strings[i-1]);
CloseFile(f);
end;
перед этим есть еще кусок кода но не суть, выкладываю главное, вобщем я указываю .txt файл и с него копирует 1 строку и вставляет в новосозданные .txt файлы (т.е сам указываю сколько файлов будет создано и столько же строк из указанного файла копируеться), но мне нужно чтобы я сам указывал количество строк которое копировать из указанного .txt файла и вставлять в новосозданные файлы, нужно через Form1.sSpinEdit3.Value, спасибо.
FleXik вне форума Ответить с цитированием
Старый 17.03.2013, 13:49   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А с какого места входящего файла копируются строки (с начала, конца, указанной строки)?
В какое место исходящих файлов вставка идет (аналогичные варианты)?
Итого 9 возможных комбинаций.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.03.2013, 13:51   #3
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А с какого места входящего файла копируются строки (с начала, конца, указанной строки)?
В какое место исходящих файлов вставка идет (аналогичные варианты)?
Итого 9 возможных комбинаций.
строки копируються от начала до конца, тупо береться строка из указанного файла копируеться в новосозданный файл и всё, причем количество строк которые будут копироваться я должен сам, через Form1.sSpinEdit3.Value
FleXik вне форума Ответить с цитированием
Старый 17.03.2013, 13:58   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Кто-то должен еще проверить, чтобы Form1.sSpinEdit3.Value было не больше sl.Strings.Count
Код:
for i:=0 to Form1.sSpinEdit3.Value-1 do WriteLn(f, sl.Strings[i]);
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.03.2013, 14:02   #5
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Кто-то должен еще проверить, чтобы Form1.sSpinEdit3.Value было не больше sl.Strings.Count
Всё верно, спасибо за код сейчас посмотрю и отпишусь, еще раз спасибо за помощь.
FleXik вне форума Ответить с цитированием
Старый 17.03.2013, 14:07   #6
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

так... извиняюсь это я не посмотрел и прописал так:

Код:
for j:=0 to Form1.sSpinEdit3.Value-1 do WriteLn(f, sl.Strings[j]);
ReWrite(f);
вместо так:

Код:
ReWrite(f);
for j:=0 to Form1.sSpinEdit3.Value-1 do WriteLn(f, sl.Strings[j]);

Последний раз редактировалось FleXik; 17.03.2013 в 14:18.
FleXik вне форума Ответить с цитированием
Старый 17.03.2013, 14:26   #7
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

вобщем всё работает но копирует только первые указанные строки а мне надо чтобы переходило к следующим, т.е в файле который указываеться 5 строк (1-2-3-4-5), создаю 2 файла в них копирует 1-2 и 1-2 вместо 1-2 и 3-4, пробовал inc(j); что-то не пашет
FleXik вне форума Ответить с цитированием
Старый 17.03.2013, 15:37   #8
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

ответьте на вопрос выше пожалуйста, перепробовал уже много разного, inc(j) не помагает хотя должно помагать. всё ровно копирует одни и те же две первых строки (если указываю копировать две), а должно переходить к двух следующим т.е 1-2 следующий файл 3-4, следующий 5-6, и т.д
FleXik вне форума Ответить с цитированием
Старый 17.03.2013, 15:49   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А как ответить, если всего кода нет? Там должен быть в каком-то виде цикл по исходящим файлам и во внутреннем цикле по строкам j должно начинаться не с 0, а в зависимости от значения счетчика внешнего цикла и Form1.sSpinEdit3.Value
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.03.2013, 15:54   #10
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

так это и есть главный кусок кода который отвечает за эту функцию, в остальном куске кода функции вообще другие которые отлично работают, я описал проблему выше что в созданные файлы копирует две одинаковых строки вместо чтобы переходить к двум следующим (1-2 и 3-4), уж подробнее обьяснить не могу (имеется в виду то что итак максимально подробно описал трабл), извиняйте.

Код:
AssignFile(f, Form1.sDirectoryEdit1.Text + '\' + UpperCase(sPass) + '.txt');
ReWrite(f);
for j:=0 to Form1.sSpinEdit3.Value-1 do
WriteLn(f, sl.Strings[j]);
CloseFile(f);
sl.Free;
end;
MessageDlg('Готово', mtInformation, [mbOK], 0);
end;

Последний раз редактировалось FleXik; 17.03.2013 в 15:57.
FleXik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование из файла в файл по выбраной строке Vult Microsoft Office Excel 42 13.04.2012 16:18
Копирование строк из одного файла в другой с соблюдением условия allichka Microsoft Office Excel 6 19.05.2011 16:25
Копирование к строк из одного файла в другой A_Orlov Помощь студентам 1 15.06.2010 14:49
копирование строк в файл raspberry Общие вопросы C/C++ 3 12.03.2010 19:16
копирование данных их файла .doc в файл Excel prima Microsoft Office Excel 3 19.10.2009 08:37