Seite 3 von 5
Verfasst: 30.07.2009 09:38
von mikstart
mk-soft hat geschrieben:Das ist doch nicht viel Code
Lof(...) funktioniert doch richtig. Habe mal den Code überarbeitet
für mich schon, im moment noch
für das das man daten speichert und ausliest mit datensatznummern.
nochmals danke
gruss mik
Verfasst: 30.07.2009 10:43
von Kiffi
mikstart hat geschrieben:@Kiffi und Kaeru Gaman
lasst mich erst mal laufen lernen und die ganzen grund begriffe von pure basic verstehen, in ein paar monaten können wir mal über sql reden.
sicherlich obliegt die Entscheidung, welchen Weg zu gehen möchtest ganz bei
Dir.
Momentan sehe ich das aber eher so, dass Du unbedingt ein totes Pferd
reiten willst, weil Du der Ansicht bist, durch Deine Kenntnisse in QBasic mit
den Dir vertrauten Befehlen (Konsole, Put & Get) besser voranzukommen.
Put & Get muss nachprogrammiert werden. Diese Arbeit wird Dir ja bereits
freundlicherweise von Michael abgenommen. Zusätzlich bekommst Du von
den Kollegen Hintergrundinformationen.
All dieser Aufwand, damit Du QBasic vertraute Funktionalitäten verwenden
kannst, die Du dann sowieso in absehbarer Zeit gegen PB-Funktionen
ersetzen wirst?
Grüße ... Kiffi
Verfasst: 30.07.2009 12:16
von mikstart
Momentan sehe ich das aber eher so, dass Du unbedingt ein totes Pferd
reiten willst, weil Du der Ansicht bist, durch Deine Kenntnisse in QBasic mit
den Dir vertrauten Befehlen (Konsole, Put & Get) besser voranzukommen.
Put & Get muss nachprogrammiert werden. Diese Arbeit wird Dir ja bereits
freundlicherweise von Michael abgenommen. Zusätzlich bekommst Du von
den Kollegen Hintergrundinformationen.
All dieser Aufwand, damit Du QBasic vertraute Funktionalitäten verwenden
kannst, die Du dann sowieso in absehbarer Zeit gegen PB-Funktionen
ersetzen wirst?
Grüße ... Kiffi
zwar wurde der befehl put und get nachprogrammiert aber dieser eben in pure basic, also lerne ich aus dem code von michael wieder etwas dazu.
natürlich werde ich irgendwann auf sql umsteigen, aber bevor ich sql lerne möchte ich purebasic lernen.
gruss mik[/quote]
Verfasst: 30.07.2009 13:01
von Kiffi
mikstart hat geschrieben:aber bevor ich sql lerne möchte ich purebasic lernen.
wie gesagt: das sei Dir voll und ganz überlassen, aber noch eine kleine
Anmerkung an dieser Stelle:
OpenDatabase(), DatabaseQuery(), DatabaseUpdate() und CloseDatabase()
sind ebenfalls PureBasic-Befehle
Grüße ... Kiffi
Verfasst: 30.07.2009 13:15
von Little John
Oder man kann kleinere Datenbanken (um die es hier ja wohl geht) auch z.B. als XML-Dateien realisieren ... ohne SQL.

XML kann PureBasic von Hause aus.
Gruß, Little John
Verfasst: 30.07.2009 13:22
von Kiffi
Little John hat geschrieben:z.B. als XML-Dateien
... oder CSV, oder Preference-Dateien (sofern nicht die max. Größe
überschritten wird), oder, oder. Der Möglichkeiten sind viele.
Allerdings halte ich persönlich XML für einen QBasic-Umsteiger für eine Ecke
zu kompliziert. Da ist man schnell mal in der falschen Struktur und
liest oder beschreibt den falschen Node.
Grüße ... Kiffi
Verfasst: 30.07.2009 13:29
von ts-soft
Kiffi hat geschrieben:
Allerdings halte ich persönlich XML für einen QBasic-Umsteiger für eine Ecke
zu kompliziert. Da ist man schnell mal in der falschen Struktur und
liest oder beschreibt den falschen Node.
Grüße ... Kiffi
Ich finde XML einfacher, weils logischer ist, SQL ist zu abstrakt, das lag mir
noch nie.
SQL ist als wenn ich mit der Datenbank reden möchte

Verfasst: 30.07.2009 13:35
von Kiffi
ts-soft hat geschrieben:SQL ist als wenn ich mit der Datenbank reden möchte

dann musste Dir aber ooch ne Datenbank aussuchen, die SQL mit Berliner
Dialekt versteht. Dann klappt's ooch mitten Abfragen
Jrüße ... Kiffi (kann nur Ruhrpott-Deutsch, sorry)
Verfasst: 30.07.2009 13:39
von ts-soft
> Jrüße ... Kiffi (kann nur Ruhrpott-Deutsch, sorry)
Ich kann höchstens ein bißchen Platt-Snacken (Hamburger), Berliner am
liebsten mit Erdbeerfüllung
Gruß .. Thomas
Verfasst: 30.07.2009 15:13
von Kiffi
Kiffi hat geschrieben:Little John hat geschrieben:z.B. als XML-Dateien
... oder CSV, oder Preference-Dateien (sofern nicht die max. Größe
überschritten wird), oder, oder. Der Möglichkeiten sind viele.

hier mal die Preference-Variante:
Code: Alles auswählen
EnableExplicit
Structure sItem
Bezeichnung.s
Anzahl.s
Preis.s
EndStructure
Global Datenbankname.s = "items.db"
Procedure GetX(Datensatznummer, *myItem.sItem)
OpenPreferences(Datenbankname)
*myItem\Bezeichnung = ReadPreferenceString("Bezeichnung" + Str(Datensatznummer), "[leer]")
*myItem\Anzahl = ReadPreferenceString("Anzahl" + Str(Datensatznummer), "[leer]")
*myItem\Preis = ReadPreferenceString("Preis" + Str(Datensatznummer), "[leer]")
ClosePreferences()
EndProcedure
Procedure PutX(Datensatznummer, *myItem.sItem)
Protected ReturnValue
If FileSize(Datenbankname) = -1
ReturnValue = CreatePreferences(Datenbankname)
Else
ReturnValue = OpenPreferences(Datenbankname)
EndIf
If ReturnValue
WritePreferenceString("Bezeichnung" + Str(Datensatznummer), *myItem\Bezeichnung)
WritePreferenceString("Anzahl" + Str(Datensatznummer), *myItem\Anzahl)
WritePreferenceString("Preis" + Str(Datensatznummer), *myItem\Preis)
ClosePreferences()
EndIf
EndProcedure
Define Datensatznummer
Define NewItem.sItem
; ein paar Items anlegen...
For Datensatznummer = 800 To 900
NewItem\Bezeichnung = "Bezeichnung" + Str(Datensatznummer)
NewItem\Anzahl = "Anzahl" + Str(Datensatznummer)
NewItem\Preis = "Preis" + Str(Datensatznummer)
PutX(Datensatznummer, @NewItem)
Next
; ... und wieder auslesen
For Datensatznummer = 800 To 900
GetX(Datensatznummer, @NewItem)
Debug "Datensatz Nr. " + Str(Datensatznummer) + ":"
Debug "----------------------"
Debug "Bezeichnung: " + NewItem\Bezeichnung
Debug "Anzahl: " + NewItem\Anzahl
Debug "Preis: " + NewItem\Preis
Debug ""
If Datensatznummer > 810 ; Zu testzwecken reicht es, nur ein paar Datensätze auszugeben
Break
EndIf
Next
Grüße ... Kiffi
// Edit: Aus kompetenter Wissensquelle (Danke an Thomas!) habe ich
erfahren, dass die oben erwähnte Größenbegrenzung für Preference-
Befehle nicht zutrifft.