IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Типизированые файлы, особенности записи
Alex7
сообщение 28.11.2005 13:24
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 85
Пол: Мужской

Репутация: -  0  +


Дело вот вобщем в чем- написал програму, которая в конечном итоге должна записать "записи" в типизированый файл при том соблюдая внешнее оформление текста(табуляцию-типо под таблицу).
Возникла следующая проблема: после записи в файл и при дальнейшем его просмотре(что сказано в условии задачи) появляются лишние знаки табуляции(#9) а цифры не отображаются, такое ошюшение, что записаны в другой кодировке.
Вобщем прикрепляю прогу и побочный файл(для чтения).
Хелп!
mega_chok.gif


Прикрепленные файлы
Прикрепленный файл  Proga.rar ( 971 байт ) Кол-во скачиваний: 183
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Alex7
сообщение 5.12.2005 0:32
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 85
Пол: Мужской

Репутация: -  0  +


Ясно. norespect.gif
Вот, вобщем после пару часиков) я таки прогу доделал, если кому интирессно, то:
Цитата
Я не флужу!

program tablizja(lab9_10);
{Uses CRT;}
Type stri4ka= record
               nazva: string[20];
               misze: string[20];
               nomer: byte;
               kst_p: byte;
               vidp : string[50];
              end;
Var  tabl: array[1..25] of stri4ka;
     sumkst_p,k,i,z: integer;
     f1name,f2name: string[50];
     rad: string;
     f1: text;
     f2: file of stri4ka;
Begin
{ Clrscr;}
   for z:=1 to 25  do
   writeln;
   for z:=1 to 80 do
   Write(#205);

 Repeat
   z:=0;
   Writeln('‚ўҐ¤вм i¬''п д (c)«г'); readln(f1name);
   assign(f1,f1name);
   {$I-}
   reset(f1);
   {$I+}
   if ioresult<>0 then
      begin
         writeln('Џ(r)¬Ё«Є(r)ўҐ ўўҐ¤Ґ­­п! ” (c)« ­Ґ §­ (c)¤Ґ­(r).');
         Inc(z);
      end;
 Until z=0;
 f2name:= Copy(f1name,1,pos('.',f1name))+'dat';
 assign(f2,f2name); rewrite(f2);

   for z:=1 to 80 do
   Write(#250);

 Writeln('’ Ўiа',#9,#9,'ЊiбжҐ §­-­­п',#9,'ь иЄ(r)«Ё'#9,#9,'Љ-бвм Їгв.',#9,'‚i¤Ї(r)ўi¤ «м­Ё(c)');
 writeln;
 i:=1;
 Repeat
   If i=16 then
    begin
        writeln(#9,'   Ќ вЁб­iвм ENTER ¤«п Їа(r)¤(r)ў¦Ґ­­п ўЁў(r)¤г в Ў«Ёжi ­  ҐЄа ­.');
        writeln(#9,#9,#9,#9,'“ў Ј !');
        write(' ЏаЁ Їа(r)¤(r)ў¦Ґ­­i i­д(r)а¬ (c)iп, й(r) ­  Ї(r)з вЄг в Ў«Ёжi, Ўг¤Ґ §вҐав  зҐаҐ§ бЄа(r)««i­Ј');
        readln;
    end;
   Readln(f1,rad); writeln(rad);
   tabl[i].nazva:= Copy(rad,1,pos(#9,rad)-1); delete(rad,1,pos(#9,rad)+1);
   tabl[i].misze:= Copy(rad,1,pos(#9,rad)-1); delete(rad,1,pos(#9,rad)+1);
   Val(Copy(rad,1,pos(#9,rad)-1),tabl[i].nomer,z); delete(rad,1,pos(#9,rad)+1);
   Val(Copy(rad,1,pos(#9,rad)-1),tabl[i].kst_p,z); delete(rad,1,pos(#9,rad)+1);
   tabl[i].vidp:= Copy(rad,1,length(rad)); delete(rad,1,length(rad));
   Write(f2,tabl[i]);
   Inc(i);
 Until seekeof(f1);
 close(f1);

   for z:=1 to 80 do
   Write(#250);

 Writeln('               Љi«мЄiбвм Їгвiў(r)Є, пЄг (r)ваЁ¬ «  Є(r)¦­  иЄ(r)« :');
 Write('˜Є(r)« ',#9);
 For z:=1 to i-1 do
   If z=1 then
    Write('ь',tabl[z].nomer,#9) else
    begin
        sumkst_p:=0;
        For k:=1 to z-1 do
          If tabl[z].nomer=tabl[k].nomer then Inc(sumkst_p);
        If sumkst_p=0 then Write('ь',tabl[z].nomer,#9);
    end;
 writeln;
 Write('Љ-бвм',#9);
 For z:=1 to i-1 do
   begin
       sumkst_p:=0;
       For k:=1 to i-1 do
         If (tabl[z].nomer=tabl[k].nomer)and(tabl[z].nomer<>0) then
          begin
              sumkst_p:=sumkst_p+tabl[k].kst_p;
              if z<>k then tabl[k].nomer:=0;
          end;
       If sumkst_p<>0 then Write(sumkst_p,#9);
   end;
 Writeln;

   for z:=1 to 80 do
   Write(#250);

 close(f2);
 Writeln('„ ­­i § ­ҐбҐ­i г д (c)« ''',f2name,'''');

   for z:=1 to 80 do
   Write(#205);

 Readln;
End.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 28.07.2025 1:46
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"