Вниз
Скачать: 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.023 c
1-1078410219
a.t.k.
2004-03-04 17:23
2004.03.28
Встороить ComboBox в ячейку StringGrid


7-1073129488
Ilg
2004-01-03 14:31
2004.03.28
Смена разрешения экрана


7-1072683238
Babay
2003-12-29 10:33
2004.03.28
Региональные настройки


8-1069350679
aleksvz
2003-11-20 20:51
2004.03.28
MIDI


14-1078230163
_none_
2004-03-02 15:22
2004.03.28
какие-то уроды спамят по почте




   Наверх