Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание базы данных на файлах... 
:(
    Опции темы
Майк
Дата 4.7.2005, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 4.7.2005

Репутация: нет
Всего: нет



Добрый день, у меня есть форма на которой расположены поля в которые должна выводиться информация о выбранном человеке в списке TListBox1, так же есть тип record в котором у меня поля: name, phone и т.д.
Во первых хочу спросить как добавить нового человека в базу, а во вторых как сохранить базу при выходе из программы и сделать загрузку базы при старте программы.
PM MAIL   Вверх
Штык
Дата 4.7.2005, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 9.5.2005
Где: Москоу

Репутация: нет
Всего: 1



Просто кинь на форму кнопку и по нажатии на нее пиши в файл последнюю запись, при страте проги в процедуре onCreate или еще хде считывай все записи из файла и тд...
Если хошь пиши я те исходником помогу так проше будет намного))
--------------------
Lachetes familieresQui nous rendent guerrieres
PM MAIL WWW ICQ   Вверх
Alex
Дата 4.7.2005, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Майк, что же вы так поиском не пользуетесь http://forum.vingrad.ru/index.php?showtopic=56260&hl=name не хорошо забывать свои собственные темы smile


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
vadims
Дата 4.7.2005, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 8.6.2005

Репутация: нет
Всего: 17



Вообще не очень понятно что за база имеется ввиду
стандартно - изучай TTable и что с ней связано
если хочешь самописно через файлы посмотри
http://forum.vingrad.ru/index.php?showtopic=57496


--------------------
Cpu not found ! Press any key for software emulation.
PM MAIL   Вверх
SoWa
Дата 4.7.2005, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 2
Всего: 74



Почему бы не использовать BDE или SQL ? Там проще чем с файлами, и скорость больше. А для работы с файлами пиши свои процедуры записи и чтения.


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
Pakshin A. S.
Дата 4.7.2005, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Цитата(SoWa @ 4.7.2005, 17:59)
Почему бы не использовать BDE или SQL ? Там проще чем с файлами, и скорость больше. А для работы с файлами пиши свои процедуры записи и чтения.

Нужно время на изучение... если особо скорость не нужна, то проще и с обычным файлом...
PM   Вверх
vadims
Дата 4.7.2005, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 8.6.2005

Репутация: нет
Всего: 17



Цитата(Pakshin @ 4.7.2005, 17:01)
Нужно время на изучение... если особо скорость не нужна, то проще и с обычным файлом...
Оно конечно проще и быстрее, если ... задачи особо нет
А если начинать реализовывать индексы, связи и тд - ой, в конце концов пожалеешь что поленился BDE почитать, а уж если до сетевых вариантов дойдешь - вообще застрелишься. Вот только если задача реальная - все равно через небольшое время придешь к проблеме усложения БД и <читай предложение выше> smile


--------------------
Cpu not found ! Press any key for software emulation.
PM MAIL   Вверх
Medved
Дата 5.7.2005, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Цитата(Pakshin @ 4.7.2005, 20:01)
Нужно время на изучение... если особо скорость не нужна, то
проще и с обычным файлом...


Это все равно что молотком забивать шрупы.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
mvdr
Дата 5.7.2005, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


физик
***


Профиль
Группа: Участник
Сообщений: 1349
Регистрация: 31.12.2004
Где: Волгоград, Россия

Репутация: 1
Всего: 42



Цитата(Pegas @ 5.7.2005, 01:17)
Это все равно что молотком забивать шрупы.
но ведь реально это делать ;) Старые диваны только так и можно чинить.




Майк, сделай для каждого человека свой файл и при выборе его в ListBox'e загружай. Проще через Memo1.Lines.LoadFromFiles('C:\file.doc'); а потом разбирай строки по нужным записям.
Еще вешай код сохранения текущих полей в какой нибудь отдельный файл, и потом при старте предлагай загрузить его или нет (т.е. как в Word'e когда он предлагает восстановить не сохраненный документ).



--------------------
Появляюсь редко, но часто метко

Изображать идиота сложнее, чем изображать умного: полезнее и не каждому дано
PM ICQ   Вверх
Coder
Дата 5.7.2005, 04:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: 5
Всего: 11



Майк
Создай обычный текстовый файл... например, вот такой:
Код

@Eugeni
+79147010000
Arsenyev
@Coder

forum.vingrad.ru

т.е. по строкам: имя, телефон, адрес
@ - идентификатор имени!

далее кодишь (смотри на события)
Код

procedure TForm1.FormCreate(Sender: TObject);
var
  i : integer;
begin
  list:=TStringList.Create; // по листу поиски идут быстрее чем по файлу
  list.LoadFromFile('C:\base.dat'); // загружаем БД
  for i:=0 to list.Count-1 do
     begin
       bf:=list.Strings[i];
       try  // защита от пустых полей
         if bf[1]='@' then
           listbox1.AddItem(copy(bf,2,length(bf)),nil);  // отсекаем @
       except end;
     end;
end;

procedure TForm1.ListBox1Click(Sender: TObject);
var
  i : integer;
begin
   Dname:=ListBox1.Items.Strings[ListBox1.ItemIndex];
   Dname:='@'+Dname;
   //  list.Find();
   for i:=0 to list.Count-1 do
     if list.Strings[i]=Dname then
       begin
         edit1.Text:=copy(Dname,2,length(Dname)); // отсекаем '@'
         edit2.Text:=list.Strings[i+1]; // телефон
         edit3.Text:=list.Strings[i+2]; // адрес
       end;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
// сохраняем
  list.SaveToFile('C:\base.dat');
end;


переменные:
Код

var
  Dname, bf : string;
  list : TStringList;


такой метод очень даже не плох еси не знаешь других баз и если база у тебя небольшая.


PM MAIL   Вверх
Yanis
Дата 5.7.2005, 07:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



2 Майк
Да собственно, простототы необыкновенной эта проблема. Просто нужно реализовать процедуры/функции: загрузка, сохранение, удаление записей из файла. Затем для простоты создать типизированый файл на основе любой структуры:
Код

type
  rec = record
    Name: array[1..20] of char; // если на основе String, то Name: ShortString;
    Phone: array[1..10] of char;
end;
{ ... }

var
  f: file of rec;

{ ... }  

А потом просто реализовать вышеописаные методы и всё smile Но как их реализовывать не буду говорить, т.к. считаю, что если не умеешь с файлами работать, то надо что то почитать, например FAQ.
Добавлено @ 07:32
Стандартная задача при изучении языка. Встречалась, наверное любому стденту кто изучал программирование smile


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0671 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.