AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DB-User-Verwaltung

Ein Thema von PhöniX · begonnen am 26. Feb 2004 · letzter Beitrag vom 26. Mär 2004
Antwort Antwort
PhöniX

Registriert seit: 24. Jan 2004
Ort: Marienfeld
149 Beiträge
 
Delphi 5 Professional
 
#1

DB-User-Verwaltung

  Alt 26. Feb 2004, 16:10
Hier nochmal zwei Fragen zur DB-User-verwaltung:

ACHTUNG: Thread schließt an folgenden an:klick

Zitat von PhöniX:
Hmm... Ich glaub das hat mich überzeugt den Vokabeltrainer nochmal komplett neu zu programmieren..
Aber zwei Fragen von Anfang an:

1. Der User soll Vokabeln SELBST editieren und hinzufügen. Aber wie sollte man das am besten verwalten? Nimmt man da ein DBGrid oder was anderes?

2. Ich hab irgendwo sch0n nenThread zu Select...From...Where gemacht. Ich will das jetzt auch so machen, aber ich bin etwas schwer von "kapisch" und versteh leider garnicht was man mit welcher komponente wo und wie und warum macht. Kann mir das netterweise auch noch jemand erklären?
cya PhöniX
besucht www.lycoweb.de
  Mit Zitat antworten Zitat
grayfox

Registriert seit: 22. Jan 2003
Ort: Litschau
173 Beiträge
 
Delphi 4 Standard
 
#2

Re: DB-User-Verwaltung

  Alt 26. Feb 2004, 17:08
hallo phönix!

startest ein remake?
'back to the roots' ist oft gar nicht so verkehrt, wenn man sich im dschungel der bites & bytes verfranzt hat

1) vokabelverwaltung

das hauptmenü könnte zb so aussehen:
[Programm] [Vokabel abfragen] [Vokabelverwaltung] [System] [Benutzer] [Hilfe]
- [About ...] - [starten - [erfassen] - [sprachen] - [anlegen] - [info]
- [Beenden] - [auswertungen] - [bearbeiten] - [themen] - [bearbeiten] - [handbuch]
- [suchen]
-[liste]

programmieren beginnt mit zettel und bleistift und nicht komponenten wahllos auf die form klatschen
in der planungsphase strukturierst du deine ideen (bzw die vorgaben) und ordnest sie logisch an

2) vokabel erfassen

was braucht man dazu?
- sprache, falls das programm multilinguial fungieren soll
- themenkreis zb, freizeit, schule, wirtschaft, allgemeines, usw... um bei den abfragen gezielt nach ausdrücken suchen zu können, welche zu diesen themen gehören

deshalb gibts im menüpunkt [system] die möglichkeit, diese kriterien erfassen zu können
--> muss vor dem vokabeleingeben ein formular erscheinen, in welchem man diese einträge einstellen kann (zb mittels comboboxen)

und natürlich eine eingabemaske ....
ein DBGrid ist eine gute idee zum anzeigen der bereits erfassten vokabel, aber zum editieren ist sie nicht so praktisch
dafür eignen sich DBEditfelder besser

--> doppelte einträge: wenn sowohl das deutsch- als auch das fremdsprachige wort gleich sind, dann soll der neue datensatz nicht aufgenommen werden.

--> was geschieht mit bereits abgefragten vokabel, die richtig beantwortet wurden? bzw mit nicht richtig beantworteten? sollen diese nochmals gewählt werden, so lange, bis die antwort stimmt?

--> gibts bei der beantwortung ein zeitlimit oder darf man sich unbegrenzt dafür zeit lassen

wie du siehst, kommen die ideen immer erst bei der arbeit

-----------------
die obenstehenden ideen & vorschläge solltest dir durch den kopf gehen lassen und überlegen, welche features dein programm noch umbedingt bieten soll
danach machst dich an die erstellung einer eingabemaske, die dem 'normalen' arbeitsablauf beim datenerfassen entspricht
d.h. oben zb das DBGrid und darunter die eingabefelder in der reihenfolge, wie sie zu befüllen sind
ganz unten setzt 3 buttons zb [übernehmen] [verwerfen] [zum menü]
ein suchbutton wär noch ganz praktisch, mit dem man die vokabelsuche aufrufen kann ... den setzt an den rechten rand der form.

wenn dir dein formular gefällt und du dich ohne viel tab-hopserei vom anfang bis zum ende durchhanteln kannst, machst dich an die erstellung der tabelle(n). welche felder wirst denn benötigen?

-------------------------------------------------------------------------------------------------------------------

2) select (feldname1, feldname2) from tabellenname where (feldname3 = 'guck_guck') order by feldname4

.... nennt man SQL (structured query language) und dient dazu, um zb tabelleninhalte abzufragen, berechnungen durchzuführen, usw
mit der BDE kannst du solche kontruktionen mittels einer TQuery abarbeiten lassen. du findest sie auf dem register
'datenzugriff' gleich neben der tabelle.

der obeige SQLString macht nichts anders, als die felder feldname1 und feldname2 aus der tabelle tabellenname auszuwählen und sie anzuzeigen. aber nicht alle, sondern nur jene, bei denen im feld feldname3 'guck_guck' eingetragen ist.
damit die anzeige etwas gleichschaut, wird das ergebnis sortiert nach dem inhalt des feldes feldname4 angezeigt - das könnte zb ein datumsfeld sein

Zitat:
Ich will das jetzt auch so machen
warum auch nicht? für manche dinge sind tables praktischer, für andere wiederum queries.

----------------------------------------------------------------------------------------

fang aber jetzt bitte nicht an eine query aufs formular zu klatschen, das hat noch jede menge zeit

mfg, stefan
  Mit Zitat antworten Zitat
PhöniX

Registriert seit: 24. Jan 2004
Ort: Marienfeld
149 Beiträge
 
Delphi 5 Professional
 
#3

Re: DB-User-Verwaltung

  Alt 27. Feb 2004, 13:10
Zitat von grayfox:
1) vokabelverwaltung

das hauptmenü könnte zb so aussehen:
[Programm] [Vokabel abfragen] [Vokabelverwaltung] [System] [Benutzer] [Hilfe]
- [About ...] - [starten - [erfassen] - [sprachen] - [anlegen] - [info]
- [Beenden] - [auswertungen] - [bearbeiten] - [themen] - [bearbeiten] - [handbuch]
- [suchen]
-[liste]
kein plan..........

Zitat von grayfox:
...wenn dir dein formular gefällt und du dich ohne viel tab-hopserei vom anfang bis zum ende durchhanteln kannst, machst dich an die erstellung der tabelle(n)...
hmm... Also soll ich nachdem ich alles aufm Papier usw. hab die Forms machen und alle Komponenten drauf machen (aber noch keine proceduren) und dann NUR die proceduren für das öffnen andrer forms und wenn man dann überall gut hinkommt (Navigation erledigt...) dann soll man erst mit den andren proceduren anfangen?? Oder wie soll man das jetzt verstehen

Zitat von grayfox:
select (feldname1, feldname2) from tabellenname where (feldname3 = 'guck_guck') order by feldname4
Ja ok..so weit so gut...
Aber WO kommt denn nun der Code hin und WIE und WANN greift amn auf ihn zu??
Soweit ich weiß ist das ja kein Delphi-Code...
cya PhöniX
besucht www.lycoweb.de
  Mit Zitat antworten Zitat
grayfox

Registriert seit: 22. Jan 2003
Ort: Litschau
173 Beiträge
 
Delphi 4 Standard
 
#4

Re: DB-User-Verwaltung

  Alt 27. Feb 2004, 14:38
sorry, mir ist die formatierung abhanden gekommen
das ganze ist nämlich lustig...
beim ersten mal auf vorschau klicken waren die zwischenräume noch da, erst beim zweiten mal wurden sie eleminiert

ich hoffe, jetzt ist es klarer verständlich

Code:
mainmenü:
[Programm]    [Vokabel abfragen]  [Vokabelverwaltung]  [System]     [Benutzer]    [Hilfe]
- [About ...] - [starten]         - [erfassen]         - [Sprachen] - [anlegen]   - [Info]
- [Beenden]   - [auswertungen]    - [bearbeiten]       - [Themen]   - [bearbeiten] - [Handbuch]
               - [suchen]          -[liste]
Zitat:
die Forms machen und alle Komponenten drauf machen (aber noch keine proceduren) und dann NUR die proceduren für das öffnen andrer forms
richtig. zuerst erstellt man das gerüst und danach bewurzelt man die details. wenn du ein haus baust, dann beginnst auch mit dem rohbau und nicht mit dem vorhängeaufhängen
der vorteil dabei ist, dass man gleich alle benötigten komponenten hinstellt und so schon von vornherein ihren platzbedarf erkennt. hinterher noch irgendwo schnell was einfügen artet meist in ein geduldsspiel aus

es hat sich als praktisch erwiesen, alle formulare mit ausnahme des hauptformulars (zb MainDlg) und des datenmoduls (DM) erst zur laufzeit erstellen zu lassen. es werden ohnehin nicht immer alle aufgerufen und daher belegen sie nur unnötig speicherplatz. man sollte auch den forms sprechende namen geben (VokabelAnlegenDlg sagt mehr als als Form97 - stimmts? )

wozu brauchst denn jetzt schon proceduren? willst schon deinen zufallsgenerator irgendwo einbauen? *gg*

jetzt gehts mal ans erstellen der tabellen. am schnellsten & einfachsten mit der DBO. das erste feld jeder tabelle taufst immer 'ID', definierst es, wegen meiner, als autoinc und setzt den primärschlüssel drauf.
beginn einmal mit der zentralen vokabeltabelle. damit man sieht, dass es sich im eine tabelle handelt, stelle ich 'tbl' vor dem namen, als zb 'tblVokabel'
folgende felder wirst umbedingt brauchen:
ID, Deutsch, Fremdsprache, Thema, richtig, beantwortet

so weit alles klar? na dann mal frisch ans werk!

Zitat:
Aber WO kommt denn nun der Code hin und WIE und WANN greift man auf ihn zu??
wenn du ein TQuery auf die form ziehst, findest du in seinem OI die eigenschaft 'SQL'
ein doppelklick auf (TStrings) öffnet den SQL-Editor und dort schreibst du das SQL-Statement rein.
abgearbeitet wird das SQL-Statement jedesmal, wenn du Query.SQL.Open aufrufst, vorausgesetzt, du willst eine datenmenge zurückgeliefert haben. willst du aber einträge dazufügen, ändern oder löschen, dann rufst du seine methode 'ExecSql' auf.

mfg, stefan
  Mit Zitat antworten Zitat
PhöniX

Registriert seit: 24. Jan 2004
Ort: Marienfeld
149 Beiträge
 
Delphi 5 Professional
 
#5

Re: DB-User-Verwaltung

  Alt 27. Feb 2004, 20:33
OK...Das ist wirklich nett von dir..
Ich fang nun an...
Wenn noch Fragen auftauchen (und das passiert ganz bestimmt ) poste ich wieder...

THX
cya PhöniX
besucht www.lycoweb.de
  Mit Zitat antworten Zitat
PhöniX

Registriert seit: 24. Jan 2004
Ort: Marienfeld
149 Beiträge
 
Delphi 5 Professional
 
#6

Re: DB-User-Verwaltung

  Alt 27. Feb 2004, 20:51
hätte da noch ne kleine organisatorische frage..

wie baust du immer so eine "zeichnung" mit bleistift und papier auf??
und was soll das mit den bildschirmmasken sein??
cya PhöniX
besucht www.lycoweb.de
  Mit Zitat antworten Zitat
grayfox

Registriert seit: 22. Jan 2003
Ort: Litschau
173 Beiträge
 
Delphi 4 Standard
 
#7

Re: DB-User-Verwaltung

  Alt 27. Feb 2004, 21:25
Zitat:
Ich fang nun an

ich dachte, du bist schon am arbeiten?
dann mach das beste draus. wennst nicht weiter weisst, meld dich ruhig

papier & bleistift:
ich habs mir angewöhnt, die bildschirmmasken zuerst mal zu skizzieren. das ist gar nicht so unpraktisch, vor allem, wenn eine ganze menge dialogkomponenten auf der form platz finden sollen.
auf diese art erstell ich einge entwürfe, bis mir endlich die maske gefällt und die felder, knöpfe, listboxen, datengitter usw in einer für mich logischen anordnung und reihenfolge platziert sind. danach übernehm ich den entwurf auf die form.

bleib bei deiner formgrösse auf max 800 x 600 (770 x 580), damit auch 15"-monitor user die ganze maske in einem stück betrachten können und übertreibs mit den farben, skins, hintergrundbildern nicht. deine augen werden es dir danken *g*

dann wünsch ich dir viel spass & gutes gelingen

mfg, stefan
  Mit Zitat antworten Zitat
PhöniX

Registriert seit: 24. Jan 2004
Ort: Marienfeld
149 Beiträge
 
Delphi 5 Professional
 
#8

Re: DB-User-Verwaltung

  Alt 2. Mär 2004, 17:50
Ich will jetzt die Seite für die Vokabelverwaltung (List,Suchen;Verändern) alles in EINER form haben....
Habt ihr da vorscläge für die platzanordnung?
Ich hab mal ein in POaint skizziert (im anhang)
Miniaturansicht angehängter Grafiken
verwaltung.jpg  
cya PhöniX
besucht www.lycoweb.de
  Mit Zitat antworten Zitat
PhöniX

Registriert seit: 24. Jan 2004
Ort: Marienfeld
149 Beiträge
 
Delphi 5 Professional
 
#9

Re: DB-User-Verwaltung

  Alt 26. Mär 2004, 20:33
Zitat von grayfox:
der obeige SQLString macht nichts anders, als die felder feldname1 und feldname2 aus der tabelle tabellenname auszuwählen und sie anzuzeigen.
Wo denn anzeigen??

Und wie sortiert? Alphabetisch??
cya PhöniX
besucht www.lycoweb.de
  Mit Zitat antworten Zitat
grayfox

Registriert seit: 22. Jan 2003
Ort: Litschau
173 Beiträge
 
Delphi 4 Standard
 
#10

Re: DB-User-Verwaltung

  Alt 26. Mär 2004, 22:35
hallo julian!

bist schon fest am coden?

@sortieren: ohne zusatz ist die suchrichtung aufsteigend, mit 'DESC' ist es dann umgekehrt.

@anzeigen: eine query stellt dir grundsätzlich eine datenmenge bereit. wenn diese query nun an einer datasource hängt und an dieser wiederum 'gebundene DB-komponenten', dann wird in diesen die datenmenge angezeigt.
du kannst allerdings auch mit  Query1.FieldByName('feldname').asIrgendwas auf den dateninhalt zugreifen und ihn in einem 'gewöhnlichen' editfeld anzeigen lassen.

im verzeichnis 'Gemeinsame Dateien\Borland Shared\BDE' findest du das file 'localsql.hlp'. darin gibts jede menge infos zum umgang mit queries

aber für ein vokabelprogramm würde ja auch TTable & Locate ausreichen - denn die antwort wird in den meisten fällen ja nur ein datensatz sein, oder?

mfg, stefan
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz