Datenbank per Datei?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Chrise

Betreff: Datenbank per Datei?

BeitragDi, Feb 27, 2007 19:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!
Ich bin jetzt soweit, dass ich Dinge speichern will...
aber nicht nur 3 oder 4, sondern sagen wirs so beliebig viele.
Das ist nämlich so:
Ich habe einen Import-editor im Programm intern, sodass man Datein aufrufen kann und eine transparente farbe auswählen kann.
Sobald das passiert ist, soll das Programm die Farbwerte den Namen und die Platznummer abspeichern.
Ich habe jetzt schon 2 Tage rumprobiert komme aber mit den Befehlen ned klar...

Ich möchte dass er später zu einer gespeicherten Nummer die Daten raussucht die unter der Nummer gespeichert sind und auslesen kann.

Leider hab ich keine Ahnung ob das mit einer Dat datei überhaupt geht??

Plz ich bitte euch um rat...
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

Eingeproggt

BeitragDi, Feb 27, 2007 19:23
Antworten mit Zitat
Benutzer-Profile anzeigen
So allgemein, wie deine Frage gestellt ist, kann ich nur allgemein antoworten:
Ja, das geht mit dat und den Stream-Befehlen von BB.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Chrise

BeitragDi, Feb 27, 2007 19:30
Antworten mit Zitat
Benutzer-Profile anzeigen
jauw das ist mal ne gute nachricht.

Also weiter^^
Im Tutorial steht folgendes:
Code: [AUSKLAPPEN]
SEEKFILE
Dieser Befehl verschiebt die aktuelle Dateiposition einer Datei.


Datei in Datei oO
Was meint der Tutorialmacher damit? Kapier ich ned...

Code: [AUSKLAPPEN]
FILEPOS
Diese Funktion ermittelt die aktuelle Dateiposition von Anfang einer Datei, die mit OPENFILE, READFILE oder WRITEFILE geöffnet wurde. Dies kann man fürs Speichern und Laden verwenden, denn ab dieser Position erfolgt der nächste Schreib-/Lesevorgang. Mit SEEKFILE kann die Dateiposition dagegen verschoben werden.


Was macht Filepos genau?

häää??
Bitte hilfe Sad
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

Eingeproggt

BeitragDi, Feb 27, 2007 19:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Also weiter^^

Stell dir das ganze wie eine gute alte Schallplatte mit Lesekopf vor.

Filepos sagt dir, wo dein Lesekopf gerade ist (in Bytes - Aufpassen bei Floats(ich glaub 4 Byte), Ints (=4Byte), Short (=2Byte) und natürlich Strings (beliebig viele Bytes, jedes Zeichen eines)

SeekFile verschiebt den Lesekopf, Angabe in Bytes. Auch hier mit den verschiedenen Datentypen aufpassen.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Chrise

BeitragDi, Feb 27, 2007 20:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmmm okay also so ungefähr versteh ichs^^
Aber noch ned im zusammenhang...
Also nehmen wir an, man könnte die dat datei wie ne Textdatei sehen.
Dann stell ich mir das so vor wie das dann aussehen solte:
Code: [AUSKLAPPEN]

Sortierzahl=3

Nr. 1
1.png
r=255
g=0
b=0

Nr.2
2.png
r=207
g=183
b=0


Die Sortierzahl bestimmt praktisch wo die nächste Nummer und das darunter jeweils geschrieben wird.

Aber so wie ich das bisjetzt probiert hab geht das ned.
Also... bisher hab ich die Sortiervariable mit Seekfile,1
Ausgelesen... dann hab ich wieder seekfile,sortiervariable gemacht und dann sollte der schreiber mit dem schreiben bei der sortiervariale anfangen ( am anfang auf 5, da int ja 4 bytes braucht)
nachdem schreiben was auch gefunzt hat sollte die sortiervariable so viel dazugezählt bekommen das er beim nächsten schreiben nichts überschreibt.
Doch irgednwie wird das ignoriert und er überschriebt.
Bin ratlos Sad
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.
 

Yogu

BeitragDi, Feb 27, 2007 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Das hört sich so an, wie wenn du mit Seekfile und Filepos die Zeilennummer meinst, aber das ist die Zeichennummer. Mein Tipp (Ich weiß nicht, ob das so gut ist, aber ich mach das immer so): Lade zuerst die ganze Datei in ein Array (mit Readline) und greife dann auf die einzelnen Zeilen zu. Dann kannst du zum Speichern gemischt die alten Daten aus dem Array und die neuen Daten speichern.

Eingeproggt

BeitragDi, Feb 27, 2007 20:12
Antworten mit Zitat
Benutzer-Profile anzeigen
hm, also das, was du erzählst hat irgendwie keinen Zusammenhang mit der "Datei", die du darüber herzeigst.

In deiner Datei stehen nämlich mehr oder weniger Strings.

Eine Int erscheint im Texteditor allerdings als 4 Ascii-Zeichen, die für den Menschen keinen Sinn ergeben. (zB ♀Y )

Also wirst du aus DIESER Datei nichts mit ReadInt auslesen können.

Bevor du fragst: Ints in eine Datei schreiben (mit beliebiger Endung, das macht für BB keinen Unterschied) kannst du am besten mit BB selbst und nicht im Windows-Texteditor.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragDi, Feb 27, 2007 20:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Um Werte an eine vorhandenen Datei anzuhängen musst du mit seekfile ans Ende der Datei springen
Code: [AUSKLAPPEN]

dateihandle=openfile(("Mein Filename.dat")); Datei zum lesen{schreiben öffnen
seekfile dateihandle, Filesize("Mein Filename.dat"); an Dateiende springen
writeline dateihandle,"blabla"; Daten einfügen
closefile dateihandle; Datei schliesen Wichtig!!!
[BB2D | BB3D | BB+]

Chrise

BeitragDi, Feb 27, 2007 20:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Very Happy
du verstehst mich da falsch Sad

ich meinte rein theorethisch, wenn man es könnte.
Das essolche Asccii zeichen sind habe ich schon festgestellt Razz
ich meinte nur in der reihenfolge wie das da drinstehen sollte...

EDIT: @Rallimen, super, genau das hab ich unter anderem auch gesucht Smile
thx^^
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group