Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Тхт файл..


Страницы:   1 2

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.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо