Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Author
Message
Slooper
22
Years of Service
User Offline
Joined: 13th Feb 2003
Location: Sweden
Posted: 9th Oct 2009 22:03
Quote: "Do you mean a GUI?"


No i ment an version that can be used for people using Dark GDK and C++ , would be nice to be able to use it in c++ aswell


You never fail, only make mistakes.
Rich Dersheimer
AGK Developer
16
Years of Service
User Offline
Joined: 1st Jul 2009
Location: Inside the box
Posted: 10th Oct 2009 11:01
Steele,

Does your program do encrypted data? I would like to avoid players hacking their character data.

Thanks,
Rich Dersheimer

Steele
21
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 10th Oct 2009 17:34
Hi Rich,

Yes, it does encrypt data. There is a flag on DFS CREATE that is zero for unencrypted and one for encrypted. Someone asked me for that about a month ago and it went in so people are using this feature now.

Slooper, I don't have DarkGDK so I can't tell you if it will work. It is a DLL of course and it follows a C convention. Having said that, because it goes through a kind of encryption process that TGC sets up for licensing, I don't know if it will work. You can try it and see.

Basically, the DLL is something that, where if I were to include mine in another it would run although I would take out the Dark Basic information. Nuclear Glory has a version that I wrote for their package a while back that integrated into C++ seamlessly although I have to upgrade it as it's several months outdated. Being out of work means that I tend to work on things which make money now and other projects get set aside.

Can you try it in DarkGDK and see if it works? It might because it doesn't use any libraries from Dark Basic that I'm aware of.

Thanks,

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
HavokDelta6
15
Years of Service
User Offline
Joined: 22nd Aug 2009
Location: United Kingdom
Posted: 11th Oct 2009 16:28
I asked a while ago, but you ignored me.

what kind of encryption, Is it key bassed? what resolution is the key if so?

is it something simple like a ceaser method? go on do tell. its been a month.

Steele
21
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 11th Oct 2009 18:58
It is a key based encryption based on a borrowed XOR algorithm. I'm not sure of the resolution however. The idea was to keep prying eyes from reading the data and not easily break it.

Is it something the Department of Defense would use? Hardly. But it is strong enough to deter someone who might want to look at a data file for cheating.

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
HavokDelta6
15
Years of Service
User Offline
Joined: 22nd Aug 2009
Location: United Kingdom
Posted: 12th Oct 2009 01:42
Nice to get an answer but please do expand on it. sure others are interested too

Flatlander
FPSC Tool Maker
18
Years of Service
User Offline
Joined: 22nd Jan 2007
Location: The Flatlands
Posted: 12th Oct 2009 02:40
I'm satisfied with the way encryption is. I don't need to know anymore. It's good enough to keep most prying eyes out. And if you want to try and hack into it. More power to you and anyone else who wants to cheat.

DOD, CIA, or MI6 encryption is not necessary!

-----------------------------------------------
OliveTreeGames
HavokDelta6
15
Years of Service
User Offline
Joined: 22nd Aug 2009
Location: United Kingdom
Posted: 12th Oct 2009 10:05
None the less it'd be nice to know, building on that, i dont think anything who's prefix is "dark" will ever acheive decent encryption tbh, i mean we can't even do hash's

Ron Erickson
Moderator
22
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 12th Oct 2009 13:27
Havok,
Quote: "I asked a while ago, but you ignored me."

Quote: "Nice to get an answer but please do expand on it."

After all the problems you have already tried to cause in this thread, why would anyone go at all out of their way to answer ANY of your questions?

Quote: " i dont think anything who's prefix is "dark" will ever acheive decent encryption tbh"

What is that supposed to mean? Let me guess, just another swipe at TGC, DBpro and this plugin? You, again, are just trying to cause problems.


a.k.a WOLF!
HavokDelta6
15
Years of Service
User Offline
Joined: 22nd Aug 2009
Location: United Kingdom
Posted: 12th Oct 2009 18:24 Edited at: 12th Oct 2009 18:26
The dark comment was at:
Quote: "
Is it something the Department of Defense would use?
"


@ your question of:
Quote: "
After all the problems you have already tried to cause in this thread, why would anyone go at all out of their way to answer ANY of your questions?
"


Because the question is relivant. Because i have experance with database and data-management systems regardless of weather or not i can spell them.

I would also think that the kind of people this forum attracts would have some interest in Cryptography, so far everyone i have contacted externally from the TGC who has asked me / talked about hash's with me has found it facinating. i can only imagine they would feel the same way about encryption.

Now would you please leave posts of mine that YOU deleted out of this, you know we'll get into an argument, you're perpetuating it, Why would you not just let Steele answer the question, its his brainchild.

Laslty, guess what Ron, MySQL does not nativly support encryption, so your "Havok, you're nothing but a troll" argument/statement gone to bits there.

In closing, I find cryptography interesting, I am sure others do to, and -100 points to whomever says "but isn't a hash a form of encryption" BECAUSE ITS NOT :p

~Havok

Anyway Steele, please do explain this Xor algorytham, i didn't really get the wiki page. but as i have said, i do find this interesting.

[edit]
when i said "we can not even do hash's i was refferring to Darkbasics lack of non-standard operators. as required to create a hash, wiki md5-checksum for example.

Indicium
17
Years of Service
User Offline
Joined: 26th May 2008
Location:
Posted: 12th Oct 2009 18:54
Quote: "After all the problems you have already tried to cause in this thread, why would anyone go at all out of their way to answer ANY of your questions?"


Well, i dont really see havoks questions as problems, surely its not troublemaking to ask a few questions on the encrytion of a product that he will have to put his money into if he wants to use it.

Omricon W.I.P
Ron Erickson
Moderator
22
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 12th Oct 2009 19:26
Quote: "Now would you please leave posts of mine that YOU deleted out of this, you know we'll get into an argument, you're perpetuating it, Why would you not just let Steele answer the question, its his brainchild. "


Um.. No. I won't. I deleted posts of yours because you were trolling in this thread. I haven't forgot about it because you have continued to do the same in other threads. I can not help but be skeptical that your intentions in this thread are AGAIN trolling. I'm not perpetuating anything. I'm doing my job as a moderator of this forum. Do you think I LIKE babysitting you? Frankly, my patience has run out with you and your a click away from being gone.
If Steele would like to answer you, that is up to him. I know that I wouldn't bother to help your "curiosity".


a.k.a WOLF!
Steele
21
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 12th Oct 2009 19:45
Quote: "i dont think anything who's prefix is "dark" will ever acheive decent encryption"


Oh I'm sure I could do it with Dark Basic Pro or anything else. I had to use encryption a few years ago with a company I worked for and they had me do the research. It's all boiled down to mathematics and swapping bytes pretty much.

I'll use a simple example although I wouldn't use this for encryption but it makes it easy to understand. I'll posit assumptions for simplicity's sake.

Characters A-Z are the ASCII equivalents of 65 - 90. HAVOK would translate as: 72, 65, 86, 79, 75. The binary equivalents are necessary to understand for you to understand XOR which is a boolean math function as well as a comparison operator.
72 = 1001000
65 = 1000001
86 = 1010110
79 = 1001111
75 = 1001011

Now if I XOR each value with something like 47 (which is a "/" and is in binary as 0101111) we get:
1100111 = 103 = g
1101110 = 110 = n
1111001 = 121 = y
1100000 = 96 = `
1100100 = 100 = d
"gny`d"

When it is time to decrypt you simply use the same key on the encrypted data.

1100111 => 1001000 = 72 = H
1101110 => 1000001 = 65 = A
1111001 => 1010110 = 86 = V
1100000 => 1001111 = 79 = O
1100100 => 1001011 = 75 = K

I actually use a longer key with all sorts of characters and cycle through it so that it is much tougher. Certainly not impossible but it is tough enough that if someone wants to cheat they have to really go out of their way to do it, starting with figuring out which set of binary numbers in the entire EXE I'm using and then figuring out which bytes in the data is text and either writing a program or painstakingly doing it one character at a time. But if someone wants to go through all that work rather than enjoy playing heck let them. I chose this because of the trade off of speed vs. difficulty. Besides, I do have a little more math in there so that even if the key is found and the data string locations are known, it still comes out with gibberish without that last piece. The fundamentals for XOR is described above and there are many ways to finagle it to one's liking.

And now... on to important work like getting version DD 1.3 ready to go out, trying to get my next plugin ready, and lastly job hunting. I've got two leads today.

Steele


http://www.lanningsoftware.com
Your source for Games and Entertainment
HavokDelta6
15
Years of Service
User Offline
Joined: 22nd Aug 2009
Location: United Kingdom
Posted: 12th Oct 2009 20:16 Edited at: 12th Oct 2009 20:18
Ah that makes sense actually. so it is Litterally the XOR operator

a b c
1 0 1
0 1 1
1 1 0
0 0 0

Where C is the output and A & B are inputs.

Will users be allowed custom keys? so they may set there own.

And when you set a key of length 2 (for example) of xy does that mean that (where a is the initial value)

r = XOR(a,x)
r = XOR(r,y)

Where r is teh result, or have you found a way to combine the two?

Thanks for answering btw. I do apreciate it.

[EDIT]
Ron Check you're email again, but please dont drag its contents here, nor use it here, I'd rather disguss

Steele
21
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 12th Oct 2009 20:53 Edited at: 12th Oct 2009 20:59
I'm not sure I understand but maybe I can clarify. It isn't a length per se rather a string of characters kind of like:
Data: HavokDelta6
Key: Guinness

Where H is xor'd with G, a with u, and so-on. When we reach t, we start over with G, a with u, 6 with i...

But you've got the right idea I think.

[Edit - Didn't see the question earlier] Yes, I eventually would like to make a key that users can give for the file itself. At the moment, I've "upgraded" to a beta version of the programming language I'm using and it may have a problem. I'll probably downgrade and continue. I've made several improvements and additions and I'm running it through it's paces to see if anything breaks. I'm just taking things in small steps because the underlying algorithms are complicated.
Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
HavokDelta6
15
Years of Service
User Offline
Joined: 22nd Aug 2009
Location: United Kingdom
Posted: 12th Oct 2009 21:10
ah so its not a loop - yeah that makes sense, Thanks.

My last ontopic question, again something which has to be turned on with mysql incase someone brings that up again.

Are there any checksums in place? be it row or table? in any form, off to dinner now, again not picking holes, compaired to what darkdata was even i am thinking about it, its become alot more full on. Well done Steele, really.

If there are no checksums, are they planned? that would be a cool feture i think. knowing if a row has been tampered with.

~Havok

Steele
21
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 12th Oct 2009 22:03
There aren't any checksums but you are correct, that would be a good thing to have. I'll have it in version 1.3 coming out in a couple of weeks. I'm trying to get it all wrapped up before November 1. It will probably be by row.

Off for now myself, and back later.

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
Ron Erickson
Moderator
22
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 20th Oct 2009 02:50
Yay! Just ordered. Finally!


a.k.a WOLF!
Steele
21
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 20th Oct 2009 17:10 Edited at: 20th Oct 2009 17:12
It's about time!

LOL!!! Enjoy.

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
Jeff Miller
20
Years of Service
User Offline
Joined: 22nd Mar 2005
Location: New Jersey, USA
Posted: 24th Oct 2009 04:55
This looks very interesting, an I am thinking of ordering when the version that handles integers is completed. A few questions I have are:

1. will it also handle byte, float, and boolean data types?
2. if boolean, does it store a logical True as 1 (as in DBP) or -1 (as in Access and VB6)?
3. Will it generate an error if I enter a duplicated value in a key field? (I'm prone to do that in my old age.)
4. will it store a null (as distinct from a zero-length string or a zero value numeric)?
5. Can it store queries? (Not a big issue.)
Steele
21
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 25th Oct 2009 03:37
Hi Jeff,

The detail (data) file handles integers, floats, and bytes already. The index will after I submit it to TGC this weekend.

I don't have boolean yet because I wasn't sure if it would be worth restricting a byte to 1 or 0 or even going bit-level. The trade offs begin speed and enhancement is something I weigh although so far, I haven't been able to detect any degregation. In fact, I found a couple of places to improve speed although I can't detect anything smaller than one millisecond still. However, I was able to remove a little redundancy so that should improve.

I'll have to think about getting nulls. I don't think it will be difficult.

No queries yet. I am going to build a scripting system within as well as the ability to tie things together automatically however, that may be a version 2.0 release. With that, queries are planned. I've been toying with the source to create a metaschema which would tie one or more indices to a data file and within that queries would be stored without affecting the files on the whole.

I hope I've not confused you too much and somehow, I don't think I have. You seem like someone who works with databases in his line of work. If clarification is desired, let me know and I'll be glad to answer.

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
the mook
16
Years of Service
User Offline
Joined: 21st Aug 2008
Location:
Posted: 26th Oct 2009 16:52
Hi.

Sorry to be a pest. I've looked through the forum thread as best I can. Is it possible to download a demo of Dark Data to assess it?

I am currently working on a MMORPG project, and Dark Data sounds ideal for my engine structure.

Thanks

~mook

What IS a mook?
Steele
21
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 12th Nov 2009 15:59
Ack!!! The forum never showed me that there was a new (now dated) post. I was about to post something of my own when I saw this. Sorry Mook.

There isn't a demo as such. I should probably make an executable at some point.

What I was going to post is that I still have Dark Data version 1.3 here and it still needs to be tested some. I am trying not to break the previous functionality although the header changes may do just that.

I've been working on something for a client who would like to have something running by November 14th (this Saturday) and it's taken all my time with the exception of sleep. I even eat while I'm working trying to meet this deadline. It looks like they may be behind schedule with the server so I doubt the 14th is reasonable.

Anyway, I'm a starving artist here so as soon as we get to a point where I can submit the code for testing and critiquing I'm going to go over Dark Data version 1.3 and see if I've broken anything. I have improved the speed and put in some functions that others have requested.

Rest assured, I'm nurturing my child into maturity.

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
OldPMan
TGC Store Seller
16
Years of Service
User Offline
Joined: 10th Aug 2008
Location:
Posted: 17th Nov 2009 16:51
problem:
couDFS = DFS COUNT( tempDFS )

Could not determine parameter type of 'DFS COUNT( tempDFS )' at line 4542.

why?

forall
Steele
21
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 18th Nov 2009 15:17
I got your e-mails and am looking into it. After reviewing what you've written (and the translation process from your English to mine ) I think I finally understand what you are saying so give me a little time and I will see if I can figure it out.

This is bizarre because it is such a simple function, only four lines of code internally. I can't imagine why it would do this. No one else has this problem. Weird.

What version do you have? I had one once that had it undocumented and the reason was that I was still working on the underlying system. It wasn't ready for release. The versions afterward were ready and thus documented.

Thanks, going back to your e-mails and see if I can try to duplicate the problem.

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
OldPMan
TGC Store Seller
16
Years of Service
User Offline
Joined: 10th Aug 2008
Location:
Posted: 18th Nov 2009 15:41 Edited at: 19th Nov 2009 02:13
mi install Setup-v120.exe,

realy sorry. this is only me mistake
I was wrong.
and with the Russian language it works
error here DFS Add Field tempDFS, "integer 10 as numba"
At first it was so DFS Add Field tempDFS, "string 10 as numba"
I forgot to remove the number 10

forall
OldPMan
TGC Store Seller
16
Years of Service
User Offline
Joined: 10th Aug 2008
Location:
Posted: 20th Nov 2009 00:11
Very useful PLUGIN.
THANK Steele.
I am very pleased....Ж

.....already beside..... for all
Steele
21
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 22nd Nov 2009 14:28
You're welcome. I'm glad it's all sorted out. *Whew*

Now, back to work on this one little project that has to be in by November 26th in time for the holiday rush that starts here in the US. That should give me time to do some final testing on Dark Data for the V1.3 release in time for December. Long overdue I know but I didn't want to put something out that I was afraid might break things without at least giving it a final test or be ready to notify everyone on what the changes will do. I'm going to suggest an export before update and then after the update import to make sure. I did change the way the headers work for some speed optimization and some enhancements so most likely we'll all have to do this. But then, that's why I wrote the import/export routines. LOL!!!

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
Digger412
18
Years of Service
User Offline
Joined: 12th Jun 2007
Location:
Posted: 26th Nov 2009 01:47
I have a question with the create kfs command - so far, I have just been using strings so I've been using the string length I had specified in the dfs add field command as the 'key length', but what would you use for the key length if you were using a byte or an integer? I'm sorry if I've overlooked something painfully obvious, though >.<.
ralthan
15
Years of Service
User Offline
Joined: 23rd Nov 2009
Location:
Posted: 1st Dec 2009 00:16
Can you store Images/Sprites etc. into a database and retrieve using Dark Data?
Steele
21
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 3rd Dec 2009 21:58
Sorry everyone, I've been sick and am getting better. I should have checked in so I apologize.

Images and sprites, not yet. I am planning it in version 1.4. I was going to push out 1.3 this past weekend but got ill after the US holiday, some kind of virus. With 1.4 I'd like to get images, compression, and encryption as functions. I still need to work on the GUI but that's a version 2.0 thing.

Now key length is another matter. Your integer is stored as an eight-byte representation (if I remember correctly) which can be anywhere between −9,223,372,036,854,775,808 to +9,223,372,036,854,775,807. But if you only need 0 to 9999 then you would use a key length of four. Bytes take one but they can be between 0 to 255 (or maybe -128 to 127) so you might need three or four bytes for it.

As an example: Let's say you are indexing on ages and you are using a byte in a table. For the key you would probably use ky$ = right$(str$(1000 + age), 3). Ian has a function I think to pad the string for you as well. It's something like ky$ = padleft$(age, "0", 3) but don't take my word for it.

In either case, if the age is equal to 23 let's say, then both functions would return "023" which sorts correctly.

I am working on making integer field indexing so that conversion to strings won't be necessary. That's just a bit harder than one would think but I have a plan.

Sorry this is long winded... I'll be back to work on this either tomorrow or most likely Saturday and maybe finally get 1.3 out with work on 1.4 coming soon.

Thanks,

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
OldPMan
TGC Store Seller
16
Years of Service
User Offline
Joined: 10th Aug 2008
Location:
Posted: 20th Dec 2009 07:55 Edited at: 20th Dec 2009 10:47
I have a problem with DFS CREATE FileNumber, FileName $, Encrypt
if Encrypt = 0, all in the normal
if Encrypt = 1 is also everything is fine but after you close the application and the next time you launch this application when working with this base string Field length is 300 and the application simply shuts down.
and when Encrypt = 0, all in the normal



Here in this Data base:
filess $ = dfs get $ (quadbase (ttt2, 1), "CRparam7")
why then - filess $="*(:"_ № );(_);"* № (?*:*?%**)_)((* №: *? "№ *;%" №:; % ": № (*"

.....already beside..... for all
Steele
21
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 28th Dec 2009 17:05 Edited at: 28th Dec 2009 17:09
Hi Russia,

I do not know. It looks like the encrypted data. Let me look at the program and see if I can duplicate the problem.

I'm a little late in responding but I was out quite a bit last week visiting family and enjoying the holidays.

[Update] Can you send me the part of the code that you are using to store data to this field?

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
Digger412
18
Years of Service
User Offline
Joined: 12th Jun 2007
Location:
Posted: 30th Dec 2009 16:29 Edited at: 30th Dec 2009 16:30
@Steele - I'm sorry that I didn't reply sooner, I meant to then it slipped my mind . Thanks for the info, I've looked through Ian's command index and there is a PADLEFT$( Source String, Pad String, Size) command. I was thinking of just using how many I needed (like byte with key length of 2), but I didn't know about the padding.

There was something else that I haven't been able to quite figure out yet, maybe it's just because I'm not looking at it right. I'm working on a basketball statistics tracking database, and I have my databases within it named Games, Players, and Teams. I want another database, Seasons, to be on a higher tier than the other three, like if it were a index. Should I just make Seasons a KFS instead of a regular database, since it would just be linking the other three at a specific point and sort by Seasons?

Here's how I have it setup, without Seasons as a database:
Steele
21
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 30th Dec 2009 19:12
Hi Digger,

If I understand correctly, you can do that. You can have more than one index per data file. Maybe you can try this as it might be what you need:

SeasonsGame.KFS - Key = Season + right$(str$(1000 + Gamenum), 3)
SeasonsTeam.KFS - Key = Season + right$(str$(1000 + Gamenum), 3)
SeasonsPlayer.KFS - Key = Season + right$(str$(1000 + Gamenum), 3)

Now when you use one of the season indexes, you will get it sorted by season by game number.

I am not at my development computer this morning so I can't create and test a mock-up for you. Hopefully this will lead you into the right direction.

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
Digger412
18
Years of Service
User Offline
Joined: 12th Jun 2007
Location:
Posted: 1st Jan 2010 18:20 Edited at: 1st Jan 2010 18:22
@Steele - Yes, that's what I'm looking for, but I don't quite understand it. I can understand that you're padding the Gamenum, but why did you add Season to it? And I assume that Key is the key length? I've never really messed with database organization or information storage, so I'm a little in the dark, sorry.

You mentioned about having more than one index per data file in your help documents, but I don't remember really seeing an example (unless I overlooked it, whoops).
Steele
21
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 4th Jan 2010 18:04
Ah, okay I understand your misunderstanding.

A key can be anything as long as it becomes a string in the end. Often times I will use several fields concatenated to make something unique. It really depends on what one is attempting to achieve.

So in this case, I took Season plus the GameNum so that it looks something like this: "Season 58 001" with a key length of 28.

Now when I traverse the list, not only is it in order of season but by game as well thanks to the multiple field assignments in a key.

I thought I had an example using a checkbook with three indexes and a single data file in a primer. Did I not pack that with the zip file? I'll go back and look here in a little bit.

Sorry for the delay, it was the new year's holiday and I'm moving in a family that just became homeless thanks to the crumbling economy. So things are a little bumpy but after a day or two more I think things will settle down. I'll be moving my office upstairs into my bedroom today which means having to install a wireless network card and finding the CD for the installation. Anyway, I'll get squared away and see what I can find. I'll type up a program a little later with an example of multiple fields per key.

Steele

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
Digger412
18
Years of Service
User Offline
Joined: 12th Jun 2007
Location:
Posted: 4th Jan 2010 18:41
@Steele - I thought you meant data file as an entry, but you meant it as a database. Yes, you do have the example of the check, that was my misunderstanding. I see what you mean about sorting by one of the season indexes, I understand the concept. What I don't understand is how you would actually set up the .KFS. Would you sort on two databases?

Thanks for helping me, I've been stuck here for a while. Personal things come first, I'm happy that I even have someone who can explain some of this.
Steele
21
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 4th Jan 2010 21:49 Edited at: 4th Jan 2010 21:49
I'm taking a break from cleaning out the closets.

One cannot reliably use one index for two databases (.dat files) because the pointers are linked to one database only although it is possible to keep two databases synced record for record. It's when deletions begin that pointers can begin changing.

In your case, I'd actually do it a little different.

Seasons.dat
===========
Seasonidx as long
Season 25 as string
Gamenum as byte

Teams.dat
=========
long as season
string 25 as name
string 25 as school
string 25 as coach
string 25 as player
... continue with the rest

Games.dat
=========
long as season
string 25 as oppTeam
string 25 as hostTeam
string 25 as Scorer
string 25 as gameTimer
... continue with the rest

Players.dat
===========
long as season
string 25 as name
string 25 as school
string 25 as team
string 25 as coach
... continue with the rest

Season-name.kfs
===============
key on Season length 25

Season-primary.kfs
==================
key on Seasonidx length 8

Games-primary.kfs
=================
key on Season length 8

Teams-primary.kfs
=================
key on Season length 8

Players-primary.kfs
===================
key on Season length 8

All three of your databases have the same season/game number information. Store that into a database of it's own and just link it with a simple number.

Here is an overview of what I have in mind:


This way everything can be linked by season and game number and you can query on the season.

I'd try to code this but can't do that right now. Maybe I can make a better graph when I get the chance with true graphics and some example code. Just think about what I'm trying to convey and it might click for you with an "Ah ha!" moment.

I've got to get back at the closets and moving everything upstairs...

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
Digger412
18
Years of Service
User Offline
Joined: 12th Jun 2007
Location:
Posted: 5th Jan 2010 00:31 Edited at: 5th Jan 2010 00:39
@Steele - Okay, I see what you mean about not reliably linking two databases, so I'd have to get rid of my GameNum.KFS and take it out of my databases too.

It looks like you're creating your own type, 'Seasonidx', and calling it 'long'. Then, it looks like you're making the 'Seasons' in the databases link to 'Seasonidx' through 'long', am I correct? Looks like you're doing the same for the 'Season' (string) and 'GameNum' (byte) too.

So, is this correct?
long as season->Seasonidx as season
string 25 as name->Season 25 as name (this does seem a little off)

I feel close to the 'Ah-ha' moment, it's in the back of my mind...now, if I could only remember my train of thought..

EDIT: Well, I thought I was close, but I don't understand how your .KFS are linked to the .DFS fields..I thought that the .KFS had to be of the same name as the .DFS field to sort on it.
Duffer
22
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 9th Jan 2010 13:39
@ Steele, eta for DarkDATA next version? what will it include/add?

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
Steele
21
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 10th Jan 2010 20:15
Digger, yes it is a little off. I had no way to test anything that I wrote at the time. It was just a concept I was trying to illustrate. The idea was to have a master file that linked the other files and then index those although there are other ways to do it such as simply having a second index per data file and not an extra set of data.

Duffer, it's now got a date field, a faster algorithm (not that a millisecond or less was slow to start with), a filter system (so that one can select just keys that contain whatever and zip through without having to test each record, a way to tie data and keys together automatically (although that may be in version 1.4 -- we'll see), a ZAP feature to completely clear a database without having to delete one record at a time. It would be great for temporary table usage. There were probably one or two other things but I don't remember off hand what they were.

When it comes out, I'll be suggesting that everyone export their data first before upgrading and then import afterward. The headers had to be restructured.

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
Duffer
22
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 10th Jan 2010 20:27
@ Steele,

Sounds great! Cant wait.

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
Flatlander
FPSC Tool Maker
18
Years of Service
User Offline
Joined: 22nd Jan 2007
Location: The Flatlands
Posted: 12th Jan 2010 23:08
I can't either. I've actually been waiting for the next version before I start using it. No pressure, Steele.

:::thinking to oneself, he better get this done fast:::

-----------------------------------------------
OliveTreeGames
Duffer
22
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 15th Jan 2010 19:41
@ Steele,

Excellent - any chance of a basic data entry, save, load, export utility as well - was mentioned somewhere back on the thread?

What sort of eta are we looking at for next release?

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
Digger412
18
Years of Service
User Offline
Joined: 12th Jun 2007
Location:
Posted: 16th Jan 2010 18:17
@Steele - I'm sorry, but I just don't understand. If you have the time, could you post a tutorial or somethng? If I had an example of what you're talking about, I think that would help me grasp what I need to do to get my database working in the fashion that I want. Like I said earlier, I'm still novice with programming and databases, I've never attempted anything like this before.
feiting shadow
18
Years of Service
User Offline
Joined: 12th Sep 2006
Location:
Posted: 16th Jan 2010 23:08
Digger, I'm not sure if this helps but: www.sqlcourse.com has a tutorial on this stuff and what primary keys are. Also,

From the Planet example, it appeared to me as if Change KFS meant changing tables. So if I had Planet Jupiter with Gravity of 9 and Planet Mars with Gravity of 4 (inaccurate Gravities, I know), I would have to use

Change KFS(Jupiter)

to get Jupiter's gravity, assuming Jupiter's data file contained a Float/Double of Gravity, and Change KFS() to later use the DFS commands to grab gravity, knowing that it's grabbing the appropriate gravity that I switched to using KFS() commands.

Also, I got confused reading your example Digger, along with the explanations from Steele (combined, they make sense separate somehow). But I think if you reversed the lines to look more like Season -> Name than Name -> Season, it might take a top-down more sensible approach. Though now I'm confused so don't rely on this.


Also, Havok, your posts would be perfectly valid if you used something fast-paced as a demonstration where your questions are necessary. Such as large-scale MMO's. If you ask questions without having an intended result, there's no use in information if it can't be demonstrated. Even metaphysics has teachings that show physical results, and once I learned this, I not once went back to "knowledge for the heck of knowledge". If it didn't help person A, it's not gonna help B or C or D. Luckily, your questions do have a use, and I think Omen and I could use 'em. So thanks for asking

And no I'm not telling you to probe further.

Signed
------
Digger412
18
Years of Service
User Offline
Joined: 12th Jun 2007
Location:
Posted: 22nd Jan 2010 01:49 Edited at: 22nd Jan 2010 01:51
@Shadow - Sorry, I didn't notice that you had posted. I went to the site, but I couldn't find the example of the planets, even when I ran a search. Could you provide a direct link, please?

Yeah, I can grasp the concept of what Steele's trying to show me, but I just don't know how to make it reality. In CBA last year, we did cover MS Access, but that was a year ago and you had a primary sort key and a secondary sort key, but as far as I know DD doesn't have a prim. and sec. sort key.
Steele
21
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 1st Feb 2010 17:18 Edited at: 1st Feb 2010 17:19
Sorry all... Life continues to get in the way. The past two weeks have been chaotic. Let me see if I can get the answers out and finally (I know, I know...) get this latest version out. It's done I was just testing it before life got turned upside down so I'll finish the testing and get it out at last... long last... long overdue.

Duffer: A version with basic data entry will most likely be a version 2.0 which is what I would like to concentrate on next. I had already started a little of it when the other requests came in and I needed to get 1.3 done. I'll need to get back to that.

Version 3.0 will have a built-in scripting language (already in the works as a proof-of-concept to myself that what I was thinking could be done).

Digger: DD doesn't have a primary and secondary key (yet) because you can choose which keys you want to use. With MS Access and others, the indexes are automatically opened and updated.

Flatlander: I'd say "patience" but you and others have waited far too long. Unemployment has made life a virtual disaster and for me a daily survival issue. Today I've got to talk to the mortgage company about my possibility for a home modification to see if it will get approved. If not, I may not be here much longer but moving in with whomever will take me. This is a small part of my two week disaster recovery.

I do want to get Dark Data updated and improved. It's my brainchild and I'm quite proud of the little module. It's my first and only so far and I've had a lot of good responses. I want to continue to nurture and make it grow.

Thanks everyone for your understanding,

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
Flatlander
FPSC Tool Maker
18
Years of Service
User Offline
Joined: 22nd Jan 2007
Location: The Flatlands
Posted: 1st Feb 2010 19:24
I'm so sorry to here of the setbacks. Will keep you in my thoughts and prayers. I hope you don't feel that I was pressuring you. It was more of a tongue-in-cheek post. I know you have a similar sense of humor that I have.

Whenever you get it done. I know you are more frustrated with this than anybody.

-----------------------------------------------
OliveTreeGames

Login to post a reply

Server time is: 2025-08-08 17:46:39
Your offset time is: 2025-08-08 17:46:39