С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 28.02.2010
Сообщений: 6
1

База данных, работа с .TXT

28.02.2010, 23:27. Показов 1637. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток! Вопрос вот в чем:
Задали задачу, написать базу данных на паскале. База данных "Учет финансовой деятельности предприятий". Данные таковые: ОКПО(ключевое поле), Название компании, Доход, Расходы, Чистая прибыль(Доход-расход)
Выглядеть должно примерно так:

Поиск по: ОКПО |ХХХХХХХХ| или Поиск по: Чистая прибыль: 999999999. Как бы, чтоб выбор был по какому критерию искать. Если критерий "Чистая прибыль", то отсортировать по убыванию найденные компании


ОКПО Name Доход(руб) Расход(руб) Чистая прибыль(руб)

00000000 ОАО "ляля" 1 000000 400 000 600 000


Работа, мне кажется, не сложная! Моя проблема в том, что с файлами никогда не работал и просто понятия не имею, как это сделать. Помогите, очень прошу.
Если не сможете помочь с программой, скажите пожалуйста, где почитать про работу с ТХТ
Заранее благодарю за хоть какую помощь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.02.2010, 23:27
Ответы с готовыми решениями:

преобразование база данных в формат excel, txt
возможно ли базу данных созаданную в паскаль преобразовать в файл Excel или txt? подскажите,...

Простая База Данных в txt файле (ООП)
Приветствую. Помогите, пожалуйста, разобраться с подключением базы данных в форме отдельного txt...

База данных и работа с ней
Возникла проблема. Хочу добавить данную запись, мне нужно чтобы заполнялся айдишник стандартный,...

База данных,лабораторная работа
Нужно сделать базу данных. Вариант 13. Вложение удалено. ПФ 5.18. Запрещено размещать задания и...

2
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
01.03.2010, 08:26 2
Лучший ответ Сообщение было отмечено Анди как решение

Решение

Для начала пример как прочитать строки записей из текстового файла.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
uses crt;
const n=20;
type Tstud=record//тип запись с полями по условию
           f,i,o:string[12];
           p:string[1];
           v:16..35;
           k:1..5;
           end;
procedure Convert(var a:string);//если файл написан русскими буквами перевести из Вин в Дос
var i:integer;
begin
for i:=1 to length(a) do
if ord(a[i]) in [192..239] then a[i]:=chr(ord(a[i])-64)
else if ord(a[i]) in [240..255] then a[i]:=chr(ord(a[i])-16)
else if ord(a[i])=168 then a[i]:=chr(ord(240))
else if ord(a[i])=184 then a[i]:=chr(ord(241));
end;
var sp,sp1,sp2:array[1..n] of Tstud;//массивы записей
    f:text;//файл
    bf:Tstud;//буфер для сортировки обменом
    name,s,s1:string;//ну и разные переменные для работы
    cho:string[12];
    i,j,k,l,max,imaxv,imaxo,n1,n2,chv:byte;
    t,c:integer;
begin
clrscr;
//связываем переменную с файлом и открываем его для чтения
write('Имя файла для чтения: ');
readln(name);
name:=name+'.txt';
assign(f,name);
{$I-} reset(f);  {$I+}
if IOResult <> 0 then
 begin
  writeLn('Не могу открыть файл ',name);
  writeLn('Работа программы завершена. Нажмите ENTER');
  readln;
  exit;
 end;
//выводим данные из файла на экран, разбиваем строки и заносим в поля записи
writeln('Полный список студентов:':40);
writeln('-------------------------------------------------------------');
writeln('|  Фамилия  |     Имя    |  Отчество  | Пол | Возраст | Курс|');
writeln('-------------------------------------------------------------');
n:=0;
while not eof(f) do
   begin
    readln(f,s);//читаем строку
    Convert(s);//конвертируем
    n:=n+1; //считаем
    sp[n].f:=copy(s,1,pos(';',s)-1);//в примере разделитель между словами точка с запятой,                                     //напишете свой, читаем первое слово до разделителя,
                                    //если это строковое поле, сразу заносим в запись
    gotoXY(1,whereY);write('| ',sp[n].f);//выводим
    delete(s,1,pos(';',s));//удаляем его вместе с разделителем
    sp[n].i:=copy(s,1,pos(';',s)-1);
    gotoXY(13,whereY);write('| ',sp[i].i);
    delete(s,1,pos(';',s));
    sp[n].o:=copy(s,1,pos(';',s)-1);
    gotoXY(26,whereY);write('| ',sp[i].o);
    delete(s,1,pos(';',s));
    sp[n].p:=copy(s,1,pos(';',s)-1);
    gotoXY(39,whereY);write('|  ',sp[i].p);
    delete(s,1,pos(';',s));
    s1:=copy(s,1,pos(';',s)-1);
    val(s1,t,c);//если поле числовое, преобразуем строку в число
    sp[n].v:=t;//заносим в запись
    gotoXY(45,whereY);write('|   ',sp[i].v);
    delete(s,1,pos(';',s));
    val(s,t,c);
    sp[n].k:=t;
    gotoXY(55,whereY);write('|  ',sp[i].k);
    gotoXY(61,whereY);write('|');
    writeln;
  end;
readln;
А спрашивать где почитать, имея доступ к интернету, а следовательно и к Гуглю, нонсенс. Наберите типа Текстовые файлы в Паскале, и все.
1
0 / 0 / 0
Регистрация: 28.02.2010
Сообщений: 6
01.03.2010, 18:18  [ТС] 3
Благодарю!
Похоже нашел что искал. Буду разбираться
0
01.03.2010, 18:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.03.2010, 18:18
Помогаю со студенческими работами здесь

База данных.работа с фото
Добрый день,господа прогрммисты. И у меня такой вопрос. У меня есть список из имен,фамилий и ID...

база данных. Работа с Псевдонимами
здравствуйте! кто бы мог мне помочь с псевдонимами, дать полный ответ, хочу при открытии файла...

Работа с List<> и базой данных в txt
Всем привет! Я считал строки с файла вот такой строчкой кода: List&lt;string&gt; database =...

Работа с картинками в MVC, база данных?
Приветствую, братишки! Возникла пробелма пр инаписании интернет магазина. В админ панели при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru