Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2011, 06:48   #1
che91
Пользователь
 
Аватар для che91
 
Регистрация: 25.11.2010
Сообщений: 15
По умолчанию БД на паскале

Есть вопрос, написал простую БД на Турбо, данные записываются в текстовые файлы => можно перезаписывать, дополнять и просматривать, зная структуру файла, но удалять и заменять не получается в виду того что не действуют ф-ии Seek и FilePos. Основной вопрос: нужно писать на основе типизированных файлов или есть способ доработать на ТХТ.. просто не хочется 900 строк писать заново.. Заранее благодарен.
che91 вне форума Ответить с цитированием
Старый 19.05.2011, 06:49   #2
che91
Пользователь
 
Аватар для che91
 
Регистрация: 25.11.2010
Сообщений: 15
По умолчанию

Удалять и заменять строки естественно
che91 вне форума Ответить с цитированием
Старый 19.05.2011, 09:16   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

да можно и на строках всё сделать... Вопрос в том насколько это будет просто и эффективно...

Как минимум - для удаления я бы рекомендовал завести в начале строки символ-признак. Если он есть - то строчку игнорировать (или при добавлении добавлять не в конец файла, а в эту строчку, помеченную символом).

Цитата:
просто не хочется 900 строк писать заново
если код нормально написан - то изменения коснутся десятка (двух) строк...
Там где чтение идёт. Причём, т.к. читать из текстового файла сложнее, чем из типиированного, то много строк кода просто надо будет выкинуть...


Какой из способов выбрать - решать Вам....
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.05.2011, 10:02   #4
che91
Пользователь
 
Аватар для che91
 
Регистрация: 25.11.2010
Сообщений: 15
По умолчанию

Понято, спасибо большое
che91 вне форума Ответить с цитированием
Старый 04.09.2011, 19:18   #5
che91
Пользователь
 
Аватар для che91
 
Регистрация: 25.11.2010
Сообщений: 15
По умолчанию

Нужна помощь, кодец написан на free pascal, не компилируется, не выдает сведений об ошибке, ошибку найти не могу..( доступа к другой среде кроме free pascal сегодня и завтра не предвидится, а надо скоро, т.к. писать еще много, очень прошу помочь..
подпрограмму не запускал даже, там ошибок быть не должно вроде, но не работает(
Собственно код:
Код:
program BD;
uses crt;
type
       table1 =record
               firm: string[10];
               inn: string[4];
               adres: record
                      str: string[10];
                      built: string[4];
               end;
               boss:record
                    fam: string[10];
                    ins: string[4];
               end;
               amo_enp: integer;
               navar: real;
               enp_zp: real;
       end;
       baza1 = file of table1;
var firm: table1;
    t1: baza1;
procedure Rewrite(var b1:baza1);
  begin
  rewrite(b1);
  repeat
    with firm do
      begin
      write('Firm: ');
      readln(firm);
      if (length(firm)=0)
        then break;
      write('Number of firm: ');
      readln(inn);
      write('Adres: street: ');
      readln(adres.str);
      write('Adres: building: ');
      readln(adres.built);
      write('Director of firm: Surname: ');
      readln(boss.fam);
      write('Director of firm: initials: ');
      readln(boss.ins);
      write('Amount of workers: ');
      readln(amo_enp);
      write('Profit: ');
      readln(navar);
      enp_zp:=(navar)/(amo_enp + 2.00);
      write (b1, firm);
    end;
  until (false);
  close(b1);
  clrscr;
end;

begin
  clrscr;
  assign(t1, 'baza.dat');
  rewrite(t1);
end.

Последний раз редактировалось che91; 04.09.2011 в 20:36.
che91 вне форума Ответить с цитированием
Старый 04.09.2011, 20:12   #6
che91
Пользователь
 
Аватар для che91
 
Регистрация: 25.11.2010
Сообщений: 15
По умолчанию

Простите, туплю, исправил, всё работает отлично
che91 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
на паскале ddeman666 Помощь студентам 0 30.05.2010 01:10
на паскале ddeman666 Помощь студентам 0 08.05.2010 02:07
на паскале ddeman666 Помощь студентам 0 19.04.2010 22:56
15 в Паскале Batonchik Паскаль, Turbo Pascal, PascalABC.NET 11 08.04.2009 15:20
привет всем! помогите пожалуйста решить две задачи на паскале. я в паскале полный ноль. Пищенок Саша Паскаль, Turbo Pascal, PascalABC.NET 5 20.01.2009 13:46