Вниз
Скачать: CL | DM;

Форматирование тектового файла.   Найти похожие ветки 

← →
mak_other_user   (2004-03-06 18:45) [0]

Есть текстовый файл состоящий из двузначных чисел(новое число на новой строке), каким образом можно сделать так что бы в строке было не одно число, а допустим 10, ну соответсвенно на следующей следующие 10. Сам как ни делал - всегда получается файл состоящий из чисел вообще без разделителей.


← →
Алхимик ©   (2004-03-06 18:49) [1]

Открываешь файл
Читаешь 10 чисел в строку, записываешь в другой файл,
читаешь след. 10 чисел , записываешь...
И так до конца файла. :)


← →
Pa5ha   (2004-03-06 18:50) [2]

Параллельно читаете с файла и пишите в другой наверно? Так вот, надо так: write(f,data," ");, Где f-файл в который пишется, data - число, " " - пробел. А неплохо бы код, мы бы подправили.


← →
Serge ©   (2004-03-06 19:00) [3]

Гляньте-ка на это - может поможет

var f : Textfile;
i,cnt : smallint;

begin
AssignFile(F, "Х:\123.dat");
Rewrite(F);
cnt:=0;
For i:=0 to 100 do
begin
if i > 10 then
begin
inc(cnt);
write(F, i, #9);
if cnt = 10 then begin writeln(f); cnt:=0; end;
end;
end;
CloseFile(F);
end;


← →
Sphinx ©   (2004-03-06 19:01) [4]

Если Вам не надо их читать и править примените типизированный формат File Of Byte (Word, Integer) к примеру. Он числа подряд запишет.
Если я конечно вопрос правильно понял.


← →
mak_other_user   (2004-03-06 19:03) [5]

ок, ща восстановлю, а то затёр уже, а делал всё приблизительно так:

For I:=1 to 100 do //(Пытался даже через while not EOF)
 begin
     for N:=1 to 10 do
         begin
         ReadLn(F,ReadStr);
         StrForm:=StrForm+ReadStr;
         end;
     StrForm:=StrForm+#13;
     writeln(S,StrForm);
     StrForm:="";
 end;


← →
Алхимик ©   (2004-03-06 19:06) [6]

А если в файле < 1000 записей случится лажа.


← →
mak_other_user   (2004-03-06 19:13) [7]

2 Serge
Ваш код конвертнул таблицу в:
11 12 .. 20
..
91 92 .. 100


← →
TButton ©   (2004-03-06 19:14) [8]

если файл текстовый

src: TStringList;
res: TStringList;
...
res:=TStringList.Create;
src:=TStringList.Create;
src.LoadFromFile("yourfile.txt");
for i:=0 to src.Count div 10 do
begin
 s:="";
 for j:=0 to 9 do
   if i*10+j<src.Count then s:=s+src[i*10+j];
 res.Add(s);
end;
res.SaveToFile("yourfile.txt");
res.Free;
src.Free;
Halt(0);


лол. дописал код, нажал F9... рефлекс)
вобщем я не проверял (хотя пытался:)), но имхо должно работать.


← →
serge ©   (2004-03-06 19:16) [9]

>mak_other_user   (06.03.04 19:13) [7]
А он именно это и должен делать - для того написан :) - я же пытался показать Вам разделение чисел.


← →
mak_other_user   (2004-03-06 19:18) [10]

2 serge ясненько - пасибо,
2 TButton - thanks ща протещу


← →
mak_other_user   (2004-03-06 19:31) [11]

2 TButton - Код замечательно работает :)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: -0.979 c
8-1069072678
Poleshenko
2003-11-17 15:37
2004.03.28
Рисование искревленной плоскости в изометрии


14-1078398952
juiceman
2004-03-04 14:15
2004.03.28
кодовая страница


14-1078231163
Harm
2004-03-02 15:39
2004.03.28
Нравственность и наука


14-1077850939
Думкин
2004-02-27 06:02
2004.03.28
С днем рождения! 27 февраля.


8-1069441364
Eagle Owl
2003-11-21 22:02
2004.03.28
Direct3DRM




   Наверх