Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 30.04.2009
Сообщений: 24

нужна помощь с текстовой таблицей.

30.04.2009, 13:58. Показов 2015. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
собстно сабж.

дали задание состряпать курсовую в виде базы данных сост. из 2х текстовых файлов, не используя BDE компоненты.

Вообщем нашел у вас тут на форуме прогу (см вложение), которая частично уже реализовала требуемое по заданию. НО:

Вот тут сами вопросы:

1. Тут используется только 1 файл и 1 таблица. Сделать 2ую и туда занести данные не проблема, НО - как их вместе с линковать ?

пример

файл 1

id name info
1 lol lol_info
2 lal lal_info
3 kek kek_info


файл 2
id time type_id(берется из 1ого файла) who
1 14-21 2 Man
2 11-11 2 Man
3 21-02 1 Woman
4 01-11 3 Woman
5 15-16 2 Man

и вот по такому примеру. 1ый файл хранит основные данные, скажем данные о человеке, а 2ой файл это уже данные о его действиях. И меняя инфу о человеке в 1ом, автоматом должно поменяться во 2ом.


идей просто 0 =\
Вложения
Тип файла: rar Исправлено.rar (193.1 Кб, 22 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.04.2009, 13:58
Ответы с готовыми решениями:

НУЖНА ПОМОЩЬ!
Задание такое: В элементе списка содержатся данные о планшетных сканерах: -наименование модели -цена -горизонтальный р-р области...

Нужна помощь!
Доброго дня! Кто подскажет как реализовать на Delphi 6.0 (другого компилятора нет) следующее: Есть 6 цыфр a b c d e f Каждая...

Нужна помощь с калькулятором
1)Есть калькулятор с вводом цифр с клавиатуры: procedure TCalc.FormShortCut(var Msg: TWMKey; var Handled: Boolean); var d: Byte; ...

20
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
30.04.2009, 14:03
напиши что в первом будет файле а что во втором по раздельности записи 3, а то я так понять не могу что к чему, а все понял, ща сообразим
0
0 / 0 / 0
Регистрация: 30.04.2009
Сообщений: 24
30.04.2009, 14:10  [ТС]
подправил чтоб было видно. прост када псиал там все красиво было а при посте все в кашу =)
0
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
30.04.2009, 14:12
я вот что понять не могу если ты изменишь что то в действиях человека, почему что то должно поменяться из его личных данных, напиши лучше что и как конкретно тебе нужно сделать, о то мы так больше дров наломаем
0
 Аватар для Jazon_deenAlt
4117 / 999 / 191
Регистрация: 09.04.2009
Сообщений: 4,223
30.04.2009, 14:17
Дело ясное, что дело темное... тоесть у Вас есть два файла *.txt и при изменении чего-то в 1-вом вам надо чтобы все что зависит от етого параметра минялось во втором, но оно вам надо когда программа работает или просто поминяли теекстеху1 из виндовса а вторая вам сразу оппа?
0
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
30.04.2009, 14:23
напиши что и как у тебя должно быть, не надо все записи две хватит, мне нужно понять что к чему
0
0 / 0 / 0
Регистрация: 30.04.2009
Сообщений: 24
30.04.2009, 14:37  [ТС]
Вот пример

таблица на тему Заправка

Файл 1 - Бензин

Марка---Цена(за литр)----Остаток-----Поставщик------Всего
95---------0.65--------------545----------Колхоз---------1500
98---------0.80--------------544----------Деревня-------1500
76---------0.45--------------844----------Колхоз---------1590
Диз--------0.60--------------233----------Барыги---------1666


Файл 2 - услуга

Марка------Кол-во----Дата--------Стоимость
95----------15--------01.02.01-------******
95----------10--------01.04.01-------******
диз---------60--------05.05.01-------******
98----------39--------02.02.01-------******
76----------15--------01.01.01-------******

вот. собстно так.
тоесть занося цену, она потом считает кол-во литров купленных и заносит стоимость в свое поле.

также должно после покупки вычислять кол-во оставшегося топливо из всей суммы
0
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
30.04.2009, 14:40
ну а если в таком случае использовать промежуточный фаил или этого делать нельзя?
0
0 / 0 / 0
Регистрация: 30.04.2009
Сообщений: 24
30.04.2009, 14:42  [ТС]
об этом при получении задачи сказано небыло =) а все что не запрещено - разрешенно =)
0
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
30.04.2009, 14:43
то есть при каком то изменение таблицы 2 нам же надо как то будет изменять в ней данный, вот как ты их планируешь изменять?
0
0 / 0 / 0
Регистрация: 30.04.2009
Сообщений: 24
30.04.2009, 15:00  [ТС]
на каждое поле возьму по эдиту и буду через эдит вносить изменения.

есть хорошая база с такими приколами, правда коменты там на испанском =)
прикладываю
Вложения
Тип файла: zip bd-firms-catalog.zip (32.4 Кб, 10 просмотров)
0
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
30.04.2009, 15:04
нет меня другое интересует как ты собираешься данные в текстовом файле менять, то есть будешь создавать новый файл с тем же названием, или просто перезаписывать тот что у тебя есть, и в том и другом случае нужен еще один фаил
0
0 / 0 / 0
Регистрация: 30.04.2009
Сообщений: 24
30.04.2009, 15:22  [ТС]
я думал изменять данные прям в стринггриде.

Добавлено через 14 минут 28 секунд
плюс
потребуется:

удаление записей
удалений по условию
поиск по критериям
подсчет суммарных хар-ок
сортировка по критериям
настройки(3 штуки_ проги и сохранение их в ини файл =) но это все потом =)

сейчас сижу пишу занесение всех данных, потом буду над остальным
0
 Аватар для Jazon_deenAlt
4117 / 999 / 191
Регистрация: 09.04.2009
Сообщений: 4,223
30.04.2009, 15:32
Хмм... Если не сложно опишы какие точно должны быть поля, какие от каких зависят и по каких формулах какие считать... Плюс все что тебе потребуетса еще но подробно... идея создания есть но если все щас напишеш потом проще будет(меньше менять надо будет потом)
0
0 / 0 / 0
Регистрация: 30.04.2009
Сообщений: 24
30.04.2009, 17:27  [ТС]
а да во, догнал еще, поле Стоимость должно заполняться автоматом от введеных данных =\

Добавлено через 7 минут 58 секунд
таблица на тему Заправка

Файл 1 - Бензин

Марка---Цена(за литр)----Остаток-----Поставщик------Всего
95---------0.65--------------545----------Колхоз---------1500
98---------0.80--------------544----------Деревня-------1500
76---------0.45--------------844----------Колхоз---------1590
Диз--------0.60--------------233----------Барыги---------1666


Файл 2 - услуга

Марка------Кол-во----Дата--------Стоимость
95----------15--------01.02.01-------******
95----------10--------01.04.01-------******
диз---------60--------05.05.01-------******
98----------39--------02.02.01-------******
76----------15--------01.01.01-------******



вот это я реализую. Собстно во 2ой файл я вношу только 3 типа данных и при заносе их в таблицу на кнопку, граффа Стоимость заполняется сама. также и для 1ого файла с графой Остаток

формулы...

в 1ом файле у нас поле Остаток это: поле Завезено - поле Кол-во из 2ого файла
в 2ом файле поле Стоимость это: поле Кол-во * на поле 1ого файла Цена

тоесть это я вижу как простое вычитание и умножение StringGrid*.Cells-ов.

Добавлено через 1 час 43 минуты 17 секунд
еще вопросик

Delphi
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
//вывод данных в таблицу и подсчет по условию
procedure TForm1.Button2Click(Sender: TObject);
var i,k:byte;
begin
assignfile(f,'benz.txt');
reset(f);
k:=0;
for i:=1 to n do
  begin
    StringGrid1.RowCount:=StringGrid1.RowCount+1; //добавляем строчку
    read(f,sp[i]);
    StringGrid1.Cells[0,i]:=IntToStr(i);
    StringGrid1.Cells[1,i]:=sp[i].fam;
    StringGrid1.Cells[4,i]:=sp[i].spc;
    StringGrid1.Cells[3,i]:=IntToStr(sp[i].shf.god);
    StringGrid1.Cells[2,i]:=IntToStr(sp[i].shf.nom);
    StringGrid1.Cells[5,i]:=FloatToStrF(sp[i].srb,ffFixed,5,2);
    end;
closefile(f);
 end;
 
//2ая таблица
 
procedure TForm1.BitBtn3Click(Sender: TObject);
var i,k:byte;
begin
assignfile(f1,'usl.txt');
reset(f1);
k:=0;
for i:=1 to n do
  begin
    StringGrid2.RowCount:=StringGrid2.RowCount+1; //добавляем строчку
    read(f1,sp1[i]);
    StringGrid2.Cells[0,i]:=IntToStr(i);
    StringGrid2.Cells[1,i]:=sp1[i].fam1;
    StringGrid2.Cells[4,i]:=sp1[i].spc1;
    StringGrid2.Cells[3,i]:=IntToStr(sp1[i].shf1.god);
    StringGrid2.Cells[2,i]:=IntToStr(sp1[i].shf1.nom);
    StringGrid2.Cells[5,i]:=FloatToStrF(sp1[i].srb1,ffFixed,5,2);
end;
closefile(f1);
end;
вот в первой таблици read(f,sp[n]) выполняется хорошо
а на 2ой выкидывает ерро =\ я хз что да как =\
0
 Аватар для Jazon_deenAlt
4117 / 999 / 191
Регистрация: 09.04.2009
Сообщений: 4,223
30.04.2009, 18:05
могу сделать полностью то что вам нужно, но начну делать не раньше вторника(щас нету времени )... карочь пробуйте сами, а если до вторника не получитса то я помогу)
0
0 / 0 / 0
Регистрация: 30.04.2009
Сообщений: 24
30.04.2009, 18:35  [ТС]
оооо!!! буду оч признатален если что, но все выходные буду са мтоже долбить по максимому.

Добавлено через 20 минут 58 секунд
вообщем после 1ого раза использования Read, 2ой раз уже не дают его поюзать.
0
0 / 0 / 0
Регистрация: 30.04.2009
Сообщений: 24
04.05.2009, 14:43  [ТС]
и так вот продолжаю мучения =)

да, чтоб удалять в этой таблице нужен временный файл, без него никак =)
Table1.Delete - эхх как было бы просто ... но не судьба =)

Delphi
1
2
3
4
5
6
7
AssignFile(f,'benz.txt');
reset(f);
AssignFile(f3,'benztmp.txt');
reset(f3);
while not EoF(f) do
    Begin
      Read....
крч ппц, не прогер я полный =\
0
0 / 0 / 0
Регистрация: 30.04.2009
Сообщений: 24
04.05.2009, 16:36  [ТС]
вот прикладываю то что есть на данный момент =\
Вложения
Тип файла: zip Baza.zip (11.7 Кб, 13 просмотров)
0
0 / 0 / 0
Регистрация: 30.04.2009
Сообщений: 24
04.05.2009, 16:43  [ТС]
вот нашел код в учебнике для удаления по критерию но чет туплю и немогу его прикрутить. тут в примере дан файл с именем, фамилией и зарплатой и надо удалять из файла людей с заданной фамилией.

Assignfile(f1,'a.dat');
Reset(f1);
Assignfile(f2,'tmp.dat');
ReWrite(f2);
s:=DelEdit.text;
count:=0;
while not EoF(f) do
begin
read(f1,r);
if R.Fam<>s then Write(f2,r);
else Inc(Count)
end;
Closefile(f1); closefile(f2);

if deletefile('a.dat') and renamefile('tmp.dat','a.dat') then
showmessage(inttostr(count)+' records deleted')
else
showmessage('error');
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.05.2009, 16:43
Помогаю со студенческими работами здесь

Нужна ваша помощь
Здраствуйте, я не так давно начал изучать делфи, прочитал немного литературы, как мне посоветовал знакомый написал калькулятор, и парочку...

Нужна помощь c MessageDialog
Добрый день Всем!!! конкретно речь идет о mtConfirmation я сделал на форме 3 кнопки: Yes - сохранить и закрыть; No - Не сохранять;...

Нужна помощь в мелочи
Как написать степенное выражение. Такую нелепость забыла, например число е в степени х?:)

Нужна помощь с курсачом
В Делфи я практически не разбераюсь... а завтра сдавать курсач... помогите плиз...

C++ и Delphi .помощь нужна
в delfhi есть строка if pos(c3,c2) как её записать в C++?


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru