![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Тхт файл..
alexdn © (2011-10-03 00:10:00)в тхт находится информация в виде тратата, тратата, тратата. т.е. через запятую. Нужно преобразовать в вид
тратата
тратата
тратата
т.е. заменить запятую на перенос строк.. как и чем лучше посимвольно считать тхт?
Anatoly Podgoretsky (2011-10-03 19:13:00) [1]
> ну инженер таки
Не льсти себе.
alexdn (2011-10-03 12:01:00) [2]> Германн © (03.10.11 11:56) [28]
вот) всё работает)
Ega23 (2011-10-03 11:58:00) [3]TStringStream
Германн (2011-10-03 11:56:00) [4]
> по видимому нельзя связывать StrList и assignfile с одним
> файлом одновременно, как же мне тогда использовать while
> not eof(F_i) do?
А на кой тебе вообще этот while not eof(F_i) do?
Чем не устраивает for i:=o to StrList.Count-1 do
Медвежонок Пятачок (2011-10-03 11:41:00) [5]ты зашел в комнату без окон.
там горит свет.
в комнате висит картина.
ты выключаешь свет, затем фотографируешь картину.
первое получается, второе нет.
потому что делать надо наоборот.
сначала фотографировать, затем свет вырубать.
alexdn (2011-10-03 11:29:00) [6]> Медвежонок Пятачок © (03.10.11 11:07) [25]
и что ж делать? есть ли какой нибудь цикл для StrList вместо While not eof(F_i) do или как это вообще организовать?..
Медвежонок Пятачок (2011-10-03 11:07:00) [7]по видимому нельзя связывать StrList и assignfile с одним файлом одновременно
Мда.
Кто бы мог подумать, что лоадфромфайл стринглиста может обломать последующий ассайн.
вот что бывает, когда делаешь все задом наперед.
Inovet (2011-10-03 11:00:00) [8]Ну вот на кой грузить весь файл в память? Может файл окажется 100Гб, да и вообще зачем. Читай из одного и сразу пиши в другой посимвольно или буфер небольшой сделай.
alexdn (2011-10-03 10:50:00) [9]короче нужно просто пронумеровать строки
QAZ (2011-10-03 10:50:00) [10]
> alexdn © (03.10.11 09:26) [14]
#13#10
alexdn (2011-10-03 10:49:00) [11]и ещё я тут запутался
FName:='1.txt';
AssignFile(F_i,FName);
reset(F_i);
StrList:=TStringList.Create;
StrList.LoadFromFile('1.txt');
x:=0;
While not eof(F_i) do //задаем цикл до конца файла
begin
StrList[x]:=inttostr(x)+StrList[x];
x:=x+1;
end;
//closefile(F_i);
StrList.SaveToFile('1.txt');
StrList.Free;
closefile(F_i);
Memo1.Lines.LoadFromFile('1.txt');
end;
по видимому нельзя связывать StrList и assignfile с одним файлом одновременно, как же мне тогда использовать while not eof(F_i) do?
Медвежонок Пятачок (2011-10-03 10:37:00) [12]насколько я понимаю это уже совсем другая опера
это точно.
это опера для программистов.
RWolf (2011-10-03 10:17:00) [13]впрочем, я подразумевал присвоение свойства Delimiter с последующим вызовом LoadFromFile.
RWolf (2011-10-03 10:16:00) [14]
> MBo © (03.10.11 09:33) [16]
именно.
две строки и никаких циклов.
alexdn (2011-10-03 10:15:00) [15]> Jeer © (03.10.11 01:23) [12]
всё, пробел убрал, я его просто дважды -
StrList.Text:= StringReplace({s}StrList.Text,',',CRLF,[rfReplaceAll]);
StrList.Text:= StringReplace({s}StrList.Text,' ','',[rfReplaceAll]);
> Медвежонок Пятачок © (03.10.11 09:33) [15]
> MBo © (03.10.11 09:33) [16]
насколько я понимаю это уже совсем другая опера
MBo (2011-10-03 09:33:00) [16]свойство CommaText
Медвежонок Пятачок (2011-10-03 09:33:00) [17]TRegExpr сплит
alexdn (2011-10-03 09:26:00) [18]перенос это CRLF=#9#10; или #10 или #13? что то по памяти а не #10#13?
alexdn (2011-10-03 01:52:00) [19]> Jeer © (03.10.11 01:23) [12]
спасибо, зделал так
var StrList: TStringList;
FName:string[10];
s:string;
begin
Memo1.Lines.SaveToFile('1.txt');
StrList:=TStringList.Create;
FName:='1.txt';
StrList.LoadFromFile(FName);
//s:= StringReplace(StrList.Text, CRLF, '', [rfReplaceAll]);
StrList.Text:= StringReplace({s}StrList.Text, ',', CRLF, [rfReplaceAll]);
StrList.SaveToFile('1.txt');
StrList.Free;
Memo1.Lines.LoadFromFile('1.txt');
end;
но на выходе почему то идёт лишний пробел по строкам, что то не пойму откуда он берется?..
петя
_маша
_даша
Jeer (2011-10-03 01:23:00) [20]const
CRLF = #9#10;
Сначала удаляешь CRLF, затем запятые преобразуешь в CRLF.