Вниз
Скачать: 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.021 c
1-1078488826
MetalFan
2004-03-05 15:13
2004.03.28
показ Popup menu в нужную сторону


6-1074427161
mihik
2004-01-18 14:59
2004.03.28
Поиск сервера в сети


1-1078152685
t_vic
2004-03-01 17:51
2004.03.28
Длинные записи в ComboBox


7-1072975461
Номолос
2004-01-01 19:44
2004.03.28
Как же всё-таки с любых накопителей читать "напрямую"?


14-1077868397
Карелин Артем
2004-02-27 10:53
2004.03.28
Чего хотят преподы? Продолжение вопроса из чата.




   Наверх