![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Пользователь
Регистрация: 19.04.2009
Сообщений: 45
|
![]()
Итак, поиск вроде сделал по всему сто надо - наимен, артикуль, колич, стоимость. Чего хочу - чтобы пользователь, выбрав работу с тип. файлом, выбрав пункт 6 - поиск увидел перед собой 1 поиск по наимен 2 - поиск по.... и т.п. вот он выбрал какой нить вид поиска, произвел его,просмотрел результат на экране, а снизу сообщение типу "Для выбора операций с тип файлом нажмите любую клавишу" и у нас после нажатия откроется список операций -
Код:
Вот Новый код программы |
![]() |
![]() |
![]() |
#12 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Андрей, вот же Вы путаник!
выкладываю подправленный файл. MEN3.txt поиск у Вас с ошибкой. В любом случае будет писать writeln('net takogo tovara! Press any key to continue'); уже мне лень исправлять, сами подправьте! И ещё раз повторю. Так Вы далеко не уедете. для того, чтобы созданный Вами код не оказался слишком сложным для Вас же, Вам нужно: 1) ОБЯЗАТЕЛЬНО структурировать код! Без этого в этой каше ногу сломать можно! 2) выделяйте куски кода в процедуры. Это повышает и наглядность и удобство отладки/модификации кода. Например, каждую процедуру поиска можно вынести в отдельную процедуру (а если немножко поработать, то можно сделать ОДНУ процедуру, куда передавать имя файла и тип поиска и внутри процедуры написать примерно так Код:
|
![]() |
![]() |
![]() |
#14 | |
Пользователь
Регистрация: 19.04.2009
Сообщений: 45
|
![]() Цитата:
Вот наш измененный код с удалением: Последний раз редактировалось Андрос; 12.11.2012 в 17:41. |
|
![]() |
![]() |
![]() |
#15 |
Пользователь
Регистрация: 19.04.2009
Сообщений: 45
|
![]()
вот файл без ФД2 посмотрите корректировку,если не трудно. Разобрался, пропустил сеек перед врите в конце. Вроде все норм работает, У вас есть идеи по поводу нетип. файла?
Текстовый фай - создание/просмотр. В нем нужно сделать - создать новый, просмотр, открыть созданный для дозаписи. Ну как мы делали в типиз. файле. Это пока просто набросок на создание и просмотр, без дозаписи. Последний раз редактировалось Андрос; 13.11.2012 в 02:06. |
![]() |
![]() |
![]() |
#16 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
выкладываю пример работы с нетипизированным файлом.
ещё раз повторю то, что я уже неоднократно говорил. При создании нетипизированного файла у Вас ПОЛНОСТЬЮ развязаны руки в плане того, что и как в этот файл писать. Начиная с создания какой-то своей структуры (примитивный образец такой структуры воплотил я в своём примере) и заканчивая записью в файл индексов, вспомогательной информации, деревьев и т.д. и т.п. Кстати, используя в программе нетипизированный файл можно легко читать данные, сохранённые в ТИПИЗИРОВАННЫЙ файл на диске. Так что, в примере одно из огромного множества вариантов. по сути, в данном файле-примере записывает количество элементов в массиве, а после этого целиком весь массив (в моём примере в этом массиве 5 записей типа TOV - общий размер массива 230 байт). Разбирайтесь. Будут вопросы - милости прошу. |
![]() |
![]() |
![]() |
#17 |
Пользователь
Регистрация: 19.04.2009
Сообщений: 45
|
![]()
Если не трудно ответьте прямо в коде под моими коментами, или поправьте если я не так написал свои коментарии. Если я правильно понимаю, то количество записей, которые мы можем ввести в нетип файл не может превышать 5, так??а если поставить что переменная SizeBuf = 50 - то 50 записей сможем ввести, и в коде ничего ненадо будет менять? Если не трудно расскажите немного о блокреад,блокврайт, точнее про параметры, чтоб стало немного понятнее. и если не трудно то про переменную kolvo - она имеет какое-то значение сразу и переменную ReadCount???
вот файл с процедурой и моими коментами... ----- Вот скомпонованный файл программы с тип,нетип, текст. Только вот что то не получилось вставить проверку наличия номера записи в тип. файле на корректировку, удаление Код:
Хотелось бы разобраться до конца с нетипиз файлом и доделать этот недочет в проверкой номера. Может у Вас есть замечания, пока еще не отнес преподу на показ и есть немного времени что-то подшаманить? Последний раз редактировалось Андрос; 14.11.2012 в 19:05. |
![]() |
![]() |
![]() |
#18 | |||||||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Цитата:
Цитата:
Посмотрите, Вы же в своём сообщении на первой страницы темы приводили ссылки на описание работы с нетипзированным файлом. Там про блоки есть инфорация. Если единицу не указывать, то запись(чтение) будет производится блоками по 128 байт. (это наследие мрачных времён...) Цитата:
Цитата:
Цитата:
чтобы не путаться, Вам лучше написать так: Код:
Цитата:
Если число, сколько мы хотели прочитать не совпадает с тем числом, которое фактически прочиталось, значит имеется какая-то проблема чтения, нужно материться, работать дальше смысла нет. А в данном коде ошибку не выдаю, чтобы не усложнять код... теперь по поводу удаления. там у вас всё было закомментирвоано. расскомментировал. добавил провавший куда-то end проверил, всё работает. я не знаю, что Вы делаете не так! на всякий случай привожу пример кода, который я тестировал: Код:
Последний раз редактировалось Serge_Bliznykov; 14.11.2012 в 23:53. |
|||||||
![]() |
![]() |
![]() |
#19 |
Пользователь
Регистрация: 19.04.2009
Сообщений: 45
|
![]()
Сегодня ходил показывать. Рассказываю...
1) В общем необходимо еще в тип. файле сделать сортировку по любому полю, я думаю на стоимости будет проще...Препод что то про метод пузырька говорил, по цене типу от меньшей к большей. типу сделать пункт сортировка по цене, выбираем его и показываются отсортированные по цене записи. Меня смущает еще одно - мы же удаление записей делали нестандартно - т.е порядок строк нарушается, это нам не помешает сделать сортировку? просто отсортировать и вывести на экран - никуда не записывая. вот что то нашел, но не знаю, это наверн не пузырек? http://www.cyberforum.ru/pascal/thread39220.html 2) Потом про текстовый файл. Там где мы делали добавить запись в существующий файл, нужно делать это через процедуру append. Потом, сказал сделать так - сделать еще одну переменную типа стринг, и в нее засунуть наш вывод информации, чтобы как бы данные записывались и хранились в файле не через новую строку, а чтобы вся инфа шла строкой, длинна которой не должна превышать 256 символов( 3) про нетип файл много писать - отпишусь вечером. Последний раз редактировалось Андрос; 15.11.2012 в 19:33. |
![]() |
![]() |
![]() |
#20 |
Пользователь
Регистрация: 19.04.2009
Сообщений: 45
|
![]()
Итак,1 проблему в текстовом файле с функцией Append я решил, теперь нормально добавляет запись в существующий файл, но не могу решить проблему с выводом информации в строку. Переменную str1 сделал, в нее вроде закинул данные, НО выводиться только последняя запись, а как исправить чтобы все записи которые мы ввели были в нашей переменной str1 и вывелись в строчку не превышающую 256 символов???
2 - сортировку начал пробовать делать , но не получается, ругается "тайп маш" не совсем понимаю как и где исправить...Данные отсортированные нам нужно просто вывести на экран после сортировки и все... 3 - про нетипиз файл препод сказал что мы в нашей проге читаем по 1 байту, а это очень долго, сказал определять куски на которые будет разбиваться наш файл нужно исходя от характеристик венчестера??? Дал код программы из книги где делают по другому, ниче не пойму, он сказал что там что-то разбивает на 15000??? Вот фото ксерокопии что он дал, можете посмотреть и подсказать с поправкой кода? Вот последняя версия исходника... Последний раз редактировалось Андрос; 18.11.2012 в 22:15. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Паскаль. Матрица NxN -> текстовый файл -> Матрица NxN - найти max по диагоналям -> типизированный файл | Лунатик13 | Помощь студентам | 1 | 20.02.2012 15:54 |
Нетипизированный файл | Bizunov | Помощь студентам | 4 | 15.05.2011 15:29 |
Текстовый и типизированный файл | Пушистик | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 15.04.2009 20:19 |
нетипизированный файл | amandra | Общие вопросы Delphi | 6 | 07.10.2008 07:44 |
Нетипизированный файл | OrdJONY | Общие вопросы Delphi | 10 | 03.10.2007 18:39 |