Поиск:

Ответ в темуСоздание новой темы Создание опроса
> БД из 2х значений, нужно создать базу данных игроков 
V
    Опции темы
Dimyanik
Дата 23.5.2007, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я делаю игрушку в качестве курсовой. Игру сделал, а с БД парюсь и без толку!!!
Надо сделать базу данных в которой хранятся имена и колчества очков набранных игроками, то есть 2 значения.
Получается только имя сделать...
Помогите пожалуйста, форум весь обшарил не помогло
PM   Вверх
Anikmar
Дата 23.5.2007, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

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



Не проще ли будет хранить таблицу рекордов просто в файле.
Зачем для этого БД? (Еще и все библиотеки работы с ней цеплять)
Создаете структуру типа
struct TopRec
{
char Name[20];
int Result;
}
затем массив из десятка таких структур - массив при запуске проги считывается, после окончания каждой игры записывается. Кода 20 строчек и никаких БД
PM MAIL ICQ   Вверх
Dimyanik
Дата 23.5.2007, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Блин, ни фига не получается. Может я не правильно массив объявляю...
Билдер ругается на этапе компиляции.
 smile 

PM   Вверх
Klin
Дата 23.5.2007, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Согласен с Anikmar, у вас БД (вместе с библиотеками) будет весить больше чем все данные smile
  •  Для хранения данных используется любой файл.
  •  Для работы с данными в программе использйте массив или как посоветовал Anikmar, структуру (а лучше компонент ListBox, ListView или ValueListEditor, иначе зачем нам билдер smile )
  •  Можете еще придумать метод шифрования файла и потентировать расширение smile
Добавлено через 20 секунд
Dimyanik,  выложите код

Добавлено через 1 минуту и 45 секунд
Цитата(Anikmar @  23.5.2007,  22:45 Найти цитируемый пост)
struct TopRec{char Name[20];int Result;}

это кстати чем не пример?  smile 


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
Dimyanik
Дата 24.5.2007, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Как записыват данные в структуру?
Мне надо поле Name Text из Edit
А у меня не получается и в справке разобраться не могу помогите кто чем может

TopRec.Name = Edit1->Text;    ??
PM   Вверх
Anikmar
Дата 24.5.2007, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

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



Цитата(Dimyanik @  24.5.2007,  16:04 Найти цитируемый пост)
TopRec.Name = Edit1->Text;    ?? 

Нет, чтобы тупо записать структуру в файл там нужен char[]
Поэтому делайте так:
strcpy(TopRec.Name,Edit1->Text.c_str());

Имейте в виду, что предварительно не плохо было бы проверить максимальную длину, лучше ее ограничить прямо в едите.

PM MAIL ICQ   Вверх
Klin
Дата 24.5.2007, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Dimyanik, TopRec - это что-то вроде типа. Нужно сделать так:

Код

. . . . . .
struct TopRec {
 char Name[20];
 int Result;
} myvar;
. . . . . .
myvar.Name[0] = "Сергей";
myvar.Name[1] = "Александр";
myvar.Name[2] = "Игорь";
myvar.Result = 10;



--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
Anikmar
Дата 24.5.2007, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

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



Klin, вы ничего не перепутали?  smile 
PM MAIL ICQ   Вверх
Klin
Дата 24.5.2007, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Anikmar, вы насчет этого?
Цитата(Klin @  24.5.2007,  17:44 Найти цитируемый пост)
 TopRec - это что-то вроде типа. 




--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
dumb
Дата 24.5.2007, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


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

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



Цитата(Klin @  24.5.2007,  16:50 Найти цитируемый пост)
вы насчет этого?

нет, он насчет этого:
Цитата(Klin @  24.5.2007,  16:44 Найти цитируемый пост)

struct TopRec {
 char Name[20];
 int Result;
} myvar;
. . . . . .
myvar.Name[0] = "Сергей";
myvar.Name[1] = "Александр";
myvar.Name[2] = "Игорь";

myvar.Result = 10;

smile
PM MAIL   Вверх
Klin
Дата 24.5.2007, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Тфу, блин smile Заработался я. Сессия, экзамены и ЕГЭ дают о себе знать  smile 

вначале
Код

struct TopRec {
 char Name[20];
 int Result;
} myvar[100];


затем так
Код

 strcpy(myvar[2].Name,"Сергей");
 myvar[2].Result = 10;


или так (динамически) № 1
Код

 strcpy(myvar[2].Name,Edit1->Text.c_str());
 myvar[2].Result = 10;


или так (динамически) № 2
Код

 char UserName[20] = "Alexsandr";
. . . . . . .
 strcpy(myvar[2].Name,UserName);
 myvar[2].Result = 10;





--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
Dimyanik
Дата 29.5.2007, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я решил пойти по болле лёгкому пути и сделал файл pl.txt который загружается в начале и сохраняется при выходе.
При добавлении элемента я добавляю к нему ещё и очки
ListBox1->Items->Add(Edit1->Text + " 1000");
но вот новая проблема - как извлекать из него кол-во денег в отдельную переменную???
как редактировать значение ListBox-а?? smile 
PM   Вверх
Dimyanik
Дата 31.5.2007, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Господа, помогите пожалуйста очень надо!! smile 
PM   Вверх
Klin
Дата 31.5.2007, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Dimyanik @  29.5.2007,  23:32 Найти цитируемый пост)
Я решил пойти по болле лёгкому пути и сделал файл pl.txt который загружается в начале и сохраняется при выходе.При добавлении элемента я добавляю к нему ещё и очкиListBox1->Items->Add(Edit1->Text + " 1000");

Накрученно как-то  smile Использовали тогда бы ValueListEditor

Если пробелов в имени нет, то можно так:

Код

int n = 2, // номер элемента
x =  ListBox1->Items->Strings[n].SubString(ListBox1->Items->Strings[n].Pos(" "), ListBox1->Items->Strings[n].Length()); 
// количество очков у игрока # n.


Это сообщение отредактировал(а) Klin - 31.5.2007, 12:53


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
Dimyanik
Дата 2.6.2007, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Klin, спасибо огромное кол-во очков выделить получилось smile 

подскажите как из этого выражения вытащить, то что до пробела...
в name у меня строка ListBox-а, в которой Имя и просле пробела кол-во очков (кол-во символов имени и очков везде разные

Код

im=name.SubString(1, 5);
)
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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