![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Merry_milkman |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 17.3.2005 Репутация: нет Всего: нет |
Пишу программу(консольное приложение),некое подобие записной книжки.В меню присутствуют пункты : добавить новую запись ,просмотр записей,выход.Добавлять можно имя фамилию и номер телефона.
в меню просмотра нужно сделать возможность удаления записи.Также надо сделать возможность занести данные в файл. Я написал уже головную часть программы,довить запись и просмотреть запись я решил вынести в отдельные процедуры.В програме я использую массив типа запись,в каждом элементе три поля(имя,фамилия,номер). Вот что у меня пока что получилось:
Проблема в том,что у меня не получается ничего записать в массив,как только непробовал к нему обращаться. Помогите пожалуйста с процедурой Rec. |
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 31 Всего: 155 |
1)Type
TArrRec=array of TRec; - для удобства 2)procedure Rec (arr:TArrRec);...procedure view(arr :TArrRec); - для удобства 3)SetLength(arr,Length(arr)+1); - добавляем запись arr[Length(arr)-1].PhNum:=0 - что-то пишим -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| Merry_milkman |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 17.3.2005 Репутация: нет Всего: нет |
Не могли бы вы поподробнее объяснить. |
|||
|
||||
| Merry_milkman |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 17.3.2005 Репутация: нет Всего: нет |
Блин,ничего не получается.Почему вот так процедура работает:
А если вставить в процедуру read , то нифига не работает:
Я тока разбираюсь с подпрограмами,динамическими массивами(тока сегодня начал изучать).Если не сложно напишите пожалуйста процедуру Reс А может нужна не процедура а функция? З.Ы. to Girder: добавить запись-это имеется заполнить поля(Name,Surname,PhNum) одного из элементов массива.Т.е. добавить в записную книжку запись о новом человеке. |
||||
|
|||||
| Merry_milkman |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 17.3.2005 Репутация: нет Всего: нет |
Теперь вообще вылетает и выдает такую ошибку:
Project Blocknot.exe raised exception class EInOutError with message 'I/O error 103'.Process stopped.Use step and run to continue. |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
1. зачем ты передаешь массив, как параметр? Он же у тебя и так глобальный.
2.
|
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 31 Всего: 155 |
PS: read(na) замени на readln(na) -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Вот... подправленный вариант с точки зрения "культуры" Добавлено @ 12:34 Можно еще и вписать суда оператор присоединия with при работе с записями... Это сообщение отредактировал(а) Pakshin A. S. - 19.3.2005, 12:36 |
|||
|
||||
| Merry_milkman |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 17.3.2005 Репутация: нет Всего: нет |
Вообщем почемуто не хочет работать read,readln когда надо считать значение типа string.
Например тут:
все работает нормально. А тут:
не работает.Так как будто этой строчки вообще нет!Ее просто перепрыгивает. Не знаете почему может не работать read и readln(в случае со строками)? |
||||
|
|||||
| Pakshin A. S. |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Приведи более распространенный пример!!!
Например Вот это не роботает:
А вот это уже работает:
Просто компилятор выбрасывает работу с теми переменными, с оторыми потом не ведется никакой работы... ДАвай сюда пример и я помогу тебе его переделать так, как надо... |
||||
|
|||||
| Merry_milkman |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 17.3.2005 Репутация: нет Всего: нет |
Всем спасибо за помощь.Прога готова.Вот как выглядит финальная версия
|
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Плохо! Очень плохо! Щас пойду переделаю тебе, как лучше... |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
ИМХО приемлемо, но телефонный номер не должен иметь тип интеджера. Потому как разделители в нем присутствуют. Хотя я бы использовал типизированный файл и не заморацивался.
|
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Вот... Здесь нам нужно разобраться с некоторыми вещами: 1) Нужны еще много проверок вводимых данных 2) Использование файла... Нужно? Если да, то надо все от начала до конца организовать через типизированный 3) Телефонный номер... |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
[offtop]Идея.......реализовать все это на основе mdb через JET и ADO
Что то я не пойму в чем смысл этого дела?
И нафига в качетсве параметра передавать "m: TUserA", если он и так глобально описан? |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |